You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移compileSDKVersion至30后APK含SDK资源体积增大的解决办法

解决APK包含未引用Android SDK资源的问题

方案1:启用资源收缩(Resource Shrinker)

在Module级的build.gradle中开启资源收缩,配合代码混淆能最大化移除冗余资源:

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            // 调试阶段也可开启,提前验证效果
            shrinkResources true
            minifyEnabled false
        }
    }
}

如果有必须保留的特定资源,可在res/raw/keep.xml中声明,避免被误删

方案2:指定仅保留所需资源配置

通过resConfigs配置,仅打包应用实际需要的资源类型(比如指定语言、屏幕密度),直接排除SDK中其他冗余资源:

android {
    defaultConfig {
        // 示例:仅保留中文资源
        resConfigs "zh"
        // 如需限制屏幕密度,可追加配置,比如仅保留xxhdpi
        // resConfigs "xxhdpi"
    }
}

方案3:排查并清理冗余依赖

部分第三方依赖可能间接引入SDK冗余资源,可通过命令./gradlew app:dependencies查看依赖树,对不必要的依赖模块进行排除:

dependencies {
    implementation('com.example:some-library:1.0.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
}

验证方法

用Android Studio的APK Analyzer打开打包后的APK,查看资源目录,确认未引用的SDK资源已被移除,验证配置效果。

内容的提问来源于stack exchange,提问作者Shirisha Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 23:00:58