Apk瘦身解决方案

331 阅读1分钟

代码瘦身

混淆

buildTypes{
    release{
        //开启混淆
        minifyEnabled true
        // 混淆配置
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

去除功能重复和可以砍掉的三方库、删除无用的代码,重构代码,减少代码量。

资源瘦身

资源混淆 AndResGuard
去除无用资源

android{
    ....
    buildTypes{
        release{
            shrinkResources true
        }
    }
}

压缩图片,Json等文件,去除多余语言包,layout文件,shape等资源可以通过代码实现,优化项目架构,避免多个模块存放同样的资源文件

android {
    ...
    defaultConfig {
        ...
        // 只保留中文和默认语言
        resConfigs "zh-rCN"
        // 只保留xhdpi资源图片
        resConfigs "xhdpi"
    }
    ...
} 

so文件瘦身

defaultConfig {
    ndk {
        abiFilters "armeabi"
    }
}

只保留指定架构的so文件