我希望在我的库中使用Proguard,但是规则文件应该设置在库内部。这意味着我不想在我的应用程序模块中显式设置属于库的规则。
我发现有一些类似于consumerProguardFiles属性的东西。我的设置:
库gradle:
buildTypes {
debug {
debuggable true
minifyEnabled false
}
release {
minifyEnabled true
consumerProguardFiles 'proguard-rules.pro'
}
}
应用程式 Gradle:
buildTypes {
debug {
applicationIdSuffix ".debug"
debuggable true
minifyEnabled false
signingConfig signingConfigs.debug
}
release {
debuggable false
minifyEnabled true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
为什么上面的配置不起作用?我收到了来自库中找不到包/符号的错误。
编辑:
重要的是,我的库的proguard-rules.pro和主应用程序模块的proguard-rules.pro都是空的。
示例错误:
Error:(3, 60) error: package (my library package here) does not exist
(...)
Error:(16, 9) error: cannot find symbol class NavigationStructureModel
(...)
有超过一百个错误。我发现我的整个库中的所有类都不见了。
proguard-rules
文件都是空的,Proguard "吃掉"或将它们排除了。 - Shark