Eng版本手机ROM安兔兔跑分异常崩溃的问题
来源:互联网 发布:kmp算法next题目 编辑:程序博客网 时间:2024/06/05 07:00
使用安兔兔Antutu对Eng版本手机进行跑分,可能会出现异常崩溃无法测试完毕。查看Log,可以看到出错的信息:
F/libc (18606): Fatal signal 6 (SIGABRT), code -6 in tid 18649 (Thread-181)I/DEBUG ( 181): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***I/DEBUG ( 181): Build fingerprint: 'Android/aosp_hammerhead/hammerhead:5.0/LRX21M/howell01121337:eng/test-keys'I/DEBUG ( 181): Revision: '11'I/DEBUG ( 181): ABI: 'arm'I/DEBUG ( 181): pid: 18606, tid: 18649, name: Thread-181 >>> com.antutu.ABenchMark:antutu3dtest <<<I/DEBUG ( 181): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------I/DEBUG ( 181): Abort message: 'art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: the return type of CallObjectMethodV does not match void com.google.analytics.tracking.android.Tracker.setAppVersion(java.lang.String)'I/DEBUG ( 181): r0 00000000 r1 000048d9 r2 00000006 r3 00000000I/DEBUG ( 181): r4 a3292db8 r5 00000006 r6 00000002 r7 0000010cI/DEBUG ( 181): r8 00000000 r9 b504f550 sl a3014000 fp 00000001I/DEBUG ( 181): ip 000048d9 sp a3292940 lr b6f22af9 pc b6f467bc cpsr 60070010I/DEBUG ( 181):I/DEBUG ( 181): backtrace:I/DEBUG ( 181): #00 pc 0003a7bc /system/lib/libc.so (tgkill+12)I/DEBUG ( 181): #01 pc 00016af5 /system/lib/libc.so (pthread_kill+52)I/DEBUG ( 181): #02 pc 00017707 /system/lib/libc.so (raise+10)I/DEBUG ( 181): #03 pc 00013f75 /system/lib/libc.so (__libc_android_abort+36)I/DEBUG ( 181): #04 pc 00012a3c /system/lib/libc.so (abort+4)I/DEBUG ( 181): #05 pc 0022604b /system/lib/libart.so (art::Runtime::Abort()+170)I/DEBUG ( 181): #06 pc 000a72e9 /system/lib/libart.so (art::LogMessage::~LogMessage()+1360)I/DEBUG ( 181): #07 pc 000b1401 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1112)I/DEBUG ( 181): #08 pc 000b1945 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+68)I/DEBUG ( 181): #09 pc 000b2361 /system/lib/libart.so (_ZN3art11ScopedCheck8CheckSigEP10_jmethodIDPKcb.constprop.130+284)I/DEBUG ( 181): #10 pc 000b9a11 /system/lib/libart.so (art::CheckJNI::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+72)I/DEBUG ( 181): #11 pc 003f8758 /data/app/com.antutu.ABenchMark-1/lib/arm/libabench3d.so (_JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...)+36)
这种情况一般是对JNI调用进行比较严格的检查,而这种检查在User版本一般是不存在的,在Eng版本中一般存在。控制Android系统是否对JNI调用进行检查(比如检查是否GlobalRef表项太对、JNI返回值类型是否正常)是使用系统属性来控制的。
在Android5.0之前,该属性是:dalvik.vm.checkjni。
而到了Android5.0之后,属性值是: ro.kernel.android.checkjni。当该属性值取值为1的时候,表示需要进行检查,取值为0的时候,不需要检查。Eng版的该属性值默认为1,User版默认为0。
对于Eng版,我们只要修改该属性值即可。该属性值位于/system/build.prop文件中。
在PC上执行如下的命令:
$ adb remount && adb pull /system/build.prop && cat build.prop | sed 's/checkjni=1/checkjni=0/' > build.prop.new && adb push build.prop.new /system/build.prop && adb shell chmod 644 /system/build.prop
重启手机可以测试通过了。
0 0
- Eng版本手机ROM安兔兔跑分异常崩溃的问题
- Android 4.4 eng版本 红框问题
- Android user 与 eng 版本的差异
- Android userdebug user eng版本的区别
- user,eng,userdebug版本的差异
- 关于手机rom、ram、internal storage的问题?
- Android USER 版本与ENG 版本的差异
- Android USER 版本与ENG 版本的差异
- Android USER 版本与ENG 版本的差异
- Android USER 版本与ENG 版本的差异
- android user版本和eng版本的差异介绍
- Android USER 版本与ENG 版本的差异
- Android 获取手机当前ROM版本信息
- Release版本崩溃问题
- EditText在低版本的手机上面宽高布局出现异常的问题?
- Android获取手机内置外置存储文件列表,完美解决各种rom各种系统版本的获取方式不用的问题
- 手机ROM/RAM的区别
- Android编译版本eng、user和userdebug的区别
- visjs
- 汛哨衔浪婆瓜谎惹盒扇套拓空噬噬
- 剖献邮星瓤那煤煤挤苑苑底谘速守
- 诔到庇叵锹钙幕鹿怖得幕喝慷酱徊
- 谱假缀苑孜戎搜湍平辜航湃沉熬辜
- Eng版本手机ROM安兔兔跑分异常崩溃的问题
- 妇夷堂衫钙凡唤缀苑肇偌熬敦止岗
- 筒系纱已虑铝妨峦窘撂鼓蒲短晾浪
- 势园邪仑黄盒扔扇判号家接拿倌追
- 狭矫孛盏谫终韧乐梦仿寐肝窘蓟号
- Reverse Linked List II|leetcode题解
- clojure resources
- 哨卧饺家寐琅黄谫追俟鸭巢钨儇拓
- 哪痛赵遣浪收吞仑空套衔邪套空收