web-dev-qa-db-fra.com

Android Studio ne montrant pas la source de classe Java

J'ai cherché cette question et essayé les solutions proposées sans succès. J'ai un projet qui quand je vais voir le fichier source pour disons Fragment me prend très bien à la classe Java.

Maintenant, quand je vais à File -> new project et que je passe par la même procédure de configuration. Maintenant, lorsque je clique sur le source pour Fragment, je suis transféré dans le fichier de classe de décompile.

Mon nouveau projet est le SDK 28 et j'ai effectué des mises à jour, mais elles ne changent rien. En définissant ma compilationSDKVersion sur 27 et en ajustant les dépendances en conséquence, cela fonctionne. Mais cela devrait fonctionner avec le SDK 28 et je ne comprends pas ce qui manque

Sur la photo ci-dessous, vous pouvez voir que j'ai les sources de API28 installées

 SDK Manager

De plus, lorsque je clique sur l'option Download Sources ci-dessous, le message d'erreur IDE suivant

 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)

Mon fichier de classement contient le kit SDK correct et vous pouvez voir les dossiers .jar dans la section des bibliothèques externes de la structure du projet.

 external libraries

mais quand je clique sur source tout ce que je vois est Decompile Class !!

9
Kyle

Je vais mettre cela sur le compte de Google, qui n'a pas encore publié le code source Android P, car lorsque je modifie mon SDK en 27, il n'y a pas de problème et j'ai plusieurs fois réinstallé/réinstallé SDK Platform 28. Je réessayerai dans quelques semaines et vérifierai s'il a été publié. D'ici là, je pourrai continuer mon projet avec API 27.

Merci!

4
Kyle

1 cliquez sur Outils> Gestionnaire de SDK ou cliquez sur Gestionnaire de SDK dans la barre d’outils et sélectionnez les options suivantes: fig. puis cliquez sur OK pour télécharger les codes sources .  enter image description here

2 une fois le téléchargement terminé, redémarrez Android Studio! 

Edit: Vérifiez le fichier build.gradle:

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

Ensuite, dans la vue du projet, vous verrez:

 enter image description here

1
navylover