【问题标题】:Remove unused resources using Android Studio?使用 Android Studio 删除未使用的资源?
【发布时间】:2019-02-18 04:00:28
【问题描述】:

我想从我的项目中删除未使用的资源以减小应用程序的大小。有没有办法通过有效地使用 Android Studio IDE 来做到这一点?

【问题讨论】:

标签: android-studio android-resources


【解决方案1】:

适用于 Android 的 Gradle 构建系统支持 Resource Shrinking : 在构建时自动删除打包应用中未使用的资源。除了删除项目中在运行时实际上不需要的资源之外,这还会从您所依赖的库中删除资源(如果您的应用程序实际上不需要这些资源)。

例如,您的应用程序正在使用 Google Play 服务来访问 Google Drive 功能,而您当前没有使用 Google 登录,那么这将删除登录按钮的各种可绘制资源。

注意: 资源收缩只能与代码收缩(例如 ProGuard)结合使用。这就是它可以从库中删除未使用资源的方式;通常,库中的所有资源都会被使用,只有当我们删除未使用的代码时,才能清楚地看到剩余代码中引用了哪些资源。

要启用资源缩减,请按如下方式更新您的构建类型:

android {
    ...

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

而 google 最近正式推出了 Android Studio 2.0,现在他们在 IDE 本身中提供了一个选项。

右击应用 --> 重构 --> 删除未使用的资源

会提示

在确认操作之前选中该框,以便您也可以删除未使用的@id 声明。

  • 在 APK 优化方面也要考虑 Selecting a Format 事实。
  • 使用WebP 图像提供比JPEG 或PNG 更好的压缩。 Android 4.0(API 级别 14)及更高版本支持有损 WebP 图片,Android 4.3(API 级别 18)及更高版本支持无损和透明 WebP 图片。

【讨论】:

  • @Amir 是的,确实如此。
  • 所以我的应用程序大小从 39.98mb 变成了 39.99mb。但我无法想象我们没有任何未使用的资源(尤其是在我们正在使用的所有库中)。
【解决方案2】:

在安卓工作室。您可以使用 Android Lint。它将显示“字符串、资源、导入..”不使用

Analyze -> Inspect Code -> Whole Project -> OK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2015-05-10
    相关资源
    最近更新 更多