Android應用程序打包格式AAB的最佳實踐

一、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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:07
下一篇 2024-12-22 16:07

相關推薦

發表回復

登錄後才能評論