AndResGuard 使用教程
项目介绍
AndResGuard 是一个帮助你缩小 APK 大小的工具,它的原理类似 Java Proguard,但是只针对资源。它会将原本冗长的资源路径变短,例如将 res/drawable/wechat
变为 r/d/a
。AndResGuard 不涉及编译过程,只需输入一个 APK(无论签名与否,debug 版 release 版均可),可得到一个实现资源混淆后的 APK,以及对应资源 ID 的 mapping 文件。
项目快速启动
1. 在项目根目录下 build.gradle 文件中引入插件依赖
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.21'
}
}
2. 在 app 目录下新建一个 and_res_guard.gradle 文件
创建方式可以复制一个 build.gradle,内容如下:
apply plugin: 'AndResGuard'
andResGuard {
mappingFile = null
use7zip = true
useSign = true
keepRoot = false
fixedResName = "arg"
}
3. 执行任务
在 Android Studio 的终端中执行以下命令:
./gradlew resguard
应用案例和最佳实践
应用案例
AndResGuard 已经被广泛应用于多个大型项目中,例如微信、QQ 等。通过使用 AndResGuard,这些项目成功地减小了 APK 的大小,提高了应用的下载和安装速度。
最佳实践
- 配置白名单:在 and_res_guard.gradle 文件中配置白名单,以确保某些资源不会被混淆。
- 使用 7zip 压缩:在 Linux 或 Mac 平台上使用 7zip 进行压缩,可以获得更高的压缩比。
- 定期更新插件:定期更新 AndResGuard 插件,以获得最新的功能和性能优化。
典型生态项目
AndResGuard 作为一个资源混淆工具,与以下项目形成了良好的生态:
- ProGuard:Java 代码混淆工具,与 AndResGuard 配合使用,可以全面保护应用代码和资源。
- 7zip:高效的文件压缩工具,AndResGuard 支持使用 7zip 进行 APK 压缩,进一步减小 APK 大小。
- Apktool:APK 反编译工具,AndResGuard 可以防止 APK 被 Apktool 反编译,提高应用的安全性。
通过以上步骤和最佳实践,你可以有效地使用 AndResGuard 来减小 APK 的大小,提高应用的性能和安全性。