关于安卓模拟器兼容的问题原因及解决方案

安卓打包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文件数量一致后再打包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值