我正在将一个应用程序从Gradle Groovy迁移到Kotlin。该应用程序使用Dexguard,并使用名为getDefaultDexGuardFile
的方法来加载配置文件。
release {
signingConfig signingConfigs.upload
proguardFiles getDefaultDexGuardFile('dexguard-release-aggressive.pro')
proguardFiles 'dexguard-rules.pro'
}
但是当迁移到Kotlin时,我找不到找到使其识别此选项的方法:
getByName("release") {
signingConfig = signingConfigs.getByName("upload")
proguardFiles(
"getDefaultDexGuardFile"("dexguard-release-aggressive.pro"), // ?
getDefaultDexGuardFile("dexguard-release-aggressive.pro"), // ?
"dexguard-rules.pro",
)
}
IDE不建议任何导入,因此我不知道如何实现。在Dexguard的jar中,我看到了此方法的两个引用:
public class C0867Pp extends Closure implements GeneratedClosure
和
public class C0828PC implements GroovyObject
答案 0 :(得分:0)
在使用了插件选项之后,我找到了以下解决方案:
getByName("release") {
signingConfig = signingConfigs.getByName("upload")
proguardFiles(
extraDexguardMethods.getDefaultDexGuardFile("dexguard-release-aggressive.pro"),
"dexguard-rules.pro",
)
}