我想在库模块中启用ProGuard,但是收到编译错误,该包不存在。在库模块中应用ProGuard后,为什么包不存在?
库模块build.gradle
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
记录错误
/home/hitesh/Documents/Android Studio Project/ALPR-Sample/app/src/main/java/com/alpr/sample/GalleryActivity.java
Error:(15, 32) error: package com.alprlib.alpr.doc does not exist
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
这里doc类文件存在于库模块
中ProGuard文件规则
-keep class com.alprlib.alpr.** { *; }
-keepclassmembers class alprlib.alpr.** {*;}
答案 0 :(得分:1)
你可以写你的proguard文件 -
-keep public class * extends android.app.Activity
或者你想保留什么课程。 看看这个 - https://www.guardsquare.com/en/proguard/manual/examples
答案 1 :(得分:0)
我有必要在库项目中指定库的proguard设置(比如哪些库文件不应被混淆)。我发现我还需要在我的应用程序中包含我的库模块中的proguard配置。为此,我将以下内容添加到了我的库defaultConfig
build.gradle
部分
consumerProguardFiles 'proguard-rules.pro'
然后在我的库模块中配置proguard-rules.pro文件以保留重要序列化类的名称。