【问题标题】:How to resolve 'Cannot resolve symbol' in android sdk 28 import statements如何解决 android sdk 28 import 语句中的“无法解析符号”
【发布时间】:2018-10-15 17:09:22
【问题描述】:

在 Android Studio 3.1.4 中,当我从 android SDK 28 读取一些类定义时,我发现许多导入语句无法解析。例如,位于 AppData\Local\Android\Sdk\sources\android-28\android\media\MediaRecorder.java 的类 MediaRecorder.java 具有导入语句 import android.annotation.NonNull,而它应该是:android.support.annotation.NonNull。许多 sdk 类都有这样的导入语句错误。你有什么建议?谢谢

【问题讨论】:

    标签: java android android-studio android-sdk-tools


    【解决方案1】:

    忽略它。

    @NonNull 注解存在于框架中,但被隐藏,这意味着它不存在于 SDK 中。当您查看 MediaRecorder 的源代码时,Android Studio 会抱怨 android.annotation.NonNull 不存在,因为据它所知,它不存在。

    @NonNull source:注意它有@hide 标签。

    您会注意到框架源代码中的许多方法类和其他注解都被标记为红色,因为它们与 NonNull 一样是隐藏的,并且在 SDK 中不存在。

    【讨论】:

    • 感谢您的回答,但“它们是隐藏的,在 SDK 中不存在”。您的意思是这些方法、类和注释的源代码对开发人员是隐藏的,并且仅在运行时进行评估?
    • @PrimeSinadad 是的。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    相关资源
    最近更新 更多