180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题

解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题

事件:最近几天收到几个反馈说,原本能用的APP现在启动直接闪退.

时间:2018年5月8日 10:45:22

[√]问题原因猜测4:

虽然终于知道哪里出问题了,但是该代码是必须要保留的,否则本地数据库就完全无法使用了.那么该如何解决不能读取的问题? 还是通过打点,排除法,一步步的发现可疑代码.

Log.e("--------------", "" + R.string.sql_db_version);
Log.e("--------------", "" + R.string.sql_CreateDB);
Log.e("--------------", "" + R.string.sql_UpgradeDB);
Log.e("--------------", getString(R.string.sql_db_version));
Log.e("--------------", getString(R.string.sql_CreateDB));
Log.e("--------------", getString(R.string.sql_UpgradeDB));

最终的确发现日志的输出有可疑的地方:仅在getString(R.string.sql_CreateDB)时出现曾经的问题了.

05-08 17:28:12.125 E/--------------(24311): 2131362643
05-08 17:28:12.125 E/--------------(24311): 2131362571
05-08 17:28:12.125 E/--------------(24311): 2131362576
05-08 17:28:12.125 E/--------------(24311): 74
05-08 17:28:12.125 W/ResourceType(24311): Bad string block: string #14 is not null-terminated

在看了三个字符串实际内容时,发现 sql_CreateDB 的字符串刚好是长度最长的! 那么理论上无论在哪里调用 getString(R.string.sql_CreateDB) 都将会触发崩溃.

实际测试后,将该代码放入Activity里再调用,的确是崩溃了.而且Java层应用的UncaughtExceptionHandler也捕获不了此类底层错误.

经过手工边界值测试,发现当XML里的string里存储的字符长度最大值为:

  • [√正常]<= 10922 个中文字符
  • [×崩溃]>= 10923 个中文字符
  • [√正常]<= 10922 个中文字符 + 1个英文字符A
  • [×奔溃]>= 10922 个中文字符 + 2个英文字符A
  • [×奔溃]>= 10922*3=32766 个英文字符A + 2个英文字符A
  • [×奔溃]>= 34000 个英文字符A
  • [√正常]<= 10922*2=21844 个英文字符A + 1个英文字符A
  • [√正常]>= 10922*3=32766 个英文字符A + 1个英文字符A

short 占用内存空间2个字节,也就是16个二进制位。 表示负数时,最高位为符号位(负数的符号位为1),最高位为符号位(正数的符号位为0),最大的正数为0111 1111 1111 1111 即2^15 – 1 = 32767

看到这个数字于是一个大胆的猜测浮现脑中:

  • VIVO为了解决Android的某个类似堆栈溢出的安全问题,在2018-04-01打了一个对应的安全补丁
  • 影响的代码因为是在 libandroidfw.so 文件里
  • 影响的范围应该就是 nativeGetString 时的允许的最大字符串长度

个人猜测:原本未修复前,这个最大字符串长度应该是没有设置的,所以才出现类似堆栈溢出的漏洞.

  • 最大字符串长度类型被有意或者无意改为了 short 类型?? 为什么呢?? 为了节约内存?? 节约内存也不应该在”安全补丁”里处理吧?
  • 现在修复之后,将其设置成了某个值,字符串长度大于这个值时就返回null
  • 于是APP从最底层就崩溃了.

参考资料

Maximum length of string allowed as a value (8192 characters).

最终解决方案

既然是字符串长度超标导致的,那么可以

  1. 将其拆分成多个不同的 XML String 里.
  2. 将单张表的建表SQL放入 XML 的 String 数组里
  3. (最终采用的方案)将其放入 assets 目录里单独读取
  • TODO:会减少内存占用否??
  • TODO:会增加读取时间否??
  • 会减少 resources.arsc 大小
    • resources.arsc: 原压缩后大小:505.15 现压缩后大小:398.73 减少大小: 106.42KB
  • 总压缩比有所提升(总大小减少)
    • assets: 原压缩后大小:24.88 现压缩后大小:38.58 增加大小: 13.7KB
    • 总减少大小: 106.42KB – 13.7KB = 92.72KB
    • 总的压缩比提升了,猜测原因是打包后的APK文件里 resources.arsc 文件默认是不压缩的,而 assets文件夹默认则是使用Deflate压缩算法压缩了.所以总的来说减少APK文件大小了.

参考资料:

[√]问题原因猜测3:

主要通过分析LogCat里的整个崩溃堆栈backtrace,从几个Android函数猜测可能在Application里初始化SQLiteOpenHelper导致的问题.

