【发布时间】:2017-06-04 12:26:38
【问题描述】:
TLDR:如何将 proguard 映射传递给 javac 以针对混淆库进行编译?
这很长,但我不知道如何使它更短:
背景: 我有以下产品设置:
Android Studio 项目 - 图书馆模块 - (子)模块核心 - (子)模块 A - (子)模块 B - (子)模块 C - 示例应用模块 - ... 其他模块
每个库子模块 A、B、C 引用 Core 中的类,但 A、B、C 相互独立。概念上类似于 Play 服务,用户只能拥有代码和所需的子模块。 每个库子模块都有外部 API,但也有许多内部类 目标是能够将 Core、A、B、C 作为独立的 aar-s 分发。
目标: 将所有子模块混淆在一起,只暴露公共 API,但以混淆/优化的形式分别打包和分发。
问题: 我看不到如何通过简单的 gradle 配置来使用它。这里需要自定义构建系统,除非有任何已知的解决方案?
这里需要的是:
- Java-将所有子模块一起编译
- Proguard 将它们混淆在一起
- 单独运行所有其余的构建过程
每个模块的正常构建过程是: - 编译 -> 做所有事情,包括。混淆 -> 包
Core 之后的第一个子模块编译时直接设置失败。如果只能将 Proguard mapping.txt 作为输入传递给 Java 编译器……但我找不到这样的选项。有什么想法吗?
谢谢!!!
【问题讨论】:
标签: java android proguard android-proguard