ABI Management

官方文档:https://developer.android.com/ndk/guides/abis.html?hl=is
关于支持指令集,在上表官方文档都表达清楚了。我们认为避免多个指令集浪费资源。现在armeabi v5的机型基本都淘汰了,我们建议保留armeabi-v7a这样就可以兼容到市面上的绝大多数手机
当然,如果你认为说arm v5(就是armeabi) 就不要了吗。如果一定要这样的,你可以选择保留armeabi,将armeabi-v7a的so拷贝到armeabi里面.(目前微信的考虑就是保留了armeabi)
注意:1.因为默认编译是保留armeabi的,所以大多数的都会有armeabi
2.有些SDK提供了多个指令集的so.事实上没有必要全部都一股脑拷贝。只要自己做好兼容。保证兼容就好了。我们还是建议保留armeabi-v7a 或者armeabi 不要无谓的浪费资源
最后如果搞不定,你们可以干掉不用的指令集。避免资源浪费.你们可以将armeabi-v7a 里面的so放在armeabi 里面,其他的(arm64,x84)都干掉.
但是因为目前百川这边是三个armeabi,armeabi-v7a和x86目前qupaisdk里面是将so放在armeabi-v7a里面的.最简单的方式是你将qupai的三个so放在armeabi里面.保证只有这三个平台,其他第三方的都放在armeabi里面。删除arm64- v8a,mips,mips64等
最简单的的方法:
defaultConfig {
...
ndk {
abiFilters "armeabi-v7a"
}
如果要保留armeabi的包:
defaultConfig {
...
ndk {
abiFilters "armeabi"
}
}
ABI Management的更多相关文章
- NDK SO 库开发与使用中的 ABI 构架选择
Bugtags V1.2.7 引入了 NDK SO 库,在集成的时候,遇到不同的 SO 库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载 ...
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
- 【开发必备】今天我们来谈谈Android NDK动态链接库(so文件)的一些见解
一.写在前面 直到现在,基本我写的每一个项目都会用到NDK动态链接库的知识,可见这个也的确十分常用.那么,今天,咱们就来谈谈它. 二.什么是ABI和so 1.发展 早起的Android系统几乎只支持A ...
- Android NDK Application.mk(中文翻译)
作者:阿宝 更新:2016-08-31 来源:彩色世界(https://blog.hz601.org/2016/07/26/android-NDK-application-mk/index.html) ...
- Android SO文件的兼容和适配
开发Android应用时,有时候Java层的编码不能满足实现需求,就需要到C/C++实现后生成SO文件,再用System.loadLibrary()加载进行调用,这里成为JNI层的实现.常见的场景如: ...
- Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization
A code sequence made up multiple instructions and specifying an offset from a base address is identi ...
- Syscall,API,ABI
系统调用(Syscall):Linux2.6之前是使用int0x80(中断)来实现系统调用的,在2.6之后的内核是使用sysentry/sysexit(32位机器)指令来实现的系统调用,这两条指令是C ...
- Atitit ABI FFI 的区别与联系 attilax总结
Atitit ABI FFI 的区别与联系 attilax总结 FFI stands for Foreign Function Interface. A foreign function interf ...
- SQL Server Management Studio 无法修改表,超时时间已到 在操作完成之前超时时
在修改表时,保存的时候显示:无法修改表,超时时间已到 在操作完成之前超时时间已过或服务器未响应 这是执行时间设置过短的原因,可以修改一下设置便能把执行时间加长,以便有足够的时间执行完修改动作. 在 S ...
随机推荐
- geoserver扫盲 openlayers相关
转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255702.html WMS: Web Map Service(Web地图服务 ) l 利 ...
- 关于ButterKnife 8.1.0使用遇到的问题
ButterKnife注解方式 和eventbus 差不多 都很好用 @OnClick(R.id.button) void onButtonClick() { //TODO implement Toa ...
- 录制屏幕(gif)便于在博客中嵌入软件licecap
- 转:ndk-stack打印崩溃堆栈
接下来详细说明ndk-stack的使用方法. 第一步:首先获得发生崩溃的共享库. 如果你是利用ndk-build应用的话,共享库会在$P ...
- (3)I2C总线的字节格式,时钟同步和仲裁
字节格式 发送到SDA线上的每个字节必须是8位.每次传输的字节数量是不受限制的.每个字节后必须跟着一个ACK应答位.数据从最高有效位(MSB)开始传输.如果从机要执行一些功能后才能接收或者发送新的完整 ...
- oracle 创建索引
一.索引简介 1.索引相当于目录 2.索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率. 3.索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取 ...
- NOIP2000 进制转换
题一 进制转换 (18分) 问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之 ...
- 归并排序,递归法,C语言实现。
利用归并排序法对序列排序的示意图(递归法): 一.算法分析:利用递归的分治方法:1.将原序列细分,直到成为单个元素:2.在将分割后的序列一层一层地按顺序合并,完成排序.细分通过不断深入递归完成,合并通 ...
- Go语言简介
Go语言简介 - Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率. Go语言简介 Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率. Go ...
- Learning JavaScript Design Patterns The Constructor Pattern
In classical object-oriented programming languages, a constructor is a special method used to initia ...