1. APK瘦身, 一键删除res下无用的资源
1. APK瘦身, 一键删除res下无用的资源
2. APK瘦身, 一键删除无用java文件
温馨提醒 删除之前请先备份
一. 问题描述:
在项目开发中, 由于需求不断的变动, 我们的页面也在不断的变化. 无用的文件也就越来越多, 这样就会加大apk的体积.
情况1: 有时候项目比较赶, 也不知道有些文件有没有用到, 也不敢乱删, 怕出问题, 久而久之无用文件就越来越多了
情况2: 如果你是半路接手人家的项目, 里面本身就有很多无用的文件, 一个一个找也不太现实.
这篇文章主要解决的问题: 如何删除res下无用的资源.
想删除无用的java文件, 请查看: 2. 利用Android Studio自带工具 删除无用java文件
二.解决办法: 利用Android Studio自带工具
可能有的文章用的是Analyze, 不过单纯的res资源来说, 我感觉还是Refactor方式好用一些, 原理应该都一样.
当然了, 删除无用java类还是会用到Analyze.
测试环境: android studio3.0以上
3.0以前的版本没测试过.
步骤1:
res下右键, 选择 Refactor --- Remove Unused Resources 如下图:
步骤2:
弹出一个确认框, 建议选择Preview
Refactor: 直接删除无用的资源;
Preview: 先预览无用的资源, 以免删错;
步骤3:
items to be deleted 是所有的无用资源文件
Unused Resource... 是分类, 无用资源具体在哪个文件夹. 点击展开即可看到.
步骤4: 如果preview里部分资源不想删除怎么办? 如下图:
把鼠标移到不想删除的具体文件或文件夹 右键, 选择Remove, 从preview中移除, 然后选择左下角的Do Refactor 即可.
例如: 我把图片a从preview中移除, 最终删除无效资源的时候, 图片a就不会被删除.
三.上面搜索出来的"无效资源文件"指的是哪些资源文件呢?
指的是没有直接或间接被java文件引用的资源文件.
1.如下图: 图片a被Test类引用了, 即使Test没有被使用, 但是图片a也会被认定为有效资源.
2.如下图: 虽然图片a被activity_main2引用了, 但是, 假如activity_main2没有被java文件引用的话, 那图片a和activity_main2.xml都会判定为无效资源
到这里就结束了, 希望能帮助到大家, 如果有什么问题, 欢迎在下方评论.