如何只为一个模块启用proguard
How to enable proguard for only one module
我有一个集成了 payumoney 的支付应用程序。在我添加混淆器之前它工作正常。最近我将 Proguard 添加到我的 build.gradle 文件(模块:app)
` buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}`
当我继续付款时,此应用程序关闭后。当我将 minifyEnabled
更改为 false
时,它工作正常。
以下是我的Module:PayuMoneySdkBuild.gradle文件
`buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}`
我该如何解决这个问题?我无法禁用proguard。
我可以只为 Module:app 启用混淆器吗?它会解决问题吗?
我是编程新手。请帮忙!!
add below lines in proguard-rule.pro file
-dontwarn okio.**
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
-keep class com.** { *; }
解决方法是查找需要免除的方法和类,添加到proguard规则中,如下..
-keep class com.mm.** {*;}
-keep class com.company.** {*;}
-keepclassmembers class com.mm.** {*;}
-keepclassmembers class com.company.** {*;}
我有一个集成了 payumoney 的支付应用程序。在我添加混淆器之前它工作正常。最近我将 Proguard 添加到我的 build.gradle 文件(模块:app)
` buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}`
当我继续付款时,此应用程序关闭后。当我将 minifyEnabled
更改为 false
时,它工作正常。
以下是我的Module:PayuMoneySdkBuild.gradle文件
`buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}`
我该如何解决这个问题?我无法禁用proguard。
我可以只为 Module:app 启用混淆器吗?它会解决问题吗?
我是编程新手。请帮忙!!
add below lines in proguard-rule.pro file
-dontwarn okio.**
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
-keep class com.** { *; }
解决方法是查找需要免除的方法和类,添加到proguard规则中,如下..
-keep class com.mm.** {*;}
-keep class com.company.** {*;}
-keepclassmembers class com.mm.** {*;}
-keepclassmembers class com.company.** {*;}