默认情况下,Android和Flutter打包出来的Apk都是包含了所有架构的,这样打出来的apk体积相对于单架构的apk有点大。
这时,我们就需要分别打出不同的架构包。
架构一般来说,x86代表32位CPU,x64(或者叫x86-64)代表64位CPU。
在Android中,支持专有cpu架构也是Application Binary Interface(ABI)。
https://www.ynjddb.comAndroid开发者官网文档中支持的ABI。
此 ABI 适用于基于 32 位 ARM 的 CPU,2016年之前大部分Android手机的cpu都是此架构。
arm64-v8a此 ABI 适用于基于 ARMv8-A 的 CPU,tpwallet官方版支持 64 位 AArch64 架构, tp官方下载安装app一般从2016年开始,主流Android手机的cpu架构都是arm64的。
x86此ABI支持X86架构,像Intel、AMD的cpu都是基于此架构。在2012-2016这段时间,为了赶上移动互联网的浪潮,Intel和Nvidia专门为Android手机和平板推出过X86架构的CPU,可惜都失败了。现在一般不需要适配此架构,除非APK需要安装在Intel平板上。
x86_64
此ABI支持x86-64位架构的CPU。同上
对于 mips 、 mips64 、 armeabi 这些架构来说,Android从 Android Plugin for Gradle 3.1.0 (对应gradle 4.4)后不再支持,因为从NDK r17开始,不再将这些 ABI 作为支持的目标。
APK分包 Android在模块级的build.gradle文件中,在android代码块中添加splits模块。基本配置如下。
Flutter
使用以下命令后,会自动生成v7a、v8a、x86-64三种架构的apk。
生成位置在build/app/outputs/flutter-apk/。
到此这篇关于Android、Flutter为不同的CPU架构包打包APK(v7a、v8a、x86)的文章就介绍到这了,更多相关Android APK(v7a、v8a、x86)内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!