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

Android 打包so动态库文件到APK

2014年03月19日 ⁄ 综合 ⁄ 共 1640字 ⁄ 字号 评论关闭

有时由于项目需要使用JNI来调用.so文件,需要将so文件一起打包到APK文件中,这有两种方法:

 

1. 使用mm命令和Android SDK源代码一起编译。

  • 在project根目录创建一个Android.mk,文件内容如:

LOCAL_JNI_SHARED_LIBRARIES := libtest 就是把so文件放到apk文件里的libs/armeabi里,而include $(LOCAL_PATH)/jni/Android.mk为了编译so文件。

    • 在Project目录下创建jni文件夹,在jni文件里创建Android.mk,内容如下: LOCAL_C_INCLUDES += /$(JNI_H_INCLUDE) 为了让jni编译通过,因为工程通过jni调用本地库.
    • 把工程文件放到SDK platform/packages/apps目录下,然后进入该目录,命令里输入mm,进行该工程的编译,这样编译出来的apk,在libs/armeabi文件夹里面包含so文件。

     2.使用Eclipse build APK文件,只要将so文件放在与src平级的地方创建目录结构libs/armeabi,文件名格式如:libs/armeabi/libxxx.so.
        eclipse在打包的时候会根据文件名的命名规则(lib****.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的

    抱歉!评论已关闭.