二.解决办法: 利用Android Studio自带工具
可能有的文章用的是Analyze, 不过单纯的res资源来说, 我感觉还是Refactor方式好用一些, 原理应该都一样.
当然了, 删除无用java类还是会用到Analyze.
测试环境: android studio3.0以上
3.0以前的版本没测试过.
步骤1:
res下右键, 选择 Refactor --- Remove Unused Resources 如下图:
first.png
步骤2:
弹出一个确认框, 建议选择Preview
Refactor: 直接删除无用的资源;
Preview: 先预览无用的资源, 以免删错;
dialog.png
步骤3:
items to be deleted 是所有的无用资源文件
Unused Resource... 是分类, 无用资源具体在哪个文件夹. 点击展开即可看到.
Preview1.png
步骤4: 如果preview里部分资源不想删除怎么办? 如下图:
把鼠标移到不想删除的具体文件或文件夹 右键, 选择Remove, 从preview中移除, 然后选择左下角的Do Refactor 即可.
例如: 我把图片a从preview中移除, 最终删除无效资源的时候, 图片a就不会被删除.
preview2.png
三.上面搜索出来的"无效资源文件"指的是哪些资源文件呢?
指的是没有直接或间接被java文件引用的资源文件.
1.如下图: 图片a被Test类引用了, 即使Test没有被使用, 但是图片a也会被认定为有效资源.
图1.png
2.如下图: 虽然图片a被activity_main2引用了, 但是, 假如activity_main2没有被java文件引用的话, 那图片a和activity_main2.xml都会判定为无效资源
图2.png
作者:liys_android
链接:https://www.jianshu.com/p/0eaa782be822