银河Nexus -在安装时选择错误的CPU ABI



在我的产品中,我发现当我将APK文件安装到运行android 4.0.1的Galaxy Nexus上时,正在安装不正确的。so文件。我有一个所谓的"胖"APK,其中包括armeabi, armeabi-v7a和x86的本机代码。

我发现armeabi CPU ABI的。so文件是从APK文件中提取的,而不是armeabi-v7a .so文件。如果我从APK文件中删除"armeabi"文件夹,那么galaxy nexus会正确地从armeabi-v7a文件夹中安装。so文件。

我已经验证了nexus的CPU ABI是"armeabi-v7a",它的辅助ABI是"armeabi"。

有没有其他人看到这个问题,他们有没有找到一种方法来解决这个问题,而不从APK的lib目录中删除"armeabi"文件夹?

这似乎是一个bug。我也通过使用本地代码创建一个小项目来测试它,Galaxy Nexus确实选择了错误的库(armeabi而不是armeabi-v7a)。

我已经在http://code.google.com/p/android/issues/detail?id=25321上报告了这个bug,并附上了示例项目。请给它打星,以引起Android工程师的注意。

似乎另一个StackOverflow问题也源于这个bug: Android浮点数学性能。

相关内容

最新更新