Android Studio Bumblebee 中的新 build.gradle | 2021.1.1 Beta 5 添加依赖报错

New build.gradle in Android Studio Bumblebee | 2021.1.1 Beta 5 error adding dependencies

我更新了 Android Studio,现在在顶层 build.gradle 没有依赖范围,而是有插件范围。我想添加对导航安全参数的依赖。在旧版本中,我可以添加:

dependencies {
    def nav_version = "2.3.5"
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
}

但现在我们有了插件范围。

plugins {
id 'com.android.application' version '7.2.0-alpha02' apply false
id 'com.android.library' version '7.2.0-alpha02' apply false
id 'org.jetbrains.kotlin.android' version '1.5.31' apply false }

并且我向这个范围添加了 safe-args 插件

id "androidx.navigation:navigation-safe-args-gradle-plugin" version "2.3.5" apply false

,但出现此错误:
插件 ID 'androidx.navigation:navigation-safe-args-gradle-plugin' 无效:插件 ID 包含无效字符“:”

  1. 打开build.gradle(Module:app)
  2. 使用Strg+Alt+Shift+S打开项目结构对话框
  3. 搜索 androidx.navigation
  4. Select androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0-rc01
  5. 申请并等待同步

我遇到了同样的问题。

我所做的是在 buildscript 包装器中添加依赖包装器,它对我有用。

示例:

buildscript {
    ext {
        compose_version = '1.0.5'
    }
    dependencies {
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.38.1"
    }
}// Top-level build file where you can add configuration options common 
    to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.1.0' apply false
    id 'com.android.library' version '7.1.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.31' apply false
    id "com.google.dagger.hilt.android" version '2.41' apply false
}

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

你可以做到这一点。

ext {
    compose_version = '1.0.5'
    kotlin_version = '1.6.10'
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.1.0' apply false
    id 'com.android.library' version '7.1.0' apply false
    id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false
    id "com.google.dagger.hilt.android" version "2.41" apply false
    id 'androidx.navigation.safeargs.kotlin' version '2.5.0-alpha01' apply false // use this one
//    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0" (will not work now)

}

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

将构建脚本组添加到 build.gradle(项目)文件的顶部。

buildscript {
    dependencies {
        classpath("androidx.navigation.safeargs:androidx.navigation.safeargs.gradle.plugin:2.4.1")
    }
}

然后将插件 ID 添加到 build.gradle(Module) 文件中的插件组。

id 'androidx.navigation.safeargs'

确保 android.useAndroidX=true 行在 gradle.properties 中。

那就行了。