如何将 SafeArgs 添加到新的顶级 Kotlin gradle

Sev*_*yır 9 navigation gradle kotlin android-safe-args

我将使用带有片段的导航框架,但在依赖项步骤中,当我尝试从文档添加 SafeArgs 时,我发现新的顶级 gradle 文件与文档不同,因此我无法添加它。您能解释一下如何将 SafeArgs 添加到新的 kotlin 顶级 gradle 文件吗?

我的顶级 gradle 文件:

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.6.10' apply false} 


task clean(type: Delete) {
delete rootProject.buildDir}
Run Code Online (Sandbox Code Playgroud)

文档顶级 Gradle :

buildscript {
repositories {
    google()
}
dependencies {
    val nav_version = "2.4.1"
    classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
}}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

小智 26

只需在您的顶级 Gradle 插件块中添加以下内容即可

id 'androidx.navigation.safeargs' version '2.4.2' apply false
Run Code Online (Sandbox Code Playgroud)

那么如果您的项目是纯 Kotlin,请在您的应用程序 Gradle 中添加以下内容

plugins {
  id 'androidx.navigation.safeargs.kotlin'
}
Run Code Online (Sandbox Code Playgroud)

else(对于纯 Java 或 Java 混合 Kotlin)添加

plugins {
  id 'androidx.navigation.safeargs'
}
Run Code Online (Sandbox Code Playgroud)


小智 1

您的顶级(项目级别)Gradle 文件位于 Groovy 中,而文档则位于 KotlinScript 中。您需要将文档代码复制并粘贴到顶级 Gradle 文件中,并进行一些更改,如下所示:

buildscript {
    repositories {
        google()
    }
    dependencies {
        nav_version = "2.4.1"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,请考虑将plugins定义移至应用程序级别 Gradle 文件。