我想删除所有未使用的布局,字符串,绘图,颜色等从我的Android res目录。是否有任何工具可以给我一个文件列表,我可以从我的存储库中删除特定文件中的元素(例如未使用的字符串条目),这些文件不再使用?


当前回答

当我们定义收缩资源为真时,我们也可以定义哪些资源我们想保留,哪些不保留 我已经在res/raw文件夹中添加了xml文件,名为keep.xml

在进一步生成单签名构建和检入apk分析器工具之前,该工具将显示drawable-xhdpi-v4有messenger_button_send_round_shadow.png,我想在这次测试中删除它

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
       tools:shrinkMode="strict"
       tools:discard="@drawable/com_facebook_button_icon_blue.png,
       @drawable/com_facebook_button_icon_white.png,
       @drawable/com_facebook_button_like_icon_selected.png,
       @drawable/messenger_button_send_round_shadow.png,
       @drawable/messenger_*"  />

通过执行messenger_*所有文件从名称messenger在可绘制文件夹将被删除或其他方式是我已经定义了特定的文件被删除

这样你就可以自己从库中删除文件 你也可以通过@layout/布局名来删除布局 如果该drawable已被layout使用,那么....

其他回答

在Android Studio中,

Analyze ->按名称执行巡检

(Mac的快捷方式shift+command+option+i, Windows/Linux的Ctrl + shift+ A)。

并输入'unused resources'。

这样你就可以删除未使用的资源、变量、符号、本地化、库等。

在列表中选择巡检项,选择巡检范围->OK

自从ADT 16以来,你可以使用Android Lint。这真是个神奇的工具。

Android Lint is a new tool for ADT 16 (and Tools 16) which scans Android project sources for potential bugs. Here are some examples of the types of errors that it looks for: Missing translations (and unused translations) Layout performance problems (all the issues the old layoutopt tool used to find, and more) Unused resources Inconsistent array sizes (when arrays are defined in multiple configurations) Accessibility and internationalization problems (hardcoded strings, missing contentDescription, etc) Icon problems (like missing densities, duplicate icons, wrong sizes, etc) Usability problems (like not specifying an input type on a text field) Manifest errors and many more.

然而,它有一些问题(不知道它们是否已经修复),如果你想删除数百个据称未使用的资源,我建议在资源删除期间手动编译项目几次,以确保Lint没有删除所需的东西。

Android Assets Viewer的设计是为了帮助视觉检查图形包装(作为绘图)在你的。apk(你也可以只是上传一个压缩文件你的res文件夹,如果你喜欢):

http://www.cellebellum.net/AndroidAssetsViewer/

因此,对于删除未使用的资源,这可能与Lint检查一起工作,以帮助确保应该在那里的所有东西。它还可以帮助你识别绘图的其他一些潜在问题:错误的桶,错误的图形,等等。

Android Studio 2.0及以上版本 在菜单中选择Refactor—>单击Remove Unused Resources…

(or)

同时提供快捷方式

我按Ctlr + Alt + Shift + 一个对话框将弹出,然后输入未使用的, 你会发现有很多选择 选择并删除未使用的资源

你可以很容易地从Android Studio搜索未使用的资源。只需按下CtrlAltShifti并输入“未使用的资源”(不带引号)。将执行lint。超级简单的方法运行lint命令(和其他东西从IDE)。

OR

在Android Studio菜单>重构>删除未使用的资源…

选择要删除的资源。通过右键单击资源项,可以排除想要保留的资源。

使用Do Refactor一次性删除所有资源。

更新:mac使用⌘OptionShifti