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
De plus, lorsque je clique sur l'option Download Sources
ci-dessous, le message d'erreur IDE suivant
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.
mais quand je clique sur source tout ce que je vois est Decompile Class !!
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!
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 .
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: