情况如下:我已经构建了一个本地库,可以在其他应用程序中重新分发。因为我们使用的是ARMv7 NEON,所以我们提供了两个版本的库:一个用于大多数设备,一个用于ARMv5 / ARMv6的“后备”限制功能版本。到目前为止一切都那么好,而且效果很好。
但是,出于某种原因,在Android 4.0.3上使用Nexus S运行的新创建的应用程序正在拾取错误的(armeabi而不是armeabi-v7a)版本的库。
如果我们深入了解设备文件系统,我们发现/data/app/my_app.apk包含正确版本的库。但是,当Android将其提取到/ data / data / my_app时,我们发现/data/data/my_app/lib/my_lib.so是armeabi版本。但是,奇怪的是,/ data / data / my_other_app / lib / my_lib.so是正确的armeabi-v7a版本。
所以问题是: 1)WTF ?? 2)Android如何决定从APK中提取哪个eabi?
答案 0 :(得分:2)