Android

【Android】Multidex 突破64K限制 範例

【Android】Multidex 突破64K限制 範例

Android Multidex 是一種對於較大 Android 應用程式的支持,它的裝載體把單個應用中的最多 65,534 個方法分割到多個叫做 dex 文件的 dex 庫中,以滿足 Dalvik 無法一次建立大量方法的限制。

Multidex 技術有助於減少出現在沒有使用它時可能來自參考爆炸性增長的問題,從而可以建立較大且功能較豐富的 Android 應用程式。


文章目錄

  1. Multidex Android 5.0 API21 以上
  2. Multidex Android 5.0 API21 以下
  3. Developer Documents Multidex

1.Multidex Android 5.0 API21 以上

如果 minSdk 設為 21 以上,根據預設會啟用 Multidex,且不需要 Multidex 程式庫。
build.gradle
defaultConfig {
    minSdk 28
}

2.Multidex Android 5.0 API21 以下

build.gradle
android {
    defaultConfig {
        multiDexEnabled true
    }
}

dependencies {
    def multidex_version = "2.0.1"
    implementation "androidx.multidex:multidex:$multidex_version"
}
不覆寫 Application
AndroidManifest.xml
<application
    android:name="androidx.multidex.MultiDexApplication">
</application>
覆寫 Application
MyApplication.kt
class MyApplication : MultiDexApplication() {

    override fun attachBaseContext(base: Context?) {
        super.attachBaseContext(base)
        MultiDex.install(this)
    }
}
AndroidManifest.xml
<application
    android:name=".MyApplication">
</application>

3.Developer Documents Multidex

Open in Documents Multidex

發表迴響