APP_ABI
在Application.mk文件中有个预定义命令参数APP_ABI,是指明编译与调试的CPU架构。
目前Android系统支持以下七种不同的CPU架构:ARMv5,ARMv7(从2010年起),x86(从2011年),MIPS(从2012年),ARMv8,MIPS64和x86_64(从2014年),每一种都对应相应的ABI。
CPU架构 | ABI | |
ARMv5 | armeabi | 32位,从2010年 |
ARMv7 | armeabi-v7a | 32位,从2010年 |
x86 | x86 | 32位,从2011年 |
MIPS | mips | 32位,从2012年 |
ARMv8 | arm64-v8a | 64位,从2014年 |
MIPS64 | mips64 | 64位,从2014年 |
x86_64 | x86_64 | 64位,从2014年 |
相应生成arm64-v8a,mips64,x86_64下的文件需要NDK_r10以上版本支持。在Application.mk文件里配置APP_ABI的内容。例如指明某个具体的CPU架构
APP_ABI := arm64-v8a
或者直接生成所有的版本
APP_ABI := all
注意:根据不同的NDK版本,APP_ABI := all仅能生成当前版本支持的ABI信息库文件,如果需要生成最新的必须更新相应的NDK版本。
或者明确写明支持的CPU架构
APP_ABI := armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64
建议采用该方法
注意:由于目前版本支持的问题,采用Eclipse+NDK+Windows集成方式开发,对应编译生成对应CPU架构的so文件是没有问题的。但是不一定可以执行调试工作,启动NDK调试模式时将会提示无法识别对应的ABI。
注意:(1)、目前模拟器只有x86_64的没有arm64-v8a的;(2)、在用真机测试armv8-a时,最好先通过adb shell, cat /proc/cpuinfo ,来查看下真机是否是支持armv8-a;(3)、arm32和arm64有些配置参数不能共存,如-msoft-float仅在arm32位下支持,在arm64位下是不支持的.
https://my.oschina.net/u/615762/blog/615106
####################################################################################################################
APP_ABI目前能取得值
APP_ABI目前能取得值包括:(1)、32位:armeabi、armeabi-v7a、x86、mips;(2)、64位:arm64-v8a,x86_64, mips64;
最新文章
- js+html5 +devexpress属性总结
- javascript之享元模式
- 每日一“酷”之Queue
- php开发环境以及插件的配置安装
- Bzoj 1853: [Scoi2010]幸运数字 容斥原理,深搜
- linux下php上传文件注意
- 黑马程序员_Java集合框架
- 多线程——@synchronized(object)
- int与string的相互转换
- window(x64)+IIS+Access发布网站出现HTTP 错误 404.0 - Not Found
- Ubuntu 14.04 安装 Sublime Text 3
- 新浪新闻页面抓取(JAVA-Jsoup)
- python获取文件所在目录
- 突破这个四个阶段年薪没有50W,还好意思说是搞Java的?
- 数据库常用操作(mysql)
- 20145236《网络攻防》 Exp3 免杀原理与实践
- Kettle入门
- java程序中中常用到的linux操作
- 物理standby database的日常维护
- linux常用命令:crontab 命令