【转载】.so文件打包进apk方法
来源:互联网 发布:python 保存日志文件 编辑:程序博客网 时间:2024/06/16 19:59
在apk里打包进.so文件的方法
【转载】来源:hi.baidu.com/ittdt/item/db30f8f2c8f492cd521c26ea
有两种方法,
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");
就可以加载这个动态库了。
这里要注意,参数只写xxx就可以了,不需要写libxxx,也不需要写libxxx.so。
还有一点要说明,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");
**************************************************************************************************************
前提:so文件在源码中编译,并在编译输出中间文件中存在。如libtest.so文件,此文件必须在out/target/product/generic/obj/lib/libtest.so
如此,书写Android.mk文件
加入如下一句赋值语句:
LOCAL_JNI_SHARED_LIBRARIES := libtest
即可。
至于在编译时让编译系统向apk中自动添加其他的资源文件,读者可参考编译系统文件
build/core/package.mk
LOCAL_JNI_SHARED_LIBRARIES字段的编译过程。
- 【转载】.so文件打包进apk方法
- 在apk里打包进.so文件的方法
- 在apk里打包进.so文件的方法
- ndk开发打包.so文件到apk包的方法
- android源码中编译打包so文件进apk
- android打包so文件到apk
- 如何将.so文件打包到.APK
- android打包so文件到apk
- 如何将.so文件打包到.APK
- android打包so文件到apk
- Android打包so文件到apk
- android打包so文件到apk
- android打包so文件到apk
- android打包so文件到apk
- android打包so文件到apk
- Android JNI打包so文件到apk
- Android JNI打包so文件到apk .
- 通过mmm等命令生成apk时so如何打包进apk的方法
- 【操作系统】分段管理和分页管理的区别
- Myeclipse中Aptana插件的简单快捷使用
- TortoiseGit安装和使用的图文教程
- SQL PRIMARY KEY 约束
- IOS 运用dispatch_once 创建单例 MARK
- 【转载】.so文件打包进apk方法
- KMP算法
- Hibernate实现分页
- poj 3132简单dp
- 单例设计模式
- SQL FOREIGN KEY 约束
- HTTP和Java
- 软件开发未来前景怎么样?学软件开发有前途吗?
- 【仿乐享微信源码】利用第三方微信营销托管平台快速增加粉丝,形成良好互动,打造精美微信APP