it-swarm.com.de

Android Studio zeigt keine Java-Klassenquelle an

Ich habe diese Frage gesucht und die vorgeschlagenen Lösungen ohne Erfolg ausprobiert. Ich habe ein Projekt, das, wenn ich die Quelldatei anschaue, sagen wir Fragment, bringt mich zur Java-Klasse.

Wenn ich jetzt zu File -> new project gehe und alle gleichen Einstellungen durchführe. Wenn ich jetzt auf die Quelle für Fragment klicke, komme ich zur dekompilierten Klassendatei.

Mein neues Projekt ist SDK 28 und ich habe Updates durchgeführt, aber sie ändern nichts. Wenn Sie meine compileSDKVersion auf 27 setzen und die Abhängigkeiten entsprechend anpassen, funktioniert dies. Aber es sollte nur mit SDK 28 funktionieren und ich verstehe nicht, was mir fehlt

Auf dem Foto unten sehen Sie, dass ich die Quellen für API28 installiert habe

 SDK Manager

Wenn ich unten auf die Download Sources-Option klicke, erhalte ich den folgenden IDE -Fehler

 Fragment Class

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)

In meiner Gradle-Datei ist das richtige SDK-Set festgelegt, und Sie können die JAR-Ordner im Abschnitt für externe Bibliotheken der Projektstruktur anzeigen

 external libraries

aber wenn ich auf source klicke, sehe ich nur Decompile Class !!

9
Kyle

Ich werde dies bis zu Google schreiben, der noch nicht Android P-Quellcode veröffentlicht hat, denn wenn ich mein SDK auf 27 ändere, gibt es kein Problem und ich habe SDK Platform 28 mehrmals deinstalliert. Ich werde es in ein paar Wochen noch einmal versuchen und prüfen, ob es veröffentlicht wurde. Bis dahin kann ich mein Projekt mit API 27 fortsetzen.

Vielen Dank!

4
Kyle

1 Klicken Sie auf Tools> SDK Manager oder klicken Sie in der Symbolleiste auf SDK Manager und wählen Sie Optionen wie in Abb. Klicken Sie anschließend auf OK, um die Quellcodes herunterzuladen .  enter image description here

2 Wenn der Download abgeschlossen ist, starten Sie das Android Studio neu! 

Bearbeiten Sie: Überprüfen Sie die Datei build.gradle:

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

In der Projektansicht sehen Sie dann:

 enter image description here

1
navylover