Reference 可以使用proguard在多个gradle模块之间进行混淆吗?

Reference 可以使用proguard在多个gradle模块之间进行混淆吗?,reference,gradle,android-studio,proguard,obfuscation,Reference,Gradle,Android Studio,Proguard,Obfuscation,我有一个Gradle项目,包含主模块和一个库模块,每个模块都是用proguard设置的 我的问题是,在库模块中被模糊化为“A”或类似的类仍然以原始名称从主模块引用,比如说“MyUtil”,它已经不存在了 如果可能的话,我不想将这个类从混淆中排除,那么有没有任何方法可以进行混淆访问模块?听起来您需要在您的库中创建一个API类,该类被排除在混淆中。API类将只是一个门面,并调用您的内部库方法。使用 消费者保护文件 在图书馆项目中 现在它可以跨模块工作,无需任何操作谢谢。这是一种我没有想到的方法,在某

我有一个Gradle项目,包含主模块和一个库模块,每个模块都是用proguard设置的

我的问题是,在库模块中被模糊化为“A”或类似的类仍然以原始名称从主模块引用,比如说“MyUtil”,它已经不存在了


如果可能的话,我不想将这个类从混淆中排除,那么有没有任何方法可以进行混淆访问模块?

听起来您需要在您的库中创建一个API类,该类被排除在混淆中。API类将只是一个门面,并调用您的内部库方法。

使用

消费者保护文件

在图书馆项目中


现在它可以跨模块工作,无需任何操作

谢谢。这是一种我没有想到的方法,在某些方面确实应该有效。问题是,我还通过向四周传递对象与库进行通信,如果您的解决方法不起作用,那么也会排除对象,或者像我所做的那样,在一次传递中混淆主模块和库build@scottyab,您是否使用gradle完成了单次传递?如果是的话,你能分享一些建议吗?我的每个模块都被顺序弄乱了,所以编译完全中断了。@biddster您是否将它们作为一个模块放在同一个工作区/项目和每个库中?也许会提出一个新问题?嘿,我面临着同样的问题,你能详细说明一下你是如何解决这个问题的吗?我尝试使用consumerProguardFiles,但是依赖模块创建了一个没有混淆的aar。我需要将两个模块混淆在一起,以便它们可以通信。@Fashizel嘿。如果你想混淆你的库,你需要使用proguardFiles getDefaultProguardFile('proguard-android.txt'),但是如果你想将proguard规则附加到你的库中,使用你的库的应用程序会识别它,你需要ConsumerProGuardFiles是的,但我最终得到一个aar(应用程序)模糊化和库aar不是。我想有2个aar的模糊分类库,那么consumerProguardFiles应该可以在库中为您工作,该库当前未进行模糊分类。尝试向proguard文件添加详细信息,以检查是否一切正常,并检查是否在正确的构建类型中使用ConsumerProGuard文件嘿,因此我尝试跟踪proguard生成的所有文件,发现它混淆了库,甚至写入了减少了多少类。并且输出在分解的aar文件夹中,即使在那里库也没有被混淆。谢谢你的帮助:)