安卓打包apk安装到模拟器上崩溃,log 提示:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr eba03dd0
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: Build type 'Development', Scripting Backend 'mono', CPU 'armeabi-v7a'
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: Build fingerprint: 'google/android_x86/x86:7.1.2/N2G47H/N975FXXU1ASGO:/release-keys'
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: Revision: '0'
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: pid: 2706, tid: 2823, name: Job.Worker 1 >>> com.dchd.ptworld <<<
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: r0 903a7f50 r1 11771163 r2 3ffffffd r3 00000000
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: r4 3ffffffb r5 7ae56690 r6 00000000 r7 000000f0
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: r8 3b8619a4 r9 12411240 sl a29bf4d0 fp 863b9a10
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: ip 903a77d0 sp 9ebffc50 lr 7ae56410 pc 05453f28 cpsr 00000b07
2021-07-16 19:57:01.931 2706-2823/com.dchd.ptworld E/CRASH: backtrace:
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #00 pc 01453f28 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (physx::Bp::BroadPhaseSap::batchUpdateFewUpdates(unsigned int, physx::Bp::BroadPhasePair*&, unsigned int&, unsigned int&)+1600)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #01 pc 01452364 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (physx::Bp::BroadPhaseBatchUpdateWorkTask::runInternal()+40)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #02 pc 01454bb0 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (physx::Bp::SapUpdateWorkTask::runInternal()+28)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #03 pc 004630d8 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (PhysxJobFunc(physx::PxBaseTask*)+148)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #04 pc 00996088 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (JobQueue::Exec(JobInfo*, int, int)+136)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #05 pc 00996630 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (JobQueue::ExecuteJobFromHighPriorityStack()+56)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #06 pc 0099684c /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (JobQueue::ProcessJobs(void*)+240)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #07 pc 009958ac /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (JobQueue::WorkLoop(void*)+148)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #08 pc 00ad3f38 /data/app/com.dchd.ptworld-2/lib/arm/libunity.so (Thread::RunThreadWrapper(void*)+696)
2021-07-16 19:57:02.093 2706-2823/com.dchd.ptworld E/CRASH: #09 pc 0007341c /system/lib/arm/nb/libtcb.so
因为模拟器是32位模拟器 X86架构 X86架构不兼容armabi 打包时libs下文件夹内文件数量不一样 或者缺少X86文件夹 都会安装后使用默认armabi文件夹下的.so 所以出现不兼容的时候就会出现闪退情况
X86文件夹:
其他文件夹 :
安装后目录:
X86文件夹:
其他文件夹:
安装后目录:
具体不兼容的地方应该是因为物理库的不兼容了,所以关闭 Auto Simulation 不刷新物理 可以解决问题,只是物理运算不会更新了
另外一个方法是,看一下plugins/libs下的.so文件各个文件夹下是不是存在数量不一致或者缺少X86文件夹情况,加上X86文件夹和保持各个文件夹下so文件数量一致后再打包