我想在库模块中启用ProGuard,但出现编译错误,该包不存在。在库模块中应用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.
这里的文档类文件存在库模块中
ProGuard的文件规则
-keep class com.alprlib.alpr.** { *; }
-keepclassmembers class alprlib.alpr.** {*;}
库一无所知的消费者。就图书馆而言,没有人使用它的代码,所以一切都被proguard删除。你必须手动告诉proguard不要删除任何类。只有这样,您才可以另外告诉它混淆不属于图书馆公共API的名称。 [我已经在这里了。](http://stackoverflow.com/a/42758629/2444099) –
@EugenPechanec ohh哇!听起来很不错。请你详细解释一下 –
https://www.guardsquare.com/en/proguard/manual/examples#library –