【问题标题】:Gradle build error: Cannot get property 'dirName' on null objectGradle 构建错误:无法在空对象上获取属性“dirName”
【发布时间】:2015-12-04 07:30:03
【问题描述】:

我收到 gradle build 错误:

Error: Cannot get property 'dirName' on null object

我在使用 gradle 1.3.1 或更高版本时收到此错误。

当我使用 gradle 版本 1.2.3 时没有错误。

我用谷歌搜索了这个错误,但找不到任何解决方案。请帮忙!

我的项目 gradle 文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven"  }
        mavenCentral()
        jcenter()
        flatDir { dirs '/usr/local/DexGuard6.1.19/lib' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath ':dexguard:'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    } 
}

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        maven { url "https://repo.commonsware.com.s3.amazonaws.com" }
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
        mavenCentral()
        jcenter()
    }
}

【问题讨论】:

  • /usr/local/DexGuard6.1.19/lib 存在吗?您可以删除该部分并重试吗?
  • 是的,目录存在。我在 1.2.3 中使用相同的代码并且它可以工作,但是当我将构建工具版本更改为 1.3.1 时出现此错误。
  • 你可以试试:1.使用com.android.tools.build:gradle:1.5.0(可能你需要先更新你的SDK。2.确保使用最新的gradle版本(2.9)。
  • 我正在使用最新的 gradle 版本 2.9。我尝试更改为 1.5.0 但仍然出现相同的错误。

标签: android android-gradle-plugin build.gradle android-build


【解决方案1】:

Android Gradle 插件仍在不断发展,任务和内部结构也在不断变化。您必须确保相应地更新 DexGuard Gradle 插件。

  • 对于 Android 插件 1.3.1,您需要 DexGuard 7.0.01 或更高版本。
  • 对于 Android 插件 1.5.0,您需要 DexGuard 7.0.31 或更高版本

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多