Gradle 4.2.+ 无法解析导航-ui-ktx:2.3.5

Gradle 4.2.+ Could not resolve navigation-ui-ktx:2.3.5

将AndroidStudio升级到Fox版本后,Gradle从4.1.37.0.0甚至4.2.+distributionUrlgradle-7.0.1-bin.zip,我无法再构建我的应用程序了。

这是错误日志:

* What went wrong:
Execution failed for task ':onboarding:dataBindingMergeDependencyArtifactsDebugMobDebug'.
> Could not resolve all files for configuration ':onboarding:debugMobDebugCompileClasspath'.
   > Could not resolve android.arch.navigation:navigation-ui-ktx:2.3.5.
     Required by:
         project :onboarding
      > Skipped due to earlier error

似乎Gradle 无法下载 NavigationKTX 2.3.5 版。 解决方案是降级但是 如何在不降级到 Gradle 版本 4.1.+

的情况下解决问题

我想在我的应用程序中使用 Jetpack Compose,所以我需要将 gradle 更新到 4.2.+.

Arctic Fox 的当前 Gradle 版本是例如。 gradle-7.1.1-all.zip(或bin)。

AGP 和 SafeArgs:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // classpath "com.android.tools.build:gradle:4.2.2"
        // classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"
        classpath "com.android.tools.build:gradle:7.0.0"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0-alpha02"
    }
}


...
apply plugin: "androidx.navigation.safeargs.kotlin"

并且整个 android.arch 名称-space 已被取代:

android.arch.navigation:navigation-ui-ktx:2.3.5

改用当前的androidx名称-space,其中2.3.5是最新的稳定版本:

androidx.navigation:navigation-ui-ktx:2.3.5 / 2.4.0-alpha06

请注意不要混淆这些库名称-spaces(可能会有进一步的冲突)- 或者可能需要启用 Jetifier,具体取决于进一步过时的依赖项(因为名称-space com.android.support 也已被 androidx 取代)。除非 a) 更新依赖项和 b) 修复所有导入...这个项目不会构建。