proguard android 配置,android – Proguard忽略库的配置文件

我现在面对一个非常奇怪的问题吗?

我有一个具有两个模块的Gradle应用程序,一个主要模块和一个库模块。

>在两个模块中,我已经声明了一个正确的proguard-rules.pro文件路径

>在两个.gradle文件中我有minifyEnabled为true

这是第一个问题:即使minifyEnabled在库中为false,它也会被混淆。它根本没有任何效果,似乎取决于主模块的设置。现在我使用了proguard,而我从来没有经历过这样的行为。

此外,图书馆的proguard-rules.pro似乎完全被忽视。无论我在哪里声明,它都没有被使用,结果总是一样的(总是反编译来查看结果)。它使用默认设置进行模糊处理。

我使用了一个无效的proguard文件名来查看该文件是否被触摸,确实有错误的名称,它也抱怨proguard文件中的语法错误…

我不知道它是否与Android Studio的更新有关,因为它还建议我使用“minifyEnabled”而不是“runProguard”。

如何管理proguard来使用图书馆的proguard-rules.pro?

编辑:

我已经做了一个示例项目来澄清我的问题

我的图书馆的proguard配置

我图书馆的毕业生

最后我得到的结果。在proguard配置中排除/包含什么都没关系

你可以看到,proguard规则在主模块上工作得很好。它应该做什么但它总是完全模糊我的图书馆a.a ….

它也彻底删除了图书馆的活动,根本不应该发生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ProGuard 是一个可以帮助我们混淆、缩减和优化 Android 应用程序的工具。在使用 ProGuard 时,我们需要配置一个 proguard-rules.pro 文件,告诉 ProGuard 应该如何处理我们的代码。下面是一个简单的 ProGuard 配置文件示例: ``` # 优化选项 -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose # 混淆选项 -keepattributes Signature -keepattributes SourceFile,LineNumberTable -renamesourcefileattribute SourceFile -keepattributes *Annotation*,EnclosingMethod # 忽略不需要混淆的类或方法 -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keep public class org.apache.commons.logging.LogFactory { public static ** getLog(java.lang.String); } # 忽略不需要混淆的 -dontwarn android.support.** -dontwarn com.google.android.gms.** -dontwarn org.apache.commons.logging.** # 压缩选项 -optimizations !code/simplification/cast,!field/*,!class/merging/* -dontoptimize ``` 这个配置文件包含了优化选项、混淆选项、忽略不需要混淆的类或方法、忽略不需要混淆的和压缩选项。我们可以根据自己的需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值