一、AAB格式簡介
Android App Bundle(AAB) 是一種新的應用程序打包格式。通過使用 AAB,開發人員可以在應用發布到 Google Play 商店時,將應用程序的大小減小到最小限度,同時仍然能夠為不同的設備提供定製內容。
AAB 格式使開發者能夠使用動態功能來針對不同的用戶提供更好的體驗。例如,AAB 中可以包含多個APK,每個APK 針對不同的設備組合優化,而不是單個 APK 一大小適合所有設備。
二、使用AAB格式的好處
使用 AAB 格式的主要好處之一是,應用的下載大小可以更小。這意味著更快的下載和更少的設備存儲空間。此外,通過使用動態功能可以提供更好的用戶體驗。例如,可以為設備分配不同的資源,例如特定於設備屏幕大小的圖形。對於開發人員而言,構建和發布 AAB 應用程序與發布傳統 APK 應用程序幾乎相同。唯一的區別是,AAB 格式在發布時會生成多個 APK。
通過使用 AAB 格式,Google Play 商店可以自動構建將僅包含用於設備的資源的優化 APK。這意味著應用程序的分發時間更短,下載文件更小,運行速度更快,並且存儲佔用更少,因為僅下載對應於用戶設備配置的應用程序。另外,AAB 格式有助於解決 Android 應用尺寸過大時遇到的問題,因為其中包含的特定於設備並最終是對用戶可見並下載的 Google Play 生成的 APK 尺寸大大降低。
三、生成AAB應用程序包
要生成 AAB 應用程序語言和平台無關。在用 Android Studio 構建 AAB 應用程序之前,請確保已安裝最新版本的 Android Studio。
(一)在Android Studio中生成AAB應用程序包:
1、打開 Android Studio 的項目
2、點擊「生成」,然後從下拉列表中選擇「生成應用程序包(APK或AAB)」
3、選擇「Android App Bundle」選項,然後點擊「下一步」
4、選擇要為其生成應用程序包的模塊,然後單擊「完成」。
5、最後,Android Studio 會生成一個 .aab 文件,可以將其上傳到 Google Play 商店。
(二)使用gradlew命令生成AAB應用程序包:
1、打開終端並導航到項目目錄執行 gradlew 命令
2、運行命令 gradlew project:bundleDebug(或其他 variances),其中 project 是項目名稱。
3、Gradle 將生成一個 .aab 文件,可以將其上傳到 Google Play 商店。
四、DDL和ProGuard規則
使用 AAB 格式應用程序時,請確保已經包含以下 ProGuard 規則,這些規則有助於避免某些代碼被刪除:
# This will avoid removing Log.* calls -keep class com.orhanobut.logger.** { *; } # This is for gson custom objects -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } # This will avoid removing ButterKnife definitions # for the most common of bindings -keep class butterknife.** { *; } -keepclasseswithmembernames class * { @butterknife.* ; } # This will avoid removing Dagger related code -dontwarn javax.annotation.** -dontwarn javax.inject.** -keep class dagger.** { *; } -keep interface dagger.** { *; } -keepclassmembers class * { @javax.inject.* *; @dagger.* *; }
如果使用了 ndk-build,請將此行添加到 build.gradle 文件中:
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' ndk { //設置支持的ABI,此處為arm abiFilters 'armeabi-v7a' } } }
五、App Signing
使用了 AAB 格式時,Google Play 商店自動執行應用程序簽名流程,其中會產生與應用程序標識符相關聯的密鑰存儲庫私鑰。此密鑰存儲庫公鑰會與您的應用程序一起綁定到 Google Play 商店。
如果需要發布到 Play 商店之外的市場,則需要簽名 AAB 輸出文件。
六、AAB格式的變通方法
有些情況下,您可能無法使用 AAB 格式。以下是 AAB 格式的兩個變通方法:
(一)使用傳統 APK:
如果設備不支持下載和安裝 AAB 格式或您需要將應用程序分發到 Google Play 商店以外的第三方應用市場,則可以使用傳統 APK。傳統 APK 可以使用與一般的 APK 相同的方式進行編譯和分發。
(二)使用分離的資源:
如果您不需要使用 AAB 的所有優勢,但希望分離應用程序的資源,以便每個設備僅下載所需的內容,則可以使用 Android 中的 ResConfig 實用程序。
七、總結
本文介紹了 Android 應用程序打包格式 AAB 的最佳實踐。使用 AAB 格式可以更好地為不同的設備提供優化,減小應用程序的大小,提供更好的用戶體驗,提高應用分發效率,對於移動開發者而言是非常重要的一項技能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286192.html