Android Studio не показывает источник Java-класса - PullRequest
0 голосов
/ 02 сентября 2018

Я искал этот вопрос и безуспешно пробовал предложенные решения. У меня есть проект, который, когда я иду, чтобы просмотреть исходный файл, скажем, Fragment, он очень хорошо переводит меня в класс java.

Теперь, когда я иду на File -> new project и прохожу все ту же процедуру настройки. Теперь, когда я щелкаю по источнику Fragment, меня переводят в файл класса декомпиляции.

Мой новый проект - SDK 28, и я выполнил обновления, но они ничего не меняют. Установив compileSDKVersion на 27 и настроив зависимости соответственно, он работает. Но он должен работать только с SDK 28, и я не понимаю, чего мне не хватает

На фотографии ниже вы можете видеть, что у меня установлены исходные коды для API28

SDK Manager

Также, когда я нажимаю опцию Download Sources ниже, я получаю следующую ошибку IDE

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)

Мой файл Gradle имеет правильный набор SDK, и вы можете видеть папки .jar в разделе внешних библиотек структуры проекта

external libraries

но когда я нажимаю на источник, все, что я вижу, это декомпиляция класса !!

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Я собираюсь объяснить это тем, что Google еще не выпускает исходный код Android P, поскольку, когда я меняю свой SDK на 27, проблем не возникает, и я несколько раз отменял / переустанавливал SDK Platform 28. Я попробую еще раз через пару недель и проверю, выпущен ли он, до тех пор, пока я не смогу продолжить свой проект с API 27.

Спасибо!

0 голосов
/ 03 сентября 2018

1 щелкните Инструменты> SDK Manager или нажмите SDK Manager на панели инструментов и выберите параметры, как показано на рис. затем нажмите OK , чтобы загрузить исходные коды. enter image description here

2, когда загрузка будет завершена, перезапустите Android Studio!

Edit: Проверьте файл build.gradle:

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

Тогда в представлении проекта вы увидите:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...