android - Galaxy Nexus - 安装时选择了错误的 CPU ABI

标签 android android-ndk

在我的产品中,我发现当我将 APK 文件安装到运行 android 4.0.1 的 Galaxy Nexus 时,安装了不正确的 .so 文件。我有一个所谓的“胖”APK,其中包含 armeabi、armeabi-v7a 和 x86 的 native 代码。

我发现 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”文件夹?

最佳答案

这似乎是一个错误。我还通过使用 native 代码创建一个小项目对其进行了测试,实际上 Galaxy Nexus 选择了错误的库(armeabi 而不是 armeabi-v7a)。

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

似乎另一个 StackOverflow 问题也源自此错误:Android floating point math performance .

关于android - Galaxy Nexus - 安装时选择了错误的 CPU ABI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714671/

相关文章:

android - javah : Error: cannot access android. support.v7.app.AppCompatActivity?

java - Android中的传感器精确服务

Android Ndk - 设置 C++ 线程的名称

Android OpenCV 优化 - 线检测很慢 Hough Lines

android - 指定logback-android的sdcard应用程序数据目录路径

android - Android 上使用 Tensorflow 的 C++ 库

Android NDK 构建以支持所有可用设备

android - 无法编译 Vitamio demo

Android LiveData 列表未更新

java - 中心 ImageView