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 ... 
随机推荐
- ORM Entities vs. Domain Entities under Entity Framework 6.0
			I stumbled upon the following two articles First and Second in which the author states in summary th ... 
- JZ2440开发笔记(4)——设置静态IP
			1. 配置静态ip地址 $sudo vim /etc/network/interfaces 原有内容只有如下两行: auto lo iface lo inet loopback 向末尾追加以下内容: ... 
- Codeforces Round #335 (Div. 2)B. Testing Robots解题报告
			B. Testin ... 
- javascript设计模式2
			接口:利 固化一部分代码 弊 丧失js的灵活性 在JavaScript中模仿接口 /* interface Composite{ function add(child); function remov ... 
- javascript设计模式1
			普通写法 function startAnimation(){ ... } function stopAnimation(){ ... } 对象类 /*Anim class*/ var Anim=fu ... 
- HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
			Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象 ... 
- Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013  http://www.microsoft.com/en-us/download/details.aspx?id=42313
			Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 http://www.microsoft. ... 
- javascript函数库
			//构造缓存函数 var memoizer = function (memo, fundamental) { var shell = function (n) { var result = memo[ ... 
- 说一说window.parent
			<iframe>标签是很常用的,嵌在页面之中,可以做独立的加载和刷新.比如说,页面分左右或者上下结构,一般左侧和上侧是导航部分,右侧和下侧是目标页面的展示部分,只需要设置导航链接的targ ... 
- Oracle- 初识
			我一直没用过ORACLE.今天总算装上了,说一下我装的过程,感觉还是有点折腾的. 一.我装的是ORACLE 9版本,从网上下载的总大小1.3G.是三个压缩包. 首先我解压三个压缩包后,使用UltraI ... 
