【问题标题】:Android Studio uses wrong different SDK version for different classesAndroid Studio 对不同的类使用错误的不同 SDK 版本
【发布时间】:2020-04-19 12:36:27
【问题描述】:

当 Android Studio 开始将代码标记为红色时,我遇到了一个问题:

当我单击查看 findViewById() 的源代码时,它会将我带到与我的项目的编译 SDK 版本 (29) 不同的 Android SDK 16 的源代码。 同时在同一个项目中的其他一些类中没有这样的问题,findViewById 运行良好。单击它会将我带到正确的 Android SDK 29 源。

我的项目编译 SDK 版本设置为 29,它的依赖项使用 compile sdk 从 16 到 25。

我已经试过了:

  1. 清理项目。
  2. 重建项目。
  3. 使缓存无效/重新启动
  4. 重新安装 Android Studio 并安装 Beta 版。
  5. 尝试在不存在此类问题的情况下使用不同的 GIT 提交。
  6. 已删除 /.idea 和 /.gradle 文件夹。
  7. 当我从 ~/Library/Android/sdk/platforms/android-16 中删除 Android SDK 源时,它会有所帮助,直到下一次重建(然后 Studio 会自动再次下载它)

问题的起因:为了修复 GIT 历史记录,我从工作目录中删除了所有文件,并在那里复制粘贴了一个新版本。我知道,这不是一个优雅的解决方案,但 git 差异没有问题。问题是这个“红色代码”问题现在存在于所有以前的提交中。

项目编译没有错误,可以安装应用程序!

请帮忙!

更新:这个问题只出现在片段中! Fragment 中的 getView() 以某种方式给了我不同版本的视图?

【问题讨论】:

  • 两个源文件是否在同一个模块中?还要检查所有 .gradle 文件是否存在潜在问题。乍一看,这确实像是 Android Studio 中的一个错误。
  • @JensV 两个文件都在同一个模块中。请查看我的更新。
  • 这确实很奇怪...如果您有时间,我会尝试从您的用户目录中删除所有 .AndroidStudio 文件夹,删除 .idea 和 .gradle 文件,删除整个 android sdk并尝试再次重新导入项目。如果编译得很好,它似乎确实是一个与 IDE 相关的问题
  • 已删除 Android Studio 及其缓存文件。没有帮助。
  • 我不知道除了上传示例项目供我们测试之外我们是否可以帮助您

标签: android android-studio


【解决方案1】:

找到的解决方案: 将实现 'com.google.android.material:material:1.1.0' 更新到版本 1.1.0。不要现在为什么这种依赖开始产生问题。

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多