Après la mise à niveau d'AGP, minSdkVersion 28, l'APK devient plus grand

Après AGP4.2, la compression des fichiers So est désactivée par défaut.
Après AGP7.1 et minSdkVersion>=28, la compression des fichiers dex est désactivée par défaut et le packaging des app bundles ne sera pas affecté.

Phénomène

Après la mise à niveau vers AGP7, j'ai constaté que l'apk emballé était devenu beaucoup plus volumineux. Faites glisser l'apk dans le studio Android pour analyse.
Par rapport à l'apk précédent, j'ai constaté que le fichier so principal a augmenté et que le fichier dex n'a pas été compressé.

donc compression de fichiers

Après AGP3.6, la compression est donc désactivée par défaut, il suffit de la déclarer comme vraie

minSdkVersion < 23 或 Android Gradle plugin < 3.6.0情况下,打包时 android:extractNativeLibs=true;
minSdkVersion >= 23 并且 Android Gradle plugin >= 3.6.0情况下,打包时android:extractNativeLibs=false;
AndroidManifest.xml
    <application
        android:extractNativeLibs="true"
     ...>

ou

android {
    
    
    packagingOptions {
    
    
        jniLibs {
    
    
            useLegacyPackaging true
        }
    }
}

compression de fichier dex

android {
    
    
    packagingOptions {
    
    
        dex {
    
    
            useLegacyPackaging true
        }
    }
}

référence

https://stackoverflow.com/questions/75089735/why-does-minsdkversion-27-28-double-apk-size
https://developer.android.com/reference/tools/gradle-api/7.1/com/android /build/api/dsl/DexPackagingOptions#useLegacyPackaging:kotlin.Boolean
https://blog.csdn.net/zl_china/article/details/125212864
https://www.cnblogs.com/xiaxveliang/p/14583802.html

Guess you like

Origin blog.csdn.net/b1tb1t/article/details/128334263