Galaxy Nexus - 在安装期间选择了错误的CPU ABI

时间:2012-01-03 15:38:07

标签: android android-ndk

在我的产品中,我发现当我将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的libs目录中删除“armeabi”文件夹?

1 个答案:

答案 0 :(得分:13)

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

我在http://code.google.com/p/android/issues/detail?id=25321报告了此错误,并在错误上附加了示例项目。请注意它以引起Android工程师的注意。

似乎另一个StackOverflow问题也来自这个错误:Android floating point math performance