Android、Flutter為不同的CPU架構(gòu)包打包APK(v7a、v8a、x86區(qū)別)
默認(rèn)情況下,Android和Flutter打包出來的Apk都是包含了所有架構(gòu)的,這樣打出來的apk體積相對于單架構(gòu)的apk有點(diǎn)大。
這時,我們就需要分別打出不同的架構(gòu)包。
架構(gòu)
一般來說,x86代表32位CPU,x64(或者叫x86-64)代表64位CPU。
在Android中,支持專有cpu架構(gòu)也是Application Binary Interface(ABI)。
Android開發(fā)者官網(wǎng)文檔中支持的ABI。

armeabi-v7a
此 ABI 適用于基于 32 位 ARM 的 CPU,2016年之前大部分Android手機(jī)的cpu都是此架構(gòu)。
arm64-v8a
此 ABI 適用于基于 ARMv8-A 的 CPU,支持 64 位 AArch64 架構(gòu),一般從2016年開始,主流Android手機(jī)的cpu架構(gòu)都是arm64的。
x86
此ABI支持X86架構(gòu),像Intel、AMD的cpu都是基于此架構(gòu)。在2012-2016這段時間,為了趕上移動互聯(lián)網(wǎng)的浪潮,Intel和Nvidia專門為Android手機(jī)和平板推出過X86架構(gòu)的CPU,可惜都失敗了?,F(xiàn)在一般不需要適配此架構(gòu),除非APK需要安裝在Intel平板上。
x86_64
此ABI支持x86-64位架構(gòu)的CPU。同上
對于
mips、mips64、armeabi這些架構(gòu)來說,Android從Android Plugin for Gradle 3.1.0(對應(yīng)gradle 4.4)后不再支持,因?yàn)閺腘DK r17開始,不再將這些 ABI 作為支持的目標(biāo)。
APK分包 Android
在模塊級的build.gradle文件中,在android代碼塊中添加splits模塊?;九渲萌缦?。
android { ... splits { // 基于不同的abi架構(gòu)配置不同的apk abi { // 必須為true,打包才會為不同的abi生成不同的apk enable true // 默認(rèn)情況下,包含了所有的ABI。 // 所以使用reset()清空所有的ABI,再使用include指定我們想要生成的架構(gòu)armeabi-v7a、arm-v8a reset() // 逗號分隔列表的形式指定 Gradle 應(yīng)針對哪些 ABI 生成 APK。只與 reset() 結(jié)合使用,以指定確切的 ABI 列表。 include "armeabi-v7a", "arm64-v8a" // 是否生成通用的apk,也就是包含所有ABI的apk。如果設(shè)為 true,那么除了按 ABI 生成的 APK 之外,Gradle 還會生成一個通用 APK。 universalApk false } }}
Flutter
使用以下命令后,會自動生成v7a、v8a、x86-64三種架構(gòu)的apk。
flutter build apk --split-per-abi
生成位置在build/app/outputs/flutter-apk/。

到此這篇關(guān)于Android、Flutter為不同的CPU架構(gòu)包打包APK(v7a、v8a、x86)的文章就介紹到這了,更多相關(guān)Android APK(v7a、v8a、x86)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android錄制語音文件wav轉(zhuǎn)mp3的方法示例
這篇文章主要介紹了Android錄制語音文件wav轉(zhuǎn)mp3的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
Android使用URL讀取網(wǎng)絡(luò)資源的方法
這篇文章主要為大家詳細(xì)介紹了Android使用URL讀取網(wǎng)絡(luò)資源的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
適配AndroidQ拍照和讀取相冊圖片的實(shí)現(xiàn)方法
這篇文章主要介紹了適配AndroidQ拍照和讀取相冊圖片的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Android Fragment實(shí)現(xiàn)列表和內(nèi)容聯(lián)動
這篇文章主要為大家詳細(xì)介紹了Android Fragment實(shí)現(xiàn)列表和內(nèi)容聯(lián)動效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
Android防止按鈕過快點(diǎn)擊造成多次事件的解決方法
這篇文章主要介紹了Android防止按鈕過快點(diǎn)擊造成多次事件的解決方法的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
Android之使用Android-query框架開發(fā)實(shí)戰(zhàn)(二)
這篇文章主要介紹了Android之使用Android-query框架開發(fā)實(shí)戰(zhàn)(二)的相關(guān)資料,需要的朋友可以參考下2015-10-10

