概述
I、 遭遇
由于项目后续开发需要,不能直接连子库,需要将子库编译成jar或其他方式添加到主工程中。我想到的最简单的方法就是把子工程export成jar,然后将此jar添加到主工程。
跟想象的一样,很顺利,编译也通过了,但在运行的时候突然提示出错:
[2018-05-04 10:54:28 - Test4Unity13] The library 'libcv.jar' contains native libraries that will not run on the device.
[2018-05-04 10:54:28 - Test4Unity13] The following libraries were found:
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libnative_camera_r2.2.0.so
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libnative_camera_r2.3.3.so
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libnative_camera_r3.0.1.so
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libnative_camera_r4.0.0.so
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libopencv_java.so
[2018-05-04 10:54:28 - Test4Unity13] - libs/armeabi-v7a/libopencv_java3.so
……
然后就去请教度娘,n多同道中人指点如下方法:
在Perferences页面中,将Force error when extenal jars cpmtain native libraries中的选项勾去掉,然后Clean即可。
该配置项的位置:Eclipse->windows->Perferences->Android->Build
于是我也尝试了一下,编译通过,但运行的时候结果还是如此。
然后,我想既然上面的so文件系统不知道,那不如直接将库工程中的所有so,jar都copy到主工程中,然后再export 库工程的jar,这是很朴素的想法,相信很多xdjm也想到了:)
接着我按照上述思路,进行了如下尝试:
1)将缺失的so文件都copy到主工程lib下(我这里没有jar)
2)重新导出库工程的jar,注意这个时候就不要包括已经copy出来的这些so了
3)将新导出的jar copy到主工程的lib下
然后Clean,编译通过,跟预期的一样。
最关键的时刻来了,运行,成功!说明上述工作让编译系统找到了so了,接下来就要看看牵扯到的子库工程是不是好使了。
猜对了!
一切正常,问题解决。
II、总结
遇到此类文件,解决方法有:
方案一:
在Perferences页面中,将Force error when extenal jars cpmtain native libraries中的选项勾去掉,然后Clean重新编译。
该配置项的位置:Eclipse->windows->Perferences->Android->Build
方案二:
按照如下操作,然后编译运行:
1)将缺失的so文件都copy到主工程lib下(我这里没有jar)
2)重新导出库工程的jar,注意这个时候就不要包括已经copy出来的这些so了
3)将新导出的jar copy到主工程的lib下
总结一下:
如果导入库工程直接编译不通过(前提是文件不少哈),考虑用方案一,如果好使了就没问题了。不行再用方案二。
如果方案二还是解决不了,又没有好的思路,时间又紧急,那只能用最后的杀手锏——
把库工程整个挪过去(有点low哈,慎用-_-)
PS:再提醒xdjm,导入库工程时,一定要注意库工程是否有服务,广播之类(在manifest里面),一定要挪到主工程中去。
最后
以上就是冷酷眼神为你收集整理的The library 'xxx.jar' contains native libraries that will not run on the device. 解决方法(Eclipse)I、 遭遇II、总结的全部内容,希望文章能够帮你解决The library 'xxx.jar' contains native libraries that will not run on the device. 解决方法(Eclipse)I、 遭遇II、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复