我想删除所有未使用的布局,字符串,绘图,颜色等从我的Android res目录。是否有任何工具可以给我一个文件列表,我可以从我的存储库中删除特定文件中的元素(例如未使用的字符串条目),这些文件不再使用?
当前回答
自从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没有删除所需的东西。
其他回答
如果你在使用多种香料时要小心。根据你所选择的口味,棉绒可能会给出虚假的未使用的资源。
当我们定义收缩资源为真时,我们也可以定义哪些资源我们想保留,哪些不保留 我已经在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 Assets Viewer的设计是为了帮助视觉检查图形包装(作为绘图)在你的。apk(你也可以只是上传一个压缩文件你的res文件夹,如果你喜欢):
http://www.cellebellum.net/AndroidAssetsViewer/
因此,对于删除未使用的资源,这可能与Lint检查一起工作,以帮助确保应该在那里的所有东西。它还可以帮助你识别绘图的其他一些潜在问题:错误的桶,错误的图形,等等。
在Android Studio中运行Lint并找到所有未使用的资源后,您可以从Inspection选项卡中单击其中一个。它提供了关于该问题的一些详细信息以及修复该问题的一些选项。其中之一是删除所有未使用的资源。选择该选项将删除所有未使用的资源。
我们开源了一个工具,可以根据lint输出删除android项目中所有未使用的资源。 可以在这里找到:https://github.com/KeepSafe/android-resource-remover
推荐文章
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 导航目标xxx对于这个NavController是未知的
- 使用ConstraintLayout均匀间距的视图
- 文件google-services错误。模块根文件夹中缺少Json。谷歌服务插件没有它就不能正常工作。