我已经实现了一个 JNI android 应用程序。此应用程序需要一些额外的“共享库”作为 APK 的一部分打包。使用 Ecplise,我已将这些库添加到项目的“/libs/armeabi”文件夹中。
但是,在启动应用程序时(通过集成调试器),我添加的“共享库”会从“armeabi”文件夹中删除。
- 如何防止删除这些额外的库?
- 如何确保 APK 中包含所需的额外 SO?
最佳答案
您不需要自己将此库复制到 libs
文件夹。此工作应由 ndk-build
完成。
这两个步骤应该足够了:
在项目的根级别创建
mylibs
(您可以使用任何其他名称)文件夹。并将您的库放入此文件夹。对于每个库,在
include $(CLEAR_VARS)
语句之前添加以下行,将mylib
替换为您的库名称:include $(CLEAR_VARS) LOCAL_MODULE:=mylib LOCAL_SRC_FILES:=../mylibs/libmylib.so include $(PREBUILT_SHARED_LIBRARY)
(对于 LOCAL_SRC_FILES
,您可能需要稍微不同的路径。这取决于您的 Eclipse 配置。)
关于Android JNI APK 打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101220/