android如何删除从混淆文件继承 proguardFiles 吗?

发布时间: 2016/9/26 1:01:46
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 2 buildTypes 下面︰

debug {
    ...
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'proguard-rules-dont-obfuscate.pro'
    ...
}

inhouse.initWith(buildTypes.debug)
inhouse {
    ...
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    println proguardFiles.toString()
    ...
}

我想我从继承的点播 buildType debug (为其他属性) 但不是能包括在混淆文件混淆-规则-不-obfuscate.pro,如上图所示。不幸的是,打印出来的 proguardFiles,它仍然有混淆规则不 obfuscate.pro 即使我不包括它。

解决方法 1:

我发现了那 proguardFiles 唯一 proguardFiles.addAll 内部。为了不包括从继承 buildTypes 在混淆文件,我需要清除 proguardFiles 列表。幸运的是,我发现 setProguardFiles 方法,并在设置之前的 proguardFiles.clear()。所以解决办法是添加新混淆文件之前添加 setProguardFiles(empty)。

inhouse.initWith(buildTypes.debug)
inhouse {
    ...
    List empty = new ArrayList<String>()
    setProguardFiles(empty)
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    println proguardFiles.toString()
    ...
}
官方微信
官方QQ群
31647020