簡體   English   中英

無法為 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 類型的對象設置未知屬性“nav_version”

[英]Could not set unknown property 'nav_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

我試圖添加導航依賴項以在我的項目中使用導航圖,而 android studio 拋出了這個錯誤。

這是我的項目 Gradle 文件:

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

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
        nav_version = "2.3.0-alpha01" //extra property, used like variables
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

如您所見,我添加了 $nav_version 依賴項和 nav_version 變量。 但是,android studio 會拋出“無法為 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 類型的對象設置未知屬性‘nav_version’”錯誤。 我想知道它是否與 Gradle 版本或我的 Kotlin 版本有關。 我試圖清理並重新構建我的項目,但沒有用。 我想知道是否有人遇到過類似的事情。

它應該是應用程序級 build.gradle 的一部分。

就像是

dependencies {
  def nav_version = "2.3.0-alpha01"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

  // Dynamic Feature Module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"

  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
}

和頂級/項目級gradle

buildscript {
    repositories {
        google()
    }
    dependencies {
        def nav_version = "2.3.0-alpha01"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
    }
}

或者像 ${nav_version} 一樣放置它

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:${nav_version}"

或者

buildScript {
  ext {
    nav_version = "2.3.0-alpha01"
    kotlin_version = "1.3.50"
  }

    dependencies {
            classpath 'com.android.tools.build:gradle:3.5.3'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files

            classpath "androidx.navigation:navigation-safe-args-gradle-plugin:${nav_version}"
    }
}

參考https://developer.android.com/guide/navigation/navigation-getting-started

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM