我们最近将支持的最小SDK从API 21提升到了24。
显然,这个改变导致我们的APK大小从65MB增加到了103MB。从Android Studio中对APK的分析结果来看,所有的.so文件基本上都翻了一倍。
但是为什么会出现这种情况呢?没有更改gradle属性,只是更改了最小SDK。
您有什么想法可以减小APK大小吗?
我们最近将支持的最小SDK从API 21提升到了24。
显然,这个改变导致我们的APK大小从65MB增加到了103MB。从Android Studio中对APK的分析结果来看,所有的.so文件基本上都翻了一倍。
但是为什么会出现这种情况呢?没有更改gradle属性,只是更改了最小SDK。
您有什么想法可以减小APK大小吗?
extractNativeLibs
清单属性的默认值。AndroidManifest.xml
中设置android:extractNativeLibs="true"
以获得旧行为。阅读有关减小应用程序大小
的官方指南。
为了克服APK文件过大的问题,您可以使用ProGuard
规则。
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Proguard通过删除未使用的代码并将类、字段和方法重命名为语义模糊的名称来混淆您的代码,从而使代码库更小。结果是.apk文件大小更小。
打开proguard-rules.pro
。添加规则
演示
-keep class packageName.** { *; }
-keepclassmembers class packageName.** { *; }