Android开发过程中遇到的关于so文件的问题
来源:互联网 发布:js div隐藏 编辑:程序博客网 时间:2024/06/06 09:26
问题背景:
最近开发的项目中涉及到使用JNI调用libs中so文件来进行图片识别。遇到的问题是测试发现应用在某些设备不能调用识别功能。
项目中libs结构
libs├─ x86_64├─ x86├─ mips64├─ mips├─ armeabi-v7a├─ armeabi└─ arm64-v8a
定位问题:
1. 识别功能不能使用说明问题出现在JNI调用部分2. 检测到应用中的so文件没有被加载到设备中3. 发现设备优先加载armeabi-v7a包中的so文件4. libs中只有armeabi文件夹中包含了识别功能的so文件
解决问题:
- 方法一:将so文件放到所有libs子文件夹下
- 方法二:libs文件夹只包含armeabi文件夹
总结:
- 设备加载so文件的方式与应用加载Drawable图片的方式不一样,如果有与设备CPU架构符合的文件夹(如armeabi-v7a),就只会加载当前文件夹下的so。即使armeabi-v7a包中没有,而armeabi包中有,设备也不会去加载。
- libs中包含多个文件夹的功能是为不同CPU架构的设备提供不同的so文件,这样可以提高硬件的性能。如果我们的so文件适配不了项目libs中所支持的所有架构,那建议就都不支持,只留armeabi。
调试中使用到的工具
Native Libs Monitor
0 0
- Android开发过程中遇到的关于so文件的问题
- 关于android 开发过程中遇到的问题,不定期更新
- Android开发过程中遇到的问题
- android开发过程中遇到的问题
- Android开发过程中遇到的问题
- Android开发过程中遇到的问题
- android开发过程中遇到的问题
- Android开发中so文件的导入注意的问题
- 关于开发过程中,遇到的拓展问题
- 关于Android的.so文件导入问题
- 记录的Android开发过程中遇到的问题。
- 开发Android过程中遇到到的问题
- android开发过程中遇到的一些问题汇总
- Android开发过程中遇到的问题及解决之道全纪录
- Android开发过程中遇到的一些小问题
- android开发过程中遇到的小问题
- android开发过程中遇到的小问题
- 开发过程中遇到的问题总结--qt for android
- 获取input-file的文件名、后缀名(兼容IE)
- hive分区(partition)简介
- 汇编小游戏集合
- SpringMVC实现文件上传
- ImportError: No module named setuptools
- Android开发过程中遇到的关于so文件的问题
- 发布Qt Widgets桌面应用程序的方法
- 自定义QT事件
- 黑马程序员——异常
- golang语言中map的初始化及使用
- Java设计模式_创建型_原型模式_复制对象及状态
- iOS xcode中生成和打包ipa文件的方法和步骤
- gdb简介
- 汶川地震亲历者:唯有经历过惊惶失策,才不至于“花容失色"