【问题标题】:Android: Remove unused resources when releasingAndroid:释放时删除未使用的资源
【发布时间】:2014-10-02 15:44:40
【问题描述】:

我已经看到可以在android-remove-unused-resources-before-shippingremove-all-unused-resources-from-an-android-project 检测未使用的资源(尤其是占用一些空间的媒体资源)。

我想知道我们是否可以在 ant build 文件中使用这些工具,以便在构建 release 包时忽略它们?

我正在使用 eclipse 和最新版本的 ADT 和 ant 来构建。

谢谢你:)

【问题讨论】:

标签: android ant android-resources


【解决方案1】:

要删除未使用的资源,您可以使用 ADT 16 中的 Android Lint 工具。它不仅可以帮助您删除未使用的资源,还可以发现潜在的错误。

http://tools.android.com/tips/lint

你也可以在发布模式下启用proguard

ProGuard 工具通过删除未使用的代码并使用语义模糊名称重命名类、字段和方法来缩小、优化和混淆您的代码。结果是 .apk 文件更小,更难进行逆向工程。

http://developer.android.com/tools/help/proguard.html

【讨论】:

  • +! ...一个离题的查询.. eclipse 默认不使用 proguard 吗?普通建筑不优化资源吗??
  • 好的,但是 proguard 是否会从 drawable-* 中删除未使用的资源,例如图像?对于 Lint 工具,我知道它可以帮助我找到未使用的资源,但问题是我想将这些资源保留在我的项目中,而不是我的发布 apk 中。这就是为什么我在发布构建时寻找一种自动化的方法。
  • @StinePike 您需要在项目属性文件中启用 proguard。当您将 apk 导出为单个 apk 时,它会混淆并将其打包为 .apk。
  • @Leoz 您可以在发布模式下启用 proguard。您可以解压.apk并检查自己
【解决方案2】:

在 Eclipse 中,您可以使用 Lint。它在 ADT 包中

【讨论】:

    【解决方案3】:

    在 Project Explorer > Android 工具 > 运行 Lint > 观看 Lint 选项卡上单击您的项目。

    您可以在 Lint 选项卡上看到很多问题。 并且,检查如下行...

    清除所有文件或任何资源。

    【讨论】:

      【解决方案4】:

      如果您喜欢 Linux 中的程序,那么 bash - 这是您的全部。
      但是对于 windows 或 mac,没有像 bash 这样的酷工具。这就是为什么您可以编写特殊程序来删除使用 android sdk 工具的未使用资源 - Lint
      你可以试试我的programm

      【讨论】:

        猜你喜欢
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 2021-06-10
        • 1970-01-01
        • 2011-05-30
        • 2015-03-15
        相关资源
        最近更新 更多