You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android极简时间日期应用APK含未使用资源与类,体积超标求助

解决极简Android应用APK冗余资源问题的实用方案

我之前开发超轻量工具时也碰到过一模一样的情况!明明只做了显示时间日期的功能,结果APK里塞满了没用到的资源和类,完全不符合预期的几KB大小。给你几个亲测有效的瘦包办法:

  • 开启资源收缩+代码收缩
    在模块级的build.gradle里同时启用这两个功能,它们会配合着自动清理未被引用的资源和代码。配置示例如下:

    android {
        buildTypes {
            release {
                minifyEnabled true // 开启代码收缩/混淆
                shrinkResources true // 开启资源收缩
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    

    注意:如果有资源是通过反射调用的,一定要在res/raw/keep.xml里手动声明保留,避免被误删。

  • 移除不必要的AppCompat依赖
    新建项目默认引入的AppCompat库会带来大量冗余的主题、图标资源。你的极简app完全可以直接继承原生Activity,不用AppCompatActivity,把build.gradle里的implementation 'androidx.appcompat:appcompat:x.x.x'删掉,这能砍掉一大块体积。

  • 用R8做深度代码优化
    现在Android Studio默认用R8替代ProGuard,它能更彻底地移除未使用的类、方法和字段。只要开启了minifyEnabled true,R8就会自动工作,不用额外复杂配置,优化效果比老版ProGuard好很多。

  • 清理第三方依赖与默认文件
    检查你的依赖列表,把所有非必要的第三方库删掉——显示时间日期完全不需要额外依赖。另外,手动删除res目录下默认生成的ic_launcheractivity_main这些没用到的资源文件,别留着占空间。

  • 精准定位冗余内容
    继续用Android Studio的Build > Analyze APK...功能,查看APK的文件结构,找到体积占比大的冗余资源/类,针对性清理。比如我之前发现默认的mipmap图标占了不少空间,直接换成了极简的单色图标,又省了几十KB。

按照这些步骤操作后,你的APK体积应该能大幅缩小,接近预期的几KB大小啦!

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

火山引擎 最新活动