【问题标题】:Android Studio not showing java class sourceAndroid Studio 不显示 java 类源
【发布时间】:2019-02-07 23:46:01
【问题描述】:

我已经搜索了这个问题并尝试了建议的解决方案,但没有成功。我有一个项目,当我去查看源文件时,可以说Fragment 它把我带到 java 类就好了。

现在,当我转到 File -> new project 并完成所有相同的设置过程时。现在,当我单击 Fragment 的源代码时,我会进入反编译类文件。

我的新项目是 SDK 28,我已经执行了更新,但它们并没有改变任何东西。通过将我的 compileSDKVersion 设置为 27 并相应地调整依赖关系,它可以工作。但它应该只适用于 SDK 28,我不明白我缺少什么

在下面的照片中,您可以看到我已经安装了 API28 的源代码

此外,当我单击下面的 Download Sources 选项时,我收到以下 IDE 错误

java.util.NoSuchElementException
at java.util.Collections$EmptyIterator.next(Collections.java:4189)
at org.jetbrains.plugins.gradle.util.GradleAttachSourcesProvider.getSourceFile(GradleAttachSourcesProvider.java:160)
at org.jetbrains.plugins.gradle.util.GradleAttachSourcesProvider.access$100(GradleAttachSourcesProvider.java:59)
at org.jetbrains.plugins.gradle.util.GradleAttachSourcesProvider$1$1.onSuccess(GradleAttachSourcesProvider.java:126)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$7.execute(ExternalSystemUtil.java:876)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$9.run(ExternalSystemUtil.java:905)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:713)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:165)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:315)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

我的 gradle 文件设置了正确的 SDK,您可以在项目结构的外部库部分看到 .jar 文件夹

但是当我点击源代码时,我看到的只是反编译类!!

【问题讨论】:

  • 您认为这可能与我的问题有关吗?请看这里:stackoverflow.com/q/53374692/2597775
  • 有时它会在下载源代码并刷新后显示源代码。对我有用的是重新启动 Android Studio

标签: java android android-studio gradle jar


【解决方案1】:

我要将此归咎于 Google 尚未发布 Android P 源代码,因为当我将我的 SDK 更改为 27 时,没有问题,并且我已经多次卸载/重新安装 SDK Platform 28。我会在几周后重试并检查它是否已发布,在此之前我可以使用 API 27 继续我的项目。

谢谢!

【讨论】:

  • 你自己的回答对我很有帮助——这种情况让我很沮丧。
  • 也许你能帮我解决另一个奇怪(或愚蠢)的问题?如何查看编译时 android.annotation 类的来源?例如,当我打开 android.view.MenuItem 类的源代码时,Android Studio 会突出显示 @Nullable 类似错误的注释。有没有办法解决它?很抱歉,如果很明显,但我无法谷歌它。
【解决方案2】:

1 点击Tools > SDK Manager或点击工具栏中的SDK Manager,选择如下图所示的选项。然后点击OK下载源代码。

2 下载完成后,重启android studio!

编辑: 检查 build.gradle 文件:

android {
    compileSdkVersion 28 //here
    defaultConfig {
        applicationId "ht.dxs.testusingjava"
        minSdkVersion 15
        targetSdkVersion 28 //and here
        versionCode 1

然后在项目视图中你会看到:

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多