我尝试使用一些预编译的本机库构建 Android 应用程序:liba.so and libb.so.1.2.3
库被放置在 jniLibs 子目录中。
构建APK文件后,仅liba.so包含在其中,但不包含libb.so.1.2.3.
结果是可以预见的。应用程序在启动时崩溃。
如何使用构建脚本将 jniLibs 中的所有文件包含到 APK 中?
由于本机库正则表达式^.+\\.so$
被用在Android Gradle 插件 https://android.googlesource.com/platform/tools/build/+/master/builder/src/main/java/com/android/builder/internal/packaging/Packager.java#58,不可能包括除.so
文件使用jniLibs
文件夹。即使您以某种方式将库添加到 APK,Android 上的动态加载器也是如此非常有限 https://stackoverflow.com/a/11085509/207861并且很可能无法加载它们。
您最好的选择是通过重命名库并更改其内部来完全删除该版本soname
before链接到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)