: backtrace:
:     #00 pc 00018480  /system/lib/libandroidfw.so (_ZNK7android13ResStringPool9string8AtEjPj+147)
:     #01 pc 0009d6f7  /system/lib/libandroid_runtime.so
:     #02 pc 019d6287  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.nativeGetString+98)
:     #03 pc 019d6609  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.get+324)
:     #04 pc 019bca3b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceValue+126)
:     #05 pc 019bc75b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceText+70)
:     #06 pc 019d1adf  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.ResourcesImpl.getText+90)
:     #07 pc 019cc583  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getText+46)
:     #08 pc 019cc34b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getString+38)
:     #09 pc 01735ff5  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.Context.getString+56)
:
:     ……
:
:     #20 pc 000ae413  /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
:     #21 pc 0194fc85  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked+760)
:     #22 pc 0195029d  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.database.sqlite.SQLiteOpenHelper.getWritableDatabase+56) 
:     #23 pc 000a99c1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
:
:     ……
:
:     #55 pc 017b6e0b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.handleCreateService+662)
:     #56 pc 017b01ed  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.-wrap5+48)
:     #57 pc 017aceab  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread$H.handleMessage+4126)
:     #58 pc 017aa74f  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.os.Handler.dispatchMessage+114)
:     #59 pc 01d7ee87  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.os.Looper.loop+714)
:     #60 pc 017bbcab  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.main+438)

参考资料:

尝试解决 [√成功]

  1. 将 继承自Application的子类的 onCreate 里的 所有代码都移除
  2. 然后打包到 远程真机 VIVO X21A 终于没有 闪退了!

继续缩小定位到真正出错的代码行
原来是因为继承自Application的子类的 onCreate 里的有使用一行SQLite初始化代码需要从 R资源文件里读取建表SQL导致的问题!

class VSfaApplication extends BaseApplication
{
    @Override
    public void onCreate()
    {
        super.onCreate();
        //注释掉就不会崩溃了.
        //DBHelper.init(this, "VSFA", Utils.obj2int(this.getString(R.string.sql_db_version), 0), R.string.sql_CreateDB, R.string.sql_UpgradeDB);
    }
}

[×]问题原因猜测2:

主要通过分析LogCat里的崩溃堆栈backtrace,猜测可能是某些特殊字符串导致的问题?

ResourceType: Bad string block: string #14 is not null-terminated

: backtrace:
:     #00 pc 00018480  /system/lib/libandroidfw.so (_ZNK7android13ResStringPool9string8AtEjPj+147)
:     #01 pc 0009d6f7  /system/lib/libandroid_runtime.so
:     #02 pc 019d6287  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.nativeGetString+98)
:     #03 pc 019d6609  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.get+324)
:     #04 pc 019bca3b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceValue+126)
:     #05 pc 019bc75b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceText+70)
:     #06 pc 019d1adf  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.ResourcesImpl.getText+90)
:     #07 pc 019cc583  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getText+46)
:     #08 pc 019cc34b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getString+38)
:     #09 pc 01735ff5  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.Context.getString+56)

尝试解决 [×失败]

  1.  AndroidManifest.xml 删除所有只保留一个非常单纯的Activity作为 android.intent.category.LAUNCHER
  2. 在测试机测试时保证能正常启动到空白界面.
  3. 然后打包到 远程真机 VIVO X21A 还是 闪退了!

[×]问题原因猜测1:

主要通过分析LogCat猜测可能是 native 层出现未知异常

ResourceType: Bad string block: string #14 is not null-terminated
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xe858eaf7
ActivityManager: net.azyk.sfa crash because Native crash

貌似还是跟权限相关的异常:

SEGV_ACCERR means you tried to access an address that you don’t have permission to access
Android — SEGV_MAPERR,SEGV_ACCERR – CSDN博客

项目使用的.SO类库有:

1. libZBarDecoder.so
    条码,二维码扫描组件
2. liblocSDK6a.so
    百度定位组件
3. libbdpush_V2_7.so
    百度推送组件

因为系统尚未渲染任何界面即闪退,那么很大可能是在Application里的初始化代码触发了.SO类库的初始化

尝试解决 [×失败]

  1. 重新打包APK将所有JNI类库都删除掉.

测试结果:

  1. 远程真机 VIVO X21A 还是闪退
  2. 真机ZUK Z2 7.1.2 正常打开
  3. 天天模拟器4.4.4版本 正常打开

根据线索尝试重现问题 [√成功]

  1. 使用Testin远程真机服务 选择VIVO一样的8.1.0系统,安装同样的APP版本,没有出现闪退的情况. (不过 Android 安全补丁程序级别 貌似不是 2018-04-01 )

