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 ...
随机推荐
- ASCII,Unicode和UTF-8
转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 今天中午,我突然想搞清楚Unicode和UTF-8之间的关 ...
- spring--AOP1--6
AOP 之 6.1 AOP基础 6.1.1 AOP是什么 考虑这样一个问题:需要对系统中的某些业务做日志记录,比如支付系统中的支付业务需要记录支付相关日志,对于支付系统可能相当复杂,比如可能有自己的 ...
- hunnu---11547 你的组合数学学得如何?
解析:比较简单的DP,从左向右一个一个连续着放,dp[X][Y]表示到第X个硬币的时候Y状态的方案数,Y=0表示x左边那个不是正面的,Y=1表示x左边那个是正面 如果左边不是正面,那么当前放正面的就把 ...
- linux驱动程序之电源管理 之linux休眠与唤醒(2)
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务:(2)调用注册的设备的suspend的回调函数:(3)按照注册顺序休眠核心设备和使CPU进入休眠态. 冻结进程是 ...
- HW2.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- 小波变换和motion信号处理(三)(转)
这篇文章算太监了,去作者blog提问去吧:http://www.kunli.info/2012/04/08/fourier-wavelet-motion-signal-3/ 从前两篇发布到现在,过去一 ...
- log4j输出信息到mongodb
官网 http://log4mongo.org/display/PUB/Log4mongo+for+Java 保存主机信息,方法等 http://my.oschina.net/chi ...
- 在SCVMM2012R2中删除失去联系的VM GateWay
当VM Gateway失去联系,无法使用,直接删除GW,或者在VM Network中删除GW连接,均会出现如下错误提示: 错误(21426)对配置提供程序 4ee559f1-f479-480c-945 ...
- Unsupervised Feature Learning and Deep Learning(UFLDL) Exercise 总结
7.27 暑假开始后,稍有时间,“搞完”金融项目,便开始跑跑 Deep Learning的程序 Hinton 在Nature上文章的代码 跑了3天 也没跑完 后来Debug 把batch 从200改到 ...
- FragmentTransactionExtended
https://github.com/DesarrolloAntonio/FragmentTransactionExtended