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_launcher、activity_main这些没用到的资源文件,别留着占空间。精准定位冗余内容
继续用Android Studio的Build > Analyze APK...功能,查看APK的文件结构,找到体积占比大的冗余资源/类,针对性清理。比如我之前发现默认的mipmap图标占了不少空间,直接换成了极简的单色图标,又省了几十KB。
按照这些步骤操作后,你的APK体积应该能大幅缩小,接近预期的几KB大小啦!
内容的提问来源于stack exchange,提问作者user9517865




