在编译时从 Android 应用程序中删除未使用的资源
Remove unused resources from Android app on compile time
我目前正在尝试在编译时从应用程序中删除未使用的图形资源。我知道 Android Studio 可以帮助我手动删除未使用的,但我需要能够在编译时删除它们;这样,我可以 运行 Proguard 删除未使用的 类,然后删除那些 类.
中引用的任何图像
现在我可以做到这一点,它将任何未使用的图像 sh运行k 变成 1x1 黑点:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
我那里没有那些文件(甚至 sh运行k)。
有没有办法让 Proguard 真正删除这些图像(而不是缩小它们)或重命名它们?
也许我可以使用其他工具?
编辑:为了澄清起见,我需要移除或重命名 Proguard 呈现的 "unused" 资源。
要删除未使用的资源,您可以使用 ADT 16 中的 Android Lint 工具。它不仅可以帮助您删除未使用的资源,还可以帮助您找到潜在的错误。
http://tools.android.com/tips/lint
您也可以在发布模式下启用混淆器
ProGuard 工具通过删除未使用的代码并使用语义模糊的名称重命名 类、字段和方法来缩小、优化和混淆您的代码。结果是更小的 .apk 文件更难逆向工程。
http://developer.android.com/tools/help/proguard.html
您可以从 Android Studio 轻松搜索未使用的资源。只需按 Control + Alt + Shift + i 并输入 "Unused resources"(不带引号)。这将执行 lint。 运行 lint 命令(以及 IDE 中的其他内容)的超级简单方法。
如果您正在寻找一些实用工具,可以使用 https://code.google.com/archive/p/android-unused-resources/
或https://github.com/KeepSafe/android-resource-remover
希望这对您有所帮助。
ProGuard(或新的 Jack 编译器)仅收缩和混淆字节码。资源压缩工具随后删除或替换未使用的资源文件。
ProGuard 的商业扩展 DexGuard 缩小、优化和混淆了字节码、Android 清单、资源、资源文件、资产文件和本机库。据我所知,它是唯一同时分析和优化所有内容的工具。例如,它确实删除了未使用的 类 和相应的未使用的资源和资源文件。
[我们在 GuardSquare 开发 ProGuard 和 DexGuard]
我目前正在尝试在编译时从应用程序中删除未使用的图形资源。我知道 Android Studio 可以帮助我手动删除未使用的,但我需要能够在编译时删除它们;这样,我可以 运行 Proguard 删除未使用的 类,然后删除那些 类.
中引用的任何图像现在我可以做到这一点,它将任何未使用的图像 sh运行k 变成 1x1 黑点:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
我那里没有那些文件(甚至 sh运行k)。 有没有办法让 Proguard 真正删除这些图像(而不是缩小它们)或重命名它们? 也许我可以使用其他工具?
编辑:为了澄清起见,我需要移除或重命名 Proguard 呈现的 "unused" 资源。
要删除未使用的资源,您可以使用 ADT 16 中的 Android Lint 工具。它不仅可以帮助您删除未使用的资源,还可以帮助您找到潜在的错误。
http://tools.android.com/tips/lint
您也可以在发布模式下启用混淆器
ProGuard 工具通过删除未使用的代码并使用语义模糊的名称重命名 类、字段和方法来缩小、优化和混淆您的代码。结果是更小的 .apk 文件更难逆向工程。
http://developer.android.com/tools/help/proguard.html
您可以从 Android Studio 轻松搜索未使用的资源。只需按 Control + Alt + Shift + i 并输入 "Unused resources"(不带引号)。这将执行 lint。 运行 lint 命令(以及 IDE 中的其他内容)的超级简单方法。
如果您正在寻找一些实用工具,可以使用 https://code.google.com/archive/p/android-unused-resources/
或https://github.com/KeepSafe/android-resource-remover
希望这对您有所帮助。
ProGuard(或新的 Jack 编译器)仅收缩和混淆字节码。资源压缩工具随后删除或替换未使用的资源文件。
ProGuard 的商业扩展 DexGuard 缩小、优化和混淆了字节码、Android 清单、资源、资源文件、资产文件和本机库。据我所知,它是唯一同时分析和优化所有内容的工具。例如,它确实删除了未使用的 类 和相应的未使用的资源和资源文件。
[我们在 GuardSquare 开发 ProGuard 和 DexGuard]