赞
踩
1.armeabi-v7a: 第7代及以上的 ARM 处理器,很多手机还在使用。
2.arm64-v8a: 第8代、64位ARM处理器,目前主流手机CPU架构。
3.armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
4.x86: 平板、模拟器用得比较多。
5.x86_64: 64位的平板。
目前手机基本使用的都是ARM架构,X86架构平板在使用。armeabi架构是早期使用,现在基本只用考虑v7和arm64-v8a两种。
google官方文档对Android ABI架构的说明:https://developer.android.com/ndk/guides/abis?hl=zh-cn
默认情况下,Gradle(无论是通过 Android Studio 使用,还是从命令行使用)会针对所有非弃用 ABI 进行构建。要限制应用支持的 ABI 集,请使用 abiFilters。例如,要仅针对 64 位 ABI 进行构建,请在 build.gradle 中设置以下配置:
android {
defaultConfig {
ndk {
abiFilters 'arm64-v8a', 'x86_64'
}
}
}
如果需要适配多种CPU架构,建议使用分包方式或者Google推荐的App Boudle。
前者直接将不同ABI的so集成到对应APK中,输出CPU架构对应的APK,例如
app-hdpiX86-release.apk:仅包含适用于 hdpi 密度和 x86 ABI 的代码和资源。
app-hdpiX86_64-release.apk:仅包含适用于 hdpi 密度和 x86_64 ABI 的代码和资源。
app-mdpiX86-release.apk:仅包含适用于 mdpi 密度和 x86 ABI 的代码和资源。
app-mdpiX86_64-release.apk:仅包含适用于 mdpi 密度和 x86_64 ABI 的代码和资源。
后者利用google play应用分发机制,先上传打包好的aab文件,google后台会将aab分割成多个apk,包括base.apk以及组合了abi、资源文件、density等属性的apk ,用户通过google play安装应用时会将这些apk进行组合后安装到设备上。另外也可以通过google提供的本地工具bundletool对aab文件进行处理获取apks文件,选取合适的进行本地安装即可,本篇不详细展开讲解。
可使用两个shell命令查看
adb shell getprop ro.product.cpu.abi
或者
adb shell
cat /proc/cpuinfo
需要注意的是
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。