《180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题》

  1. 将远程真机检测系统升级到最新版本后, Android 安全补丁程序级别 变为 2018-04-01 后,再次尝试安装APP,完美重现闪退场景!

线索:

  1. 手机品牌都是VIVO

  2. Android系统版本有7.1.2和8.1.0

  3. Android 安全补丁程序级别 貌似都是 2018-04-01 (从几个人的反馈截图可见,Android版本不一样的情况下,补丁日期是相同的)

  4. 最近貌似都有过升级手机系统,或者换新手机的情况(最近新款VIVO手机内置最新版本8.1.0系统)。

  5. 点击APP图标直接一闪而过,没有看见任何界面被渲染出来(从微信小视频里看到的)

  6. 通过远程控制某位反馈人员的电脑间接控制其手机拿到了LogCat日志信息如下

     05-08 10:01:01.656  3112  3112 D Launcher:  click shortcut info is ShortcutInfo(title=海汇通intent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.azyk.sfa/net.azyk.framework.SystemLauncherFixerActivity bnds=[289,67][535,315] }id=77 type=30 container=-100 screen=2 cellX=1 cellY=0 spanX=1 spanY=1 isGesture=false dropPos=null)
     05-08 10:01:01.660  1501  2392 E ActivityManager: Sending non-protected broadcast com.vivo.abe.third.lifecontrol from system uid 1000 pkg null
     05-08 10:01:01.660  1501  2392 E ActivityManager: java.lang.Throwable
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:20249)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:20755)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:434)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1239)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:5508)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:5442)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:168)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3321)
     05-08 10:01:01.660  1501  2392 E ActivityManager: 	at android.os.Binder.execTransact(Binder.java:565)
     05-08 10:01:01.661  1501  2392 E ActivityManager: Sending non-protected broadcast com.vivo.abe.third.lifecontrol from system uid 1000 pkg null
     05-08 10:01:01.661  1501  2392 E ActivityManager: java.lang.Throwable
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:20249)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:20846)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:434)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1239)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:5508)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:5442)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:168)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3321)
     05-08 10:01:01.661  1501  2392 E ActivityManager: 	at android.os.Binder.execTransact(Binder.java:565)
     05-08 10:01:01.662  1501  2392 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.azyk.sfa/net.azyk.framework.SystemLauncherFixerActivity bnds=[289,67][535,315]} from uid 10028 on display 0
     05-08 10:01:01.670  1501  2392 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
     05-08 10:01:01.673  3112  3112 D Launcher: startActivitySafely success ? true
     05-08 10:01:01.674  3112  3112 D Launcher: onWindowFocusChanged ,  hasFocus = false
     05-08 10:01:01.675  3112  3112 D Launcher: onPause -- mState = WORKSPACE
     05-08 10:01:01.687  1501  3144 I ActivityManager: Start proc 17739:net.azyk.sfa/u0a91 for activity net.azyk.sfa/net.azyk.framework.SystemLauncherFixerActivity
     05-08 10:01:01.704  1501  1515 D BBKTouchScreenService: pakage name is net.azyk.sfawith :10091
     05-08 10:01:01.705  1501  1515 D BBKTouchScreenService: called and appName is [B@cb58e39
     05-08 10:01:01.705  1501  1515 D touchscreenjni: chenpeng JNI called
     05-08 10:01:01.705  1501  1515 E touchscreen: Open /sys/touchscreen/app_name failed
     05-08 10:01:01.705  1501  1878 D UserModifyRecorder: pakage name is net.azyk.sfa with :10091
     05-08 10:01:01.705  1501  1515 D VivoAppMonitor: onForegroundActivitiesChanged: pid=17739, uid=10091, foregroundActivities=true
     05-08 10:01:01.706  1501  1515 D VivoAppMonitor: mForgroundAppName=net.azyk.sfa, mLastForgroundAppName = com.bbk.launcher2
     05-08 10:01:01.748 17739 17739 I FtBuild : getRomVersion mRomVer=3.5
     05-08 10:01:01.770  1501  2385 I ActivityManager: START u0 {flg=0x10000000 cmp=net.azyk.sfa/net.azyk.vsfa.v010v.login.LaunchScreenActivity} from uid 10091 on display 0
     05-08 10:01:01.774  1501  2385 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
     05-08 10:01:01.816 17739 17739 W ResourceType: Bad string block: string #14 is not null-terminated
     05-08 10:01:01.817   474   474 W         : debuggerd: handling request: pid=17739 uid=10091 gid=10091 tid=17739
     05-08 10:01:01.884 17757 17757 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
     05-08 10:01:01.884 17757 17757 F DEBUG   : Build fingerprint: 'vivo/PD1616/PD1616:7.1.2/N2G47H/compil04282005:user/release-keys'
     05-08 10:01:01.884 17757 17757 F DEBUG   : Revision: '0'
     05-08 10:01:01.884 17757 17757 F DEBUG   : ABI: 'arm'
     05-08 10:01:01.884 17757 17757 F DEBUG   : pid: 17739, tid: 17739, name: net.azyk.sfa  >>> net.azyk.sfa <<<
     05-08 10:01:01.884 17757 17757 F DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xe858eaf7
     05-08 10:01:01.884 17757 17757 F DEBUG   :     r0 00000000  r1 00000000  r2 abf2adc2  r3 ec90685d
     05-08 10:01:01.884 17757 17757 F DEBUG   :     r4 e858d0f6  r5 00001b27  r6 e858eaf7  r7 12c5a4e0
     05-08 10:01:01.884 17757 17757 F DEBUG   :     r8 12c812b0  r9 e9b05e00  sl 7079bfac  fp 12c5a4e0
     05-08 10:01:01.884 17757 17757 F DEBUG   :     ip fffffffc  sp ffb546e8  lr ec98d47f  pc ec98d480  cpsr 600b0030
     05-08 10:01:02.124   564   564 I SurfaceFlinger: FPS: 31
     05-08 10:01:02.227 17757 17757 F DEBUG   : 
     05-08 10:01:02.227 17757 17757 F DEBUG   : backtrace:
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #00 pc 00018480  /system/lib/libandroidfw.so (_ZNK7android13ResStringPool9string8AtEjPj+147)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #01 pc 0009d6f7  /system/lib/libandroid_runtime.so
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #02 pc 019d6287  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.nativeGetString+98)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #03 pc 019d6609  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.StringBlock.get+324)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #04 pc 019bca3b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceValue+126)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #05 pc 019bc75b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.AssetManager.getResourceText+70)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #06 pc 019d1adf  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.ResourcesImpl.getText+90)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #07 pc 019cc583  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getText+46)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #08 pc 019cc34b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.res.Resources.getString+38)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #09 pc 01735ff5  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.content.Context.getString+56)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #10 pc 000a99c1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #11 pc 00405681  /system/lib/libart.so (art_quick_invoke_stub+232)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #12 pc 000b0c55  /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #13 pc 001ed215  /system/lib/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+200)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #14 pc 001e77c5  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+492)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #15 pc 003ffafb  /system/lib/libart.so (MterpInvokeVirtualQuick+322)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #16 pc 000a0594  /system/lib/libart.so (ExecuteMterpImpl+29972)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #17 pc 001caaef  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #18 pc 001cf5c1  /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+92)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #19 pc 003f4b7f  /system/lib/libart.so (artQuickToInterpreterBridge+706)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #20 pc 000ae413  /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #21 pc 0194fc85  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked+760)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #22 pc 0195029d  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.database.sqlite.SQLiteOpenHelper.getWritableDatabase+56)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #23 pc 000a99c1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
     05-08 10:01:02.227 17757 17757 F DEBUG   :     #24 pc 00405681  /system/lib/libart.so (art_quick_invoke_stub+232)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #25 pc 000b0c55  /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #26 pc 001ed215  /system/lib/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+200)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #27 pc 001e77c5  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+492)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #28 pc 003ffafb  /system/lib/libart.so (MterpInvokeVirtualQuick+322)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #29 pc 000a0594  /system/lib/libart.so (ExecuteMterpImpl+29972)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #30 pc 001caaef  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #31 pc 001cf657  /system/lib/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+114)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #32 pc 001e77ab  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+466)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #33 pc 003fe299  /system/lib/libart.so (MterpInvokeStatic+236)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #34 pc 0009c994  /system/lib/libart.so (ExecuteMterpImpl+14612)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #35 pc 001caaef  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #36 pc 001cf657  /system/lib/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+114)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #37 pc 001e77ab  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+466)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #38 pc 003fe299  /system/lib/libart.so (MterpInvokeStatic+236)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #39 pc 0009c994  /system/lib/libart.so (ExecuteMterpImpl+14612)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #40 pc 001caaef  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #41 pc 001cf5c1  /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+92)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #42 pc 003f4b7f  /system/lib/libart.so (artQuickToInterpreterBridge+706)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #43 pc 000ae413  /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #44 pc 000a99c1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #45 pc 00405789  /system/lib/libart.so (art_quick_invoke_static_stub+228)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #46 pc 000b0c7f  /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+178)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #47 pc 001ed215  /system/lib/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+200)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #48 pc 001e77c5  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+492)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #49 pc 003fe299  /system/lib/libart.so (MterpInvokeStatic+236)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #50 pc 0009c994  /system/lib/libart.so (ExecuteMterpImpl+14612)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #51 pc 001caaef  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #52 pc 001cf5c1  /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+92)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #53 pc 003f4b7f  /system/lib/libart.so (artQuickToInterpreterBridge+706)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #54 pc 000ae413  /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #55 pc 017b6e0b  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.handleCreateService+662)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #56 pc 017b01ed  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.-wrap5+48)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #57 pc 017aceab  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread$H.handleMessage+4126)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #58 pc 017aa74f  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.os.Handler.dispatchMessage+114)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #59 pc 01d7ee87  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.os.Looper.loop+714)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #60 pc 017bbcab  /system/framework/arm/boot-framework.oat (offset 0x1734000) (android.app.ActivityThread.main+438)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #61 pc 000a99c1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #62 pc 00405789  /system/lib/libart.so (art_quick_invoke_static_stub+228)
     05-08 10:01:02.228 17757 17757 F DEBUG   :     #63 pc 000b0c7f  /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+178)
     05-08 10:01:02.275  1501  1514 W ActivityManager: Activity pause timeout for ActivityRecord{5e14494 u0 net.azyk.sfa/net.azyk.framework.SystemLauncherFixerActivity t35 f}
     05-08 10:01:02.279  2124  2138 V pem     : noteActivityV5 uid = 10091, cool = 1, Name = net.azyk.vsfa.v010v.login.LaunchScreenActivity
     05-08 10:01:02.555  1501 17762 I ActivityManager: handleApplicationCrash callnet.azyk.sfa
     05-08 10:01:02.556  1501 17762 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1363 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:15415 com.android.server.am.NativeCrashListener$NativeCrashReporter.run:86 <bottom of call stack> <bottom of call stack> 
     05-08 10:01:02.558  2124  2137 D SLService: ppCra : net.azyk.sfa pid : 17739
     05-08 10:01:02.558  3042  3042 I UDC_LogUploadService: onCreate
     05-08 10:01:02.562   474   474 W         : debuggerd: resuming target 17739
     05-08 10:01:02.563  1501 17762 W ActivityManager:   Force finishing activity net.azyk.sfa/net.azyk.vsfa.v010v.login.LaunchScreenActivity
     05-08 10:01:02.566  1501 17762 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
     05-08 10:01:02.566  1501 17762 E JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 112)
     05-08 10:01:02.566  2124  3459 V pem     : noteAppPaused uid = 10091
     05-08 10:01:02.567  1501 17762 W ActivityManager: Exception thrown during pause
     05-08 10:01:02.567  1501 17762 W ActivityManager: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at android.os.BinderProxy.transactNative(Native Method)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at android.os.BinderProxy.transact(Binder.java:615)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:804)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1204)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3866)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:3689)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2077)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.AppErrors.handleAppCrashLocked(AppErrors.java:687)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.AppErrors.makeAppCrashingLocked(AppErrors.java:538)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:373)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.AppErrors.crashApplication(AppErrors.java:325)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:15420)
     05-08 10:01:02.567  1501 17762 W ActivityManager: 	at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
     05-08 10:01:02.567   734   734 I Zygote  : Process 17739 exited due to signal (11)
     05-08 10:01:02.570  1501 17762 W ActivityManager: Failed setting process group of 17739 to 1
     05-08 10:01:02.570  1501 17762 W System.err: java.lang.IllegalArgumentException: Given thread 17739 does not exist
     05-08 10:01:02.571  1501 17762 W System.err: 	at android.os.Process.setThreadPriority(Native Method)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityManagerService.applyOomAdjLocked(ActivityManagerService.java:23039)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:23583)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:2721)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:2311)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2050)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2004)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:1259)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3866)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:3689)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2077)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.AppErrors.handleAppCrashLocked(AppErrors.java:687)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.AppErrors.makeAppCrashingLocked(AppErrors.java:538)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:373)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.AppErrors.crashApplication(AppErrors.java:325)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:15420)
     05-08 10:01:02.571  1501 17762 W System.err: 	at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
     05-08 10:01:02.579  1501 17762 W ActivityManager: net.azyk.sfa crash because Native crash
    

反馈信息汇总

反馈的系统截图1

《180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题》

反馈的系统截图2

《180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题》

<wiz_tmp_tag id=”wiz-table-range-border” contenteditable=”false” style=”display: none;”>

       

附件列表

 

    原文作者:Asion Tang
    原文地址: https://www.cnblogs.com/AsionTang/p/9014288.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