Android proguardFile getDefaultDexGuardFile(';dexguard release.pro';)不再工作

Android proguardFile getDefaultDexGuardFile(';dexguard release.pro';)不再工作,android,android-studio,proguard,dexguard,Android,Android Studio,Proguard,Dexguard,在android studio中使用DexGuard时,我们需要在发布版本中包含一行代码,这就是 proguardFile getDefaultDexGuardFile('dexguard-release.pro') 我一直不知道如何更改getDefaultDexGuardFile在dexguard-release.pro中查找的路径,但到目前为止,它始终在我的dexguard文件夹的/lib文件夹中正确搜索 甚至在两天前,Android Studio 2.0.0还不错。今天,我尝试构建另一个

在android studio中使用DexGuard时,我们需要在发布版本中包含一行代码,这就是

proguardFile getDefaultDexGuardFile('dexguard-release.pro')
我一直不知道如何更改getDefaultDexGuardFile在dexguard-release.pro中查找的路径,但到目前为止,它始终在我的dexguard文件夹的/lib文件夹中正确搜索

甚至在两天前,Android Studio 2.0.0还不错。今天,我尝试构建另一个项目的发布版本,它以前在那里发现了dexguard-release.pro(之前是Android Studio 1.5.0),现在它给出了

Warning:Exception while processing task java.io.FileNotFoundException: /lib/dexguard-release.pro (No such file or directory)
我该怎么解决这个问题?谷歌搜索(或官方DexGuard文档)似乎没有任何文档解释getDefaultDexGuardFile的工作原理。。它如何决定去哪里看,或者如何改变它。此外,警告消息并没有太大帮助,它给出的似乎是部分路径/lib/dexguard-release.pro,而不是它现在试图找到dexguard-release.pro的实际位置的完整路径


如果有人能告诉我如何控制getDefaultDexGuardFile正在搜索的路径

首先确保您拥有DexGuard的所有必要设置

在Gradle中使用DexGuard需要
build.Gradle
文件中的buildscript设置:

buildscript {
    repositories {
        …
        // use your path to DexGuard library
        flatDir { dirs '/usr/local/DexGuard-7.1.02/lib' }
    }
    dependencies {
        …
        classpath ':dexguard:'
    }
}
然后应用DexGuard插件:

apply plugin: 'dexguard'
如果设置很好,但您仍然在使用
getDefaultDexGuardFile()
方法时遇到问题。您可以做一个快速修复-忽略该方法,将DexGuard配置文件从DexGuard库的位置直接复制到您的项目中,并直接引用它们。但是请注意,配置文件可能引用了其他文件,因此您也必须复制它们

还要检查您的DexGuard许可证是否有效


还有可能是DexGuard目前与您使用的Gradle版本或Android构建插件版本不兼容。我猜他们最近仍然支持Gradle 2.2,Android Studio的最新更新试图将其更新为2.10以启用即时运行(Android插件也有类似的情况)。

感谢您的建议。Buildscript设置和“apply plugin”都很好(工作原理与之前相同),并且许可证也有效(否则,它会给出不同的错误消息)。然而,你的第三个建议可能是正确的。Android Studio建议我升级到2.10以启用即时运行。有没有办法向DexGuard的制造商提交bug报告或其他什么?我想我会像你建议的那样从DexGuard库复制DexGuard配置文件,作为现在的快速修复。结果表明,在构建梯度中,它指定了DexGuard 7.0.26的路径。当我将其更改为DexGuard 7.1时,错误消失了。自我提示:在stackoverflow上过帐之前,请始终尝试最新版本的DexGuard。。