Android Studio: как прикрепить источники Android SDK?

112

Как я могу прикрепить источники Android SDK к Android Studio?

Когда я открываю один из классов Android, окно «Источники не найдены» с опцией «Присоединить источники» не появляется.

Как еще это сделать?

Лукас Фрик
источник

Ответы:

67

Откройте диспетчер sdk из меню панели инструментов и загрузите «Sources for Android SDK» для уровня API, определенного в вашем файле build.gradle, например

compileSdkVersion 19 // compile with API level 19

Больше ничего делать не нужно.

Примечание. Исходники для SDK доступны только для уровней API 14 и выше.

ОБНОВЛЕНИЕ (на основе стабильного выпуска 3.2.1):

Google меняет подход к отправке источников, поэтому давайте посмотрим, что изменилось.

Перейти в следующее место

Preferences -> Apperance & Behaviour -> System Settings -> Android SDK

Лень ориентироваться SDKв поиске по типу и студия поможет вам попасть в нужное место.

введите описание изображения здесь

Вы можете прочитать описание, в основном написано, что делать. Итак, после нажатия на «Показать сведения о пакете» вы увидите, установлены ли источники или нет (как показано на рисунке ниже), если он не установлен, установите, и все в порядке.

введите описание изображения здесь

Pyus13
источник
1
@takumar, это потому, что исходный код SDK в настоящее время недоступен для Android API 20. Я уверен, что когда Android «L» выйдет из предварительной версии, исходный код будет доступен в диспетчере SDK.
Дик Лукас
37
После загрузки исходников мне нужно было перезапустить Android Studio, чтобы заставить его работать
Сатеш
3
Если вы отлаживаете более старую версию, чем compileSdkVersion, исходный код не будет соответствовать.
Дэвид
Я бы добавил к решению комментарий Сатеша. Похоже, многим пришлось перезапускать, мне тоже.
Ферран Мэйлинч
Вам нужно установить флажок «Показать сведения о пакете», чтобы найти запись «
Исходные коды
247

Отчеты Android Studio 3.2.1 в: проблема решена путем сброса SDK.

Настройки -> Внешний вид и поведение -> Системные настройки -> Android SDK.

Нажмите « Изменить» справа от местоположения Android SDK. Далее, Далее, Готово, чтобы завершить работу мастера и вуаля!

Александр Маяцкий
источник
3
@ Файл 0xF / Настройки для Windows (Linux?), Настройки для Mac. Добавлен внешний вид и поведение, большое спасибо. Упустил это полностью.
Александр Маяцкий
1
@AlexanderMayatsky Файл / Настройки находится в Linux.
0xF
2
в Linux это:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh 09
2
Возникла та же проблема, когда не отображалась документация. Это решило проблему для последней стабильной версии 3.1.4.
ChallengeAccepted
У меня это не работает. Я загрузил исходники для compileSdkVersion 28, и мой build.gradle также имеет targetSdkVersion 28, и когда я запускаю свое приложение в отладчике, я вижу всевозможные вещи, такие как art::ArtMethod::Invokeи StartBackgroundThread(это для вспомогательного потока JNI в моем приложении), но щелчок по чему-либо в части стека Android не показывает мне связанный исходный файл. Что мне не хватает?
kbro
32

Я не могу найти вышеупомянутые параметры графического интерфейса в версии 8.11 на osx, однако grep-fu сообщает мне:

config хранится в ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

После редактирования этого файла (при остановленной Studio) и перезапуска сопоставления источников у меня все работает.

diff --git a/options/jdk.table.xml b/options/jdk.table.xml
index 0112b91..33828b8 100644
--- a/options/jdk.table.xml
+++ b/options/jdk.table.xml
@@ -76,7 +76,7 @@
         </javadocPath>
         <sourcePath>
           <root type="composite">
-            <root type="simple" url="file:///Applications/Android Studio.app/sdk/sources/android-19" />
+            <root type="simple" url="file:///Users/tehdawgz/dev/android-sdk/sources/android-19" />
           </root>
         </sourcePath>
       </roots>
gdawg
источник
AndroidStudio 2.1.2 здесь на Mac OS. У меня сработало: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
Г. Штайгерт 05
1
Работал у меня. Ubuntu 14.04 / Android Studio 2.2. Я использовал «найти jdk.table.xml», который в моем случае находился в ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Интересно, что в какой-то момент в этом процессе что-то заменило мои абсолютные пути на "file: // $ USER_HOME $ ..." ?? В любом случае, после того, как я исправил файл, все заработало.
Стивен Смит
16

Для меня на 2016/08/29 работает Android Studio 2.1.3:

Я загрузил и компилировал api 24 до того, как были выпущены исходники. Я хочу указать на источник сейчас, когда они были выпущены. Перезапуск Android Studio после загрузки источников в диспетчере SDK не работал.

Мне пришлось действовать так, как будто я собирался отредактировать местоположение SDK в диспетчере SDK, когда я это сделал, я мог просто щелкнуть «Далее» в диалоговом окне и автоматически повторно проиндексировать материал SDK.

кнопка для редактирования местоположения SDK где просто щелкнуть дальше

Джошкендрик
источник
7

Решение gdawg работало для меня также в Windows 10 и Android Studio 2.0. С небольшой модификацией файл jdk.table.xml расположен по адресу

C: \ Users \ {USER_NAME} \. AndroidStudio2.0 \ config \ options \ jdk.table.xml

урпы
источник
5

