从Android项目中删除所有未使用的资源

问题描述 投票:318回答:15

我想从我的Android res目录中删除所有未使用的布局,字符串,图形,颜色等。有没有给我的文件列表中的任何工具,我可以从我的资料库和细节的文件(例如未使用的字符串项)中的元素删除不再使用的?

android android-resources
15个回答
642
投票

您可以轻松地搜索来自Android Studio中未使用的资源。只需按下CtrlAltShifti并键入“闲置资源”(不带引号)。将执行皮棉。超级简单的方法(从IDE和其他的东西)运行lint命令。

要么

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

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

使用Do重构立刻删除所有资源。

更新:使用⌘AltShifti为Mac


4
投票

要检查string.xml。

这很容易(至少在我的Eclipse版本)

在Eclipse的Android(我有版本v22.6.2-1085508)

  • 留在项目名称单击“包资源管理器”
  • 选择“Android的工具”。
  • 选择“运行lint:检查常见的错误”。

现在,当您打开strings.xml中,你会看到,未使用的字符串被高亮显示。

您可以修复其他潜在问题。


3
投票

也许有用Andround未使用的资源是一个Java应用程序,它会扫描你的项目未使用的资源。未使用的资源不必要的占用空间,增加编译时间,和杂波IDE的自动完成列表。

要使用它,确保您的工作目录是你的Android项目的根目录,然后运行:

哈拉去endroidununsaedresoursasajara

https://code.google.com/p/android-unused-resources/


2
投票

当我们定义收缩资源真正到时候我们也可以定义哪些资源我们想要保留,哪些没有我添加在res xml文件/文件夹的原始命名keep.xml

在继续之前生成一个签名版本,并在APK分析工具,它会显示绘制-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_ *所有文件名信使在开始绘制文件夹都将被删除或周围其他的方式是我所定义特定的文件被删除

所以这样你可以从库中它的自我删除的文件,你也可以通过@布局/布局名称如果绘制已使用布局等去除布局....


1
投票

在这里提示的好工具有真正优秀的答案

但是,如果你正打算去掉PNG-绘项目(或其他图像文件),你也应该考虑所有你的项目的绘制-XXXX文件夹移动到一个临时文件夹,然后做一个重建一切,看看构建消息列表,它会告诉你哪些是缺失的。

如果你想获得哪些资源能有效利用的概况,并可能与图标字体或SVG资源替换它们,可能与Android Iconics库的帮助下这可以是专门用。


0
投票

Android的资产浏览器旨在帮助目视检查您的apk文件内包装(如可绘制)图形(也可以只需上传您的res文件夹的压缩文件,如果你喜欢):

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

因此,对于删除未使用的资源,这可能会协同工作以及与皮棉检查,以帮助确保一切都应该是有。它还可以帮助您确定您的可绘其他一些潜在的问题:错斗,错图形等


0
投票

您Android Studio中运行皮棉后,发现所有未使用的资源,您可以点击从检查标签其中之一。它提供了有关问题和几个选项来解决它的一些细节。其中之一是删除所有未使用的资源。选择该选项将删除所有未使用的资源。


95
投票

由于ADT 16可以使用Android Lint。这实在是令人惊讶的工具。

Android的皮棉是ADT 16(和工具16)的新工具,它扫描潜在的bug Android项目源。

以下是类型的错误,它看重的是一些例子:

  • 缺少翻译(和未使用的翻译)
  • 布局的性能问题(所有问题用来寻找老layoutopt工具,更多)
  • 未使用的资源
  • 不一致数组大小(当阵列在多个配置中定义)
  • 可访问性和国际化的问题(硬编码字符串,缺少contentDescription等)
  • 图标问题(如丢失密度,重复的图标,错尺寸等)
  • 可用性问题(例如文字字段不指定输入的类型)
  • 明显错误等等。

然而,它有一些问题(不知道是不是他们已经固定),如果你想删除数百理应未使用的资源,我建议资源中删除,以确保皮棉没有在手工编译项目几次除去需要的东西。


37
投票

由于在Eclipse中的ADT支持已经结束,我们必须使用Android的工作室。

在Android Studio中2.0+使用Refactor > Remove Unused Resources...

enter image description here


35
投票

针对Android的摇篮构建系统支持“资源缩水”:自动删除那些未使用的资源,在构建时,在打包应用程序。除了在项目未实际需要在运行时删除资源,这也将删除库您是取决于他们是否实际上并不是由你的应用程序所需要的资源。

要启用该行添加shrinkResources真正在你的文件的gradle。

   android {
        ...

        buildTypes {
            release {
                minifyEnabled true //Important step
                shrinkResources true
            }
   }
}

这里检查的官方文档,

http://tools.android.com/tech-docs/new-build-system/resource-shrinking


16
投票

我们开源的一个工具,删除所有未使用的资源基础上,皮棉产量您的Android项目。它可以在这里找到:https://github.com/KeepSafe/android-resource-remover


13
投票

当心,如果你正在运行的皮棉在使用多种口味。林特可能会根据您所选择的味道假未使用的资源。


7
投票

在Android Studio中2.0及以上的菜单中选择重构 - >点击删除未使用的资源...

(要么)

快捷键也可

按Ctrl + Alt + Shift +我一个对话框会出现,然后键入未使用的,你会发现选项中选择号码,并移除未使用的资源


5
投票

关注Android Wear开发者:“删除未使用的资源”将删除,你声明的能力名字的xml文件(RES /价值/ wear.xml)和手机将无法连接到手表。我花了几个小时试图找出这个bug在我的应用程序。


5
投票

在Android Studio中,

按名称>运行检验 - 分析

(快捷对于Mac移+命令+选项+ 1,按Ctrl + Shift + A在Windows / Linux)的。

和类型“未使用的资源”。

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

从列表中选择所需的检查,然后选择检查范围 - >确定enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.