APK 文件大小优化

以下内容是在实际项目中经过验证的实践,进过以下步骤,原来12M 的安装包压缩为 7.5M 左右,变化很明显。

通过proguard来删除无用代码

在build.gradle中进行如下配置:

android {
    buildTypes {
        release {
            minifyEnabled true // 开启混淆
        }
    }
}

虽然这种方式成果显著,但也需要配合正确的proguard配置才能起作用

去除一些so文件

只保留与设备架构相关的库文件夹可以大大降低lib文件夹的大小。配置方式也十分简单,直接配置abiFilters即可。下面的配置就是只保留 armeabi、armeabi-v7a 和 x86 平台的 so 文件

defaultConfig {
    ndk {
        abiFilters "armeabi", "armeabi-v7a" ,"x86"
    }
}

通过 AS 删除无用资源

在 AS 的任何文件中右击,选择清除无用资源即可删除没有用到的资源文件

APK 文件大小优化_第1张图片
remove_unused_res.png

打包时剔除无用资源

shrinkResources 顾名思义——收缩资源。将它设置为true后,每次打包的时候就会自动排除无用的资源。需要注意的是,shrinkResources 需要和 minifyEnabled true 配合使用,否则不生效

buildTypes {
    release {
        minifyEnabled true // 开启混淆
        shrinkResources true // 去除无效的资源文件
    }
}

删除无用的语言

大部分应用其实并不需要支持几十种语言的,我们可以只支持中文。可以在项目的 build.gradle 中进行如下配置

buildTypes {
    defaultConfig {
        resConfigs "zh"
    }
}

参考来源

  • App瘦身最佳实践——天之界线

你可能感兴趣的:(APK 文件大小优化)