热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gradle的abi

gradle文件中对abi的配置官方文档对abi的介绍Android手机支持的abi:mips,mips64,X86,X86–64,arm64-v8a,armeabi,armeab
gradle 文件中对abi的配置

官方文档对abi的介绍

Android手机支持的abi:

mips, mips64, X86, X86–64, arm64-v8a, armeabi, armeabi-v7a

各个abi的含义

《gradle的abi》 android abi

通过配置支持的abi,能够让apk文件减到合适的体积,减少应用占用手机的空间。

一般来说,有两种方式来配置abi,相当于两种思路,一个是通过设置ndk的abiFilters字段,使apk能够兼容多种abi,但是这样会使得apk体积增大,所以,这种方式只适合配置主流的abi,使apk能在市场上的大部分手机成功安装使用。
配置方式如下:

android {
... // 其它配置
defaultConfig {
... // 默认配置
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'armeabi-v7a'
// 还可以添加
// 'arm64-v8a', 64 bit ARM architecture,it can use v7 version
// unless you are too much concerned about performance
// mips,mips64, There are no devices with MIPS
// x86_64, No android devices and anyway it can use X86 version
// armeabi, very old architecture. Unsupported after Android 4.4
// 'x86', Intel based devices
}
}
... // 其它配置
}

另一种方式是,splits的abi属性下面,定义好支持的abi,然后打包的时候,会根据不同的架构,打不同的包,每个包支持一种架构,这样能让不同架构的设备上安装最合适的apk,但是因为一个apk仅支持一种架构,所以互不兼容。
配置如下:

android {
... // 其它配置
splits {
abi {
reset()
enable true // 设为true,才能在打包时根据架构生成不同的apk文件
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86" // 设置所有要支持的abi类型
}
}
}

参考链接:
https://android.jlelse.eu/controlling-apk-size-when-using-native-libraries-45c6c0e5b70a


推荐阅读
author-avatar
坚强的浅悠轩_871
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有