在一次通过中对多个库运行proguard模糊处理

时间:2018-01-17 11:24:59

标签: java android proguard obfuscation android-proguard

我有Android库A和B.让我们说库A是"核心"图书馆和图书馆B是"插件"对于那个核心库。

图书馆B通过私人apis依赖于图书馆A我希望对图书馆A的公开发布进行模糊处理。

我正在尝试将这些库构建到单独的AAR中,同时还试图模糊库A的private-api,并且仍然能够使用它们(来自库B的私有api)。

如果我禁用混淆,我可以将它们构建到单独的AAR中。然后在我的测试应用程序中单独导入库A和库B,一切正常。

我的主要问题是我无法在一次传递中混淆这两个库。显然,如果我使用混淆版本的A作为B内的依赖,它将不会有private-apis(需要以某种方式传输并使用proguard混淆的映射)。如果我在A中使用非混淆版本的A作为依赖,但是在最终应用程序中使用混淆版本的A和B作为依赖,它也不会工作。

我的最终目标是能够分别分发两个库的混淆版本。这允许用户选择他们希望在其应用程序内使用核心库的插件。

我在Run Proguard on multi-module project as "one piece"

中找到了类似的问题

但它涉及构建一个可以通过

实现的应用程序
consumerProguardFiles

感谢所有帮助!

0 个答案:

没有答案