AabResGuard 使用教程
1、项目介绍
AabResGuard 是字节跳动抖音技术团队开源的一款针对 aab 文件的资源混淆工具。它主要用于保护资源和优化包大小,通过资源去重、文件过滤、白名单、增量混淆等特性,有效减少应用的体积。AabResGuard 提供了 Gradle 插件和可以单独运行的 jar 包,支持命令行操作,适用于多种场景。
2、项目快速启动
安装与配置
-
克隆项目
git clone https://github.com/bytedance/aabresguard.git cd aabresguard
-
添加 Gradle 插件 在项目的
build.gradle
文件中添加以下内容:buildscript { repositories { mavenCentral() } dependencies { classpath 'com.bytedance.android:aab-res-guard:1.0.0' } }
-
应用插件 在应用模块的
build.gradle
文件中应用插件:apply plugin: 'com.bytedance.android.aabResGuard'
运行混淆
执行以下命令进行混淆:
./gradlew clean :app:bundleDebug --stacktrace
3、应用案例和最佳实践
应用案例
AabResGuard 已在 TikTok、Vigo 等多个海外产品上线,有效保护了资源并优化了包大小。通过实践验证,AabResGuard 上线后稳定运行,为产品提供了良好的用户体验。
最佳实践
- 资源去重:合并重复的资源文件,减少包体积。
- 文件过滤:支持对特定路径下的文件进行过滤,如
META-INF/
和lib/
路径。 - 白名单:设置白名单,确保关键资源不被混淆。
- 增量混淆:通过输入 mapping 文件,支持增量混淆,提高效率。
4、典型生态项目
AabResGuard 作为 Android App Bundle 资源混淆工具,与以下项目形成了良好的生态:
- Android App Bundle:Google 推出的 APK 动态打包、动态组件化的技术。
- Gradle:强大的构建工具,支持自动化构建和依赖管理。
- GitHub Actions:持续集成和持续部署工具,支持自动化测试和发布。
通过这些生态项目的配合,AabResGuard 能够更好地服务于 Android 应用的开发和发布流程。