所以,我有这个为不同的CPU构建的本机代码。我不想作为库加载,我想通过runtime.exec(...)执行二进制文件。
有没有办法将它们放在Android处理CPU限定符的地方?或者我必须制作不同的APK?
答案 0 :(得分:2)
制作不同的APK有时是一个不错的选择,以减少下载量。 想想看,每次更新都会有数十万人从Play商店下载这些额外的兆字节!有一些策略可以创建和维护这样的分割APK:它&#39重要的是保持版本号的正确顺序。请参阅下面的https://stackoverflow.com/a/20029256/192373以及 Ashwin S Ashok 的改进。
无论您选择拆分APK还是保留单片版,都可以随意使用我的"专利" :将您的可执行文件放入{{1} (或其他子文件夹,根据目标ABI),并给出名称,所有名称均以 lib 开头,以 .so 结尾(例如libs/armeabi-v7a
)。这将打开安装魔术,相应的文件将被解压缩(并更新)到具有可执行权限的lib_vim_.so
文件夹中。