【问题标题】:How to point gradle to my dexguard license如何将 gradle 指向我的 dexguard 许可证
【发布时间】:2016-07-06 15:18:13
【问题描述】:

我正在尝试使用 Dexguard 配置我的 android studio 项目。我不明白如何告诉 gradle 在哪里获得我的许可证。我的许可证位于我的项目的根位置(即与我的/app 目录位于同一位置)。而且名字是dexguard-license.txt

另外,这是我在运行时遇到的错误

我一直在进行故障排除并最终得到了

【问题讨论】:

  • 您的错误与任何许可证无关。从错误中可以看出,找不到所需的 jar 文件。
  • 对不起,我的问题命名错误。我真的不知道出了什么问题。我只是想让基本配置正常工作。如果必须,我可以问一个不同的问题,或者也许有人会在这个线程上帮助我。对于这个错误,即使我在flatDir { dirs ...} 中使用了完整路径,我仍然会遇到同样的错误。这是否意味着我的 dexguard 缺少某些内容或我的 gradle 配置错误?

标签: android android-studio android-gradle-plugin dexguard


【解决方案1】:

DexGuard 将在以下位置查找有效的许可证文件(按此顺序):

  • 在您可以指定的目录路径或许可文件路径中 使用 Java 系统属性 dexguard.license,或

  • 在您可以指定的目录路径或许可文件路径中 使用操作系统环境变量 DEXGUARD_LICENSE,或

  • 在您的主目录中,或

  • 在包含您的 DexGuard 插件 jar 的目录中。

编辑:如果找不到 DexGuard jar,您可能缺少以下 sn-p:

buildscript {
    repositories {
        flatDir { dirs '/path/to/your/dexguard/installation/lib' }
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:x.x.x'
        classpath ':dexguard:'
    }
}

【讨论】:

  • 老兄,您刚刚复制并粘贴了 mdexguard 教程中的确切文档。如果我明白他们的意思,我就不会在这里寻求帮助。 :) 我知道你只是想帮忙。但不幸的是,这种措辞对我来说毫无意义。
  • 这有什么复杂的?将您的 dexguard-license.txt 放在您的主目录、DexGuard 安装的 lib 文件夹中,或者您使用某些系统属性指定位置。
  • 现在我明白了!显然它已经在 dexguard 的 lib 目录中了。现在例外,我使用flatDir { dirs './dexguardStuff/DexGuard-7.2.00/lib' } 你知道我可以如何解决这个问题吗?目录dexguardStuffapp 目录处于同一级别。我也试过flatDir { dirs '/dexguardStuff/DexGuard-7.2.00/lib' }
【解决方案2】:

跟进您已编辑的关于课程版本错误的问题:

这显然是 7.2.00 版本的错误。它是使用 Java 8 编译器编译的,并且某些文件未针对 Java 1.6。这意味着此版本需要您使用 Java 8 运行时才能正常工作。

这将在下一个版本 7.2.01 中修复。

【讨论】:

  • 顺便说一句。您应该向 support@guardsquare.com 提出此类问题
  • 嗯,这就是问题所在。我不知道什么技术问题容易或难。 StackOverflow 通常比许多其他系统更快。所以我在这里问。
猜你喜欢
  • 2021-10-04
  • 2015-09-16
  • 1970-01-01
  • 2019-05-11
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多