android strm,Android 关于so文件的随记
1.背景:
项目中要集成商汤的活体检测sdk,
2.遇到的问题:
商汤提供的demo 可以正常运行,但是将sdk集成至项目中时一直报错,但是商汤侧却没办法提供具体的报错原因
3.解决问题:
反编译商汤的源码发现,报错的原因是so文件导致
商汤反编译的源码.jpg
商汤反编译的源码.png
解压商汤的sdk发现,sdk中只存在armeabi-v7a和armeabi-v8a两个适配文件夹,而项目需要适配armeabi,所以,按照商汤的faq,将v7a中的so文件,拷贝至项目中的armeabi即可解决问题,另外,商汤不支持x86的cpu
4.so文件加载逻辑
arm64-v8a是可以向下兼容的,但前提是你的项目里面没有arm64-v8a的文件夹,如果你有两个文件夹armeabi和arm64-v8a,两个文件夹,armeabi里面有a.so 和 b.so,arm64-v8a里面只有a.so,那么arm64-v8a的手机在用到b的时候发现有arm64-v8a的文件夹,发现里面没有b.so,就报错了,所以这个时候删掉arm64-v8a文件夹,这个时候手机发现没有适配arm64-v8a,就会直接去找armeabi的so库,所以要么你别加arm64-v8a,要么armeabi里面有的so库,arm64-v8a里面也必须有
5.另记一个问题
如果so文件,或者包含so文件的aar被重复引用的话,可能报以下错误
More than one file was found with OS independent path 'lib/arm64-v8a/libIndoorMapSDK2.2.5.so'
6.查看手机cpu信息
adb shell
cat /proc/cpuinfo
结果信息
Processor : AArch64 Processor rev 4 (aarch64)
processor : 0
BogoMIPS : 38.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
AArch64是ARMv8 架构的一种执行状态。
android strm,Android 关于so文件的随记相关推荐
- android打开wav格式,FileNotFoundException从Android资产中打开wav文件
在我们的android应用程序中,我们打开位于assets/config/notification.wav中的wav文件.要打开和播放声音,我们使用下面的代码:FileNotFoundExceptio ...
- android studio 读取内存txt文件_SharedPreference与文件存储
Android常用数据存储方式有SharedPreferences存储数据(虽然还是属于内部存储).文件存储(内部,外部).SQLite数据库存储.ContentProvider存储数据.网络存储数据 ...
- android sd卡列目录文件_Android正确获取SD卡目录及使用SD卡目录
此文乃是转载,原文在这里链接 SD卡作为手机的扩展存储设备,在手机中充当硬盘角色,可以让我们手机存放更多的数据以及多媒体等大体积文件.因此查看SD卡的内存就跟我们查看硬盘的剩余空间一样,是我们经常操作 ...
- Android 实现无网络传输文件(2)
在我的上一篇文章:Android 实现无网络传输文件,我介绍了通过 Wifi Direct(Wifi 直连)实现 Android 设备之间进行文件传输的方法,可以在无移动网络的情况下实现点对点的文件传 ...
- 解决Android 编译出错 找不到android.databinding.ViewDataBinding的类文件
报错如下: 错误: 无法访问ViewDataBinding 找不到android.databinding.ViewDataBinding的类文件 有关详细信息, 请参阅以下堆栈跟踪. com.sun. ...
- XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...
- XamarinSQLite教程在Xamarin.Android项目中定位数据库文件
XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...
- Android中项目中各个文件夹的含义和用途详解
1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片. ...
- 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题
因为和同学分开做的android软件,现在想整合他做的界面部分,于是拷贝了res和src文件夹的文件,其中包括一个res.menu文件夹中的XML.但是每次将该文件导入到工程总无法自动在R.java中 ...
最新文章
- linux命令行中curl和wget自动解压功能对比
- 【转】接口测试Session/Cookie笔记(二)
- 常用数据库优化方案(三)
- CV:基于人工智能算法实现人脸口罩的实时检测(结合无人机可,实现实时警告提醒)
- js弹出对话框的方法总结
- SAP Spartacus 里 对 isPlatformBrowser API 的使用
- java标识符_Java标识符的简单介绍
- 2022年N1叉车司机考试题及N1叉车司机理论考试
- Android开发者如何删除手机自带应用
- trans系列是sci几区_怎么确定SCI论文期刊是几区的?
- 一个Scrapy爬虫实例
- Hive 核心原理(hive-3.1.2)
- php 计费系统设计,仓储系统之计费模块设计
- TCP连接异常终止(RST包)场景分析
- Excel中如何让第一行、第二行一直显示出来 excel冻结窗格与拆分窗格
- 编程语言之时下潮流与实用价值
- linux阿里云ecs发邮件
- “我才是腾讯的第一任董事长”
- Centos7 安装DB2
- 今日金融词汇--- 商业模式
热门文章
- Spring Annotations我从没有机会使用第2部分:@ConfigurationProperties
- 鸡肉和鸡蛋–测试前解决Spring属性
- 还有更多REST技巧
- java创建类的三个步骤_3个简单步骤即可测试Java 8
- jHipster入门,第1部分
- 在Spring中配置多个View解析器
- app mvc框架_Google App Engine上的Spring MVC和REST
- python捕获摄像头帧_Xuggler教程:帧捕获和视频创建
- 如何使用GZip和Jersey压缩Java REST API中的响应
- 揭示垃圾收集暂停的时间长度