我最近更新了Android Studio。之后,它似乎不再能够解析一些支持注解,例如@NonNull
或@Nullable
。它在更新之前确实工作得很好。然而,一切仍然在编译,我能够执行代码,但它仍然显示符号无法被解析消息在我的导入。
到目前为止,我已经尝试过了:
1.在build.gradle中包含依赖项(模块:申请):
compile 'com.android.support:support-annotations:27.0.0'
字符串
1.我已使缓存无效并重新启动
1.清理和重建项目
1.(编辑)同步Gradle
我不知道为什么这不起作用,我真的很感激你的帮助。
7条答案
按热度按时间cuxqih211#
自android API 29('targetSdkVersion' 29)起com.android.support已被移至'androidx'库。
在您的
build.gradle
文件(应用程序级别)中,依赖项阻止使用...字符串
在
.java
文件中使用import,如下所示:型
再次构建您的项目!
kh212irz2#
我最近在一个库导入中遇到了类似的问题,为了解决这个问题,我不得不创造机会导入下面的语句:
在两次进口后不得不改变。
出发地:
字符串
收件人:
型
9lowa7mx3#
我也是这样。我被卡住了相当长的一段时间--为了让Android Studio保持最新,对某人玩了一个多么糟糕的把戏。简单地重建项目甚至没有接近工作。
显然,gradle做了一些更改,阻止了旧程序的正确编译。
我必须 * 创建一个新项目 * 并将所有文件复制到新项目中。是的,它咬毛茸茸的绿色大家伙,但这是我必须做的让它工作。
我希望有人能给出比这更好的答案!(我很想和那个做出改变的白痴“谈”几分钟!这不是第一次发生这种情况--也不是第二次,第三次,第四次,等等。)
!!!新信息!!!
刚开始一个新项目,砰的一声,这种情况又发生了。它使用的是主模板/设计模板。是的,正如Android Studio生成的代码一样,由于NonNull没有正确导入,
ItemListActivity.java
和其他文件中存在错误。所以,我去了app build.gradle文件,查看了所有的依赖警告。为什么项目生成器使用旧的依赖项?所以我更新了所有的依赖项来使用最新的。"现在就同步",成功了!
以下是我更新的几行:
字符串
当然,您必须更改数字以反映当前版本。
同样,它令人难以置信的想象,直接从盒子模板有这样明显的错误。总有一天我要去山景城旅行,把鞋带系在一起。
c2e8gylq4#
点击Build --> Rebuild Project。AS也会刷新Gradle依赖项和您的项目。
wribegjk5#
单击红色灯泡图标并选择AddAnnotationtoClasspath。这将解决问题。
uplii1fm6#
如果您使用的是Android Studio,请使用
Refactor -> Migrate to AndroidX
选项并执行迁移。jpfvwuh47#
字符串
使用@NotNull而不是@NonNull。
下面是Java文件中@Nullable和@NotNull的导入:
型
如果这仍然不起作用,那么创建您自己的NotNull或NonNull,以下是创建您自己的NonNull的代码:
型
对于可空:
型
编码快乐!