当前位置:编程学习 > wap >>

android JNI 的.so问题

我建立了2个工程,一个Library工程和一个App工程。
将Library工程(is Library 打勾)实现JNI,编译好的.so文件在libs目录 armeabi armeabi-v7a x86三个子文件夹下。.so文件以lib为前缀。
App工程引用Library工程,并且调用其中的业务方法,在执行的时候报异常 java.lang.UnsatisfiedLinkError

原因是初始化时,无法加载.so中的方法。

查看输出的apk文件,发现.so文件已经被打包到apk文件中了,但是安装后在/data/data/{app pkg}/lib/目录下并没有.so文件,导致无法加载。

什么原因会导致apk中的.so文件无法拷贝到lib中呢??? 求解释 --------------------编程问答-------------------- 发现一个现象,但是还不知道具体产生的原因是什么。
同样是刚才的App应用程序。
1.  如果只是adb push 到/system/app下, .so不会拷贝到/data/data/{pkg}/lib目录下
2.  如果是adb install -r xx.apk, .so则会拷贝到/data/data/{pkg}/lib下。

--------------------编程问答-------------------- adb push 到/system/app下, .so不会拷贝到/data/data/{pkg}/lib目录下

push只有你有重启手机吗? --------------------编程问答-------------------- 楼主需要学习,push 和install区别。 --------------------编程问答-------------------- 如果是用的push,那么.so文件需要自行拷贝
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,