现在的位置: 首页 > 综合 > 正文

android打包so文件到apk

2017年11月11日 ⁄ 综合 ⁄ 共 579字 ⁄ 字号 评论关闭
在apk里打包进.so文件的方法

有两种方法,

1 是在Android.mk文件里增加

LOCAL_JNI_SHARED_LIBRARIES := libxxx

这样在编译的时候,NDK自动会把这个libxxx打包进apk;

放在youapk/lib/目录下。


2 是在应用的目录下手工建

libs/armeabi

目录,然后把libxxx.so拷贝到这个目录下,

这样NDK就会自动把这个libxxx.so打包进apk,位置还是在

放在youapk/lib/目录下。


在代码里,使用System.loadLibrary("xxx");就可以加载这个动态库了。

还有一点要说明,System.loadLibrary这个函数会在如下路径搜索libxxx.so文件:
/system/lib

/data/data/you apk package/lib


如果libxxx.so还依赖其它.so文件,比如libyyy.so,则System.loadLibrary只会在/system/lib目录下去找,如果没找到,它不会自动到/data/data/you apk package/lib

下去找,这个时候就会报动态库没找到的错;

解决方法是在load libxxx.so之前,先load libyyy.so,如下:

System.loadLibrary("yyy");

System.loadLibrary("xxx");

抱歉!评论已关闭.