Не уверен, почему принятый ответ, похоже, работает только с уровнем API 19. Мне удалось прикрепить источники SDK для уровня API 15, явно указав исходный путь для SDK. Вот что я сделал:

  1. Убедитесь, что я загрузил нужные источники SDK и настроил свой build.gradle с желаемым уровнем API.
  2. В окне «Проект» слева выберите раскрывающийся список «Внешние библиотеки».
  3. Щелкните правой кнопкой мыши элемент меню и выберите «Открыть настройки библиотеки».
  4. Перейдите на вкладку Sourcepath и используйте значок + в левом нижнем углу, чтобы связать с нужными источниками SDK (должен находиться в чем-то / sdk / sources)
сфридман
источник
6
> Щелкните правой кнопкой мыши элемент меню и выберите «Открыть настройки библиотеки». - где ты это нашел?
kiruwka
1
Похоже, что этот пункт меню больше не доступен. Есть способы сделать это в обычном InteliJ.
Дэвид
3

В android studio 0.8.6 (бета) (OSX 10.9.4) кажется, что вы можете просматривать исходный код Android напрямую, не прикрепляя источники вручную.

Обязательным условием является то, что вы должны загрузить «Источники для Android SDK» в «SDK Manager» и перезапустить «Android Studio».

clevertension
источник
1

Просто выполните следующие действия: Настройки -> Android SDK -> Запустить автономный диспетчер SDK -> загрузите необходимые источники SDK (в каждой версии Anroid Sources for Android SDK) -> перезапустите Android Studio. Если приведенное выше не помогло, убедитесь, что вы загрузили необходимые источники SDK, и сбросьте настройки, Android SDK Locationчтобы обновить. Я надеюсь, что это помогает.

DysaniazzZ
источник
0

Я не знал, о чем идет речь в третьем шаге меню в ответе Сфридмана. Еще один способ добраться до источника, который меня интересовал, - это после того, как Android Studio подняла класс .class, в который я хотел погрузиться:

Панировочные сухари в файл .class

Затем я мог бы щелкнуть правой кнопкой мыши по этой хлебной крошке и выбрать «Перейти к источнику»:

введите описание изображения здесь

Казалось, что он нашел это автоматически, вероятно, потому что я установил исходный код через диспетчер Android SDK, как описано в другом месте.

Ли Адамс
источник
0

Сначала убедитесь, что у вас уже есть исходный код.

затем сбросьте местоположение Android SDK в settings.

Я решил свою проблему указанным выше способом.

Двойной клык
источник
0

Единственное, что у меня сработало, это:

  • Откройте Android SDK Manager (Tools -> Android -> SDK Manager -> Launch Standalone SDK Manager)
  • удалить всю платформу SDK и исходники для Android SDK (со всех уровней API)
  • перезапустить Android Studio

После перезапуска Android Studio отобразит мастер, потому что SDK не установлен: установите платформу SDK и источники для текущего уровня API.

ulcica
источник
0

В Android Studio 2.3.3 в Windows 7 у меня была проблема, заключающаяся в том, что уже загруженные исходные файлы для API-уровня 26 в папке SDK\sources\android-26не распознавались. Использование «File | Invalidate Caches / Restart» решило проблему для меня.

пользователь1364368
источник
0

Для меня загрузка и обновление не помогли. Я попытался выбрать источник, но проблема не исчезла. Итак, я сделал Invalidate Cache / Restart. Теперь он работает.

Я попытался отредактировать файл jdk.table.xml, но там не было записи для android-26, это было только до android-25, поэтому я решил не редактировать этот файл.

user4057066
источник
0

По состоянию на 08.09.2019 доступны такие источники

sources;android-15
    Description:        Sources for Android 15
    Version:            2

sources;android-16
    Description:        Sources for Android 16
    Version:            2

sources;android-17
    Description:        Sources for Android 17
    Version:            1

sources;android-18
    Description:        Sources for Android 18
    Version:            1

sources;android-19
    Description:        Sources for Android 19
    Version:            2

sources;android-20
    Description:        Sources for Android 20
    Version:            1

sources;android-21
    Description:        Sources for Android 21
    Version:            1

sources;android-22
    Description:        Sources for Android 22
    Version:            1

sources;android-23
    Description:        Sources for Android 23
    Version:            1

sources;android-24
    Description:        Sources for Android 24
    Version:            1

sources;android-25
    Description:        Sources for Android 25
    Version:            1

sources;android-26
    Description:        Sources for Android 26
    Version:            1

sources;android-27
    Description:        Sources for Android 27
    Version:            1

sources;android-28
    Description:        Sources for Android 28
    Version:            1

Вы можете перечислить их ./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https

Например, установить ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"

Для загрузки в Android Studio нет необходимости

Инструкция по установке в Android Studio

В приложении build.gradleустановите правильную версию sdk, которая будет включать желаемые источники

android {
    compileSdkVersion 28
    ...

Чтобы применить изменения - перезапустите IDE

Влад
источник
0

Я только что столкнулся с аналогичной проблемой, когда мне нужно загрузить платформу android 28 через командную строку, я увидел ответ для запуска команды ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28" .

Но на самом деле он показывает пример с сайта developer.android.comsdkmanager "platform-tools" "platforms;android-28" , так что я думаю, так и должно быть ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

Безумный Шляпник
источник
0

Совместное использование, поскольку мне потребовалось время, чтобы осознать: на данный момент (август 2020 г.) API уровня 30 не имеет доступных источников (такой опции нет в диспетчере SDK). Я изменил свое приложение на целевой уровень API 29 (вместо 30) и убедился, что загрузил исходники для версии 29, и это сработало.

Убедитесь, что параметр «Показать сведения о пакете» включен, чтобы узнать, доступны ли источники для версии SDK, на которую вы нацеливаетесь.

Кроме того, теперь можно использовать «Инструменты -> Менеджер SDK» вместо «Файл -> Настройки -> и т. Д.».

SDK Manager

Том
источник