tel*_*ele 5 java obfuscation android proguard android-proguard
我有 android 库 A 和 B。可以说库 A 是“核心”库,库 B 是该核心库的“插件”。
库 B 通过 private-api 依赖于库 A,我希望对库 A 的公开发布进行混淆。
我正在尝试将这些库构建到单独的 AAR 中,同时还尝试混淆库 A 的私有 api,但仍然能够使用库 B 中的它们(私有 api)。
如果禁用混淆,我可以将它们构建到单独的 AAR 中。然后只需在我的测试应用程序中分别导入库 A 和库 B 即可,一切正常。
我的主要问题是我无法一次性混淆这两个库。显然,如果我使用 A 的混淆版本作为 B 中的依赖项,它不会有私有 api(需要以某种方式传输和使用混淆混淆的映射)。如果我使用 A 的非混淆版本作为 B 内部的依赖项,但在最终应用程序中使用 A 和 B 的混淆版本作为依赖项,它也不会工作。
我的最终目标是能够分别分发两个库的混淆版本。这允许用户选择他们希望与应用程序内的核心库一起使用的插件。
我在以下位置发现了类似的问题:Run Proguard on multi-module project as "onepiece"
但它涉及构建一个可以通过以下方式实现的应用程序
consumerProguardFiles
Run Code Online (Sandbox Code Playgroud)
感谢所有的帮助!