gpt4 book ai didi

android - 我正在尝试使用安全参数,但是当我将依赖项添加到项目级别 build.gradle 时,它​​给了我这个错误

转载 作者:行者123 更新时间:2023-12-05 08:16:40 25 4
gpt4 key购买 nike

plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}
dependencies {
"android.arch.navigation:navigation-safe-args-gradle-plugin:$version_navigation"
}

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

原因:groovy.lang.MissingPropertyException:无法为类型为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 的对象获取未知属性“version_navigation”。

最佳答案

您不能在项目模块build.gradleroot 中使用dependencies block 。正确的方法是在其中添加 buildscript block 和 dependencies ,如下所示:

buildscript {
dependencies {
classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.5.1'
}
}

plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}

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

请记住,您还可以选择遵循新的结构模式,而不是使用 dependency block ,您可以使用 plugins block :

plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
id 'androidx.navigation.safeargs' version '2.5.1' apply false
}

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

app 模块build.gradle 中,它保持原样。

plugins {
// ...
id 'androidx.navigation.safeargs.kotlin'
}

您必须确保库的依赖项遵循相同的版本以避免出现问题。
当您需要多个 gradle 文件中的版本时,为了方便此版本控制,您还可以在 buildscript 中包含一个 ext block build.gradle 来自 project module 的版本,并使用它代替 gradle 文件中的版本号。完整示例:

build.gradle(项目)

buildscript {
ext {
navigation_ver = '2.5.1'
}

// if you want the 'old' way:
// dependencies {
// classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_ver"
// }
}

plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
// if you want the 'new' way:
id 'androidx.navigation.safeargs' version "$navigation_ver" apply false
}

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

build.gradle(应用模块)

plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'androidx.navigation.safeargs.kotlin'
}

android {
// ...
}

dependencies {
// ...
implementation "androidx.navigation:navigation-ui-ktx:$navigation_ver"
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_ver"
}

关于android - 我正在尝试使用安全参数,但是当我将依赖项添加到项目级别 build.gradle 时,它​​给了我这个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73206597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com