我应该在 Android 项目中的哪里添加二进制可执行文件?

mgh*_*eeb 0 java-native-interface android android-ndk

因此,我有针对不同 CPU 构建的本机代码。我不想作为库加载,我想通过runtime.exec(...) 执行二进制文件。

有没有办法将它们放在 Android 处理 CPU 限定符的某个地方?或者我必须制作不同的 APK 吗?

Ale*_*ohn 5

有时制作不同的 APK 是一个不错的选择,可以减少下载大小。想想看,每次更新都会有数十万人从 Play 商店下载这些额外的兆​​字节!有一些创建和维护此类拆分 APK 的策略:保持版本号正确的顺序很重要。请参阅/sf/answers/1402047951/以及下面Ashwin S Ashok的改进。

无论您选择拆分 APK,还是保留单一 APK,请随意使用我的“专利”:将您的可执行文件放入libs/armeabi-v7a(或其他子文件夹,根据目标 ABI),并给它们命名,全部以lib开头并以.so(例如lib_vim_.so)。这将打开安装魔力,并且相应的文件将被解压(并更新)到/data/package/lib具有可执行权限的文件夹中。