我想在库模块中启用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.** {*;}发布于 2018-02-06 14:03:27
对我来说,在库项目中为库指定proguard设置(比如哪些库文件不应该被混淆)是有意义的。我发现我还需要在我的应用程序中包含来自我的库模块的proguard配置。为此,我将以下内容添加到我的库的build.gradle中的defaultConfig部分
consumerProguardFiles 'proguard-rules.pro'然后在我的库模块中配置proguard-rules.pro文件,以保存重要的序列化类的名称。
发布于 2017-05-19 20:24:47
你可以在你的前卫文件上写-
-keep public class * extends android.app.Activity 或者任何你想保留的班级。看看这个- https://www.guardsquare.com/en/proguard/manual/examples
https://stackoverflow.com/questions/44069851
复制相似问题