androidx.annotation.Nullable找不到,@Nullable报红

问题描述

如题,在android开发环境中,以下引用找不到

import androidx.annotation.Nullable;

导致相应注解@Nullable报错(报红)

@Nullable

问题原因

相关引用与之冲突导致,我的代码里还有kotlin相关依赖和插件,kotlin里也有这个androidx的annotation引用。

如何发现的问题?

虽然代码中有报错,但我还是运行了一下,结果就报了以下错误。

Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)
Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30)

Go to the documentation to learn how to Fix dependency resolution errors.

以上代码频繁出现kotlin相关包出现多余的依赖,于是分析可能是kotlin相关依赖或插件有问题。

解决办法

  1. 我删除了 Project下build.gradle中的kotlin引用(classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"),具体如下:

  1. 删除Module下build.gradle中的相关代码,具体如下:

以上代码全部屏蔽后,Sync Now 一下代码,再去看项目中的错误已经消失。

有的小伙伴可能会问,那kotlin相关功能还能用么?目前我的项目中kotlin相关功能都能用,可能是我升级了android studio和相关SDK,最新的SDK中包含kotlin相关代码,可能也正是因为升级SDK才导致的相关冲突。

结束

猜你喜欢

转载自blog.csdn.net/gaoqingliang521/article/details/129194166
今日推荐