ABI 特定 android 资源限定符

ABI specific android resource qualifier

我打算在我的应用程序中使用 python 代码。所以我必须将 python 二进制文件与应用程序一起发送。我打算将 apk 存储在 raw 资源目录中。

但是,如果我在单个 apk 中包含所有 abi 二进制文件,apk 的大小会很大,所以我想对我的 apk 进行基于 abi 的拆分。为此,我需要一个特定于 ABI 的 android 资源限定符。有没有这样的东西?我没找到。

PackagingOptions 可以与 ProductFlavors 结合使用以实现任何级别的灵活性,但这不是实现您声明的目标所必需的。

我邀请你使用我proposed a while agp的技巧。最重要的是,如果您将可执行文件放在 jniLibs 下的预期目录中,并给它们起以 lib 开头并以 .so, Android 构建工具会很乐意将它们打包到您的 APK 中,安装程序会很乐意根据 ABI 准备它们以供使用。

这样,您也可以充分发挥 ABI-determined split 的威力。

不幸的是,lib/ 下的假 *.so 库似乎不再起作用。它们在文件系统中不可用。 /data/..../{app}/lib 只包含真实的库。 Android 运行时一定发生了一些变化。