Android Studio: як приєднати джерела SDK для Android?


111

Як я можу приєднати джерела SDK для Android до Android Studio?

Коли я відкриваю один із класів Android, вікно "Джерела не знайдено" з опцією "Приєднати джерела" не з'являється.

Який ще спосіб зробити це?

Відповіді:


66

Відкрийте менеджер sdk з меню панелі інструментів та завантажте "Джерела для SDK для Android" для рівня 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пошуку і студія допоможе вам перейти в потрібне місце.

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

Ви можете прочитати опис, в основному говорить, що робити. Отже, натиснувши "Показати деталі пакета", ви побачите, встановлені чи ні джерела (як показано на малюнку нижче), якщо він не встановлений, встановіть, і ви добре.

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


1
@takumar, це тому, що джерело SDK наразі не доступний для Android API 20. Я впевнений, що коли Android "L" вийде з попереднього перегляду, джерело буде доступне в менеджері SDK.
Дік Лукас

37
Після завантаження джерел мені потрібно було перезапустити Android Studio, щоб він працював
Sathesh

3
Якщо ви налагоджуєте старішу версію, ніж compileSdkVersion, вихідний код не збігається.
Девід

Я б додав коментар Sathesh до рішення. Схоже, багатьом довелося перезапустити і мене.
Ферран Мейлінч

Вам потрібно встановити прапорець "Показати деталі пакета", щоб знайти запис "Джерела для Android ..."
Flimm

247

Android Studio 3.2.1 звітування в: вирішив проблему шляхом скидання SDK.

Налаштування -> Зовнішній вигляд та поведінка -> Налаштування системи -> Android SDK.

Натисніть Редагувати праворуч від місця розташування SDK для Android. Далі, Далі, Готово, щоб виконати майстра та вуаля!


3
@ 0xF Файл / налаштування для Windows (Linux?), Налаштування для Mac. Додано зовнішній вигляд та поведінку, велике спасибі Пропустив це повністю.
Олександр Маяцький

1
Файл / налаштування @AlexanderMayatsky працює на Linux.
0xF

2
в Linux це:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

2
Зустрівся з тим самим випуском, де документація не відображалася. Це вирішило його для останньої стабільної версії - 3.1.4.
ChallengeAcceppted

Це не працює для мене. Я завантажив джерела для compileSdkVersion 28, а мій build.gradle також має targetSdkVersion 28, і коли я запускаю свою програму в налагоджувальній машині, я бачу всілякі речі на кшталт art::ArtMethod::Invokeі StartBackgroundThread(це для помічників JNI у моєму додатку), але натискання на що-небудь у частині стека Android не показує мені пов'язаний вихідний файл. Що я пропускаю?
кбро

32

Я не можу знайти вищезгадані параметри gui в v8.11 на OSX, однак grep-fu підказує мені:

config зберігається в ~ / Бібліотека / Налаштування / AndroidStudioBeta / options / jdk.table.xml

Після редагування цього файлу (при зупинці Студії) та перезавантаження карти джерела для мене працює добре.

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>

AndroidStudio 2.1.2 тут на Mac OS. Для мене працювало наступне: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert

1
Працювали для мене. Ubuntu 14.04 / Android Studio 2.2. Я використав 'locate jdk.table.xml', який у моєму випадку був у ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Цікаво здається, що в якийсь момент цього процесу щось замінило мої абсолютні шляхи на "файл: // $ USER_HOME $ ..." ?? У будь-якому випадку, справи почали працювати після того, як я виправив файл.
Стівен Сміт

16

Для мене на 2016/08/29 працює андроїд-студія 2.1.3:

Я завантажив і складав проти api 24 до звільнення джерел. Я хочу вказати на джерело зараз, коли вони були звільнені. Перезапуск Android Studio після завантаження джерел у менеджері SDK не працював.

Мені довелося діяти так, як я збирався редагувати місце розташування SDK в диспетчері SDK. Коли я це зробив, я міг просто натиснути «далі» через діалогове вікно і автоматично переіндексувати sdk.

кнопка для редагування місця розташування SDK де просто натиснути далі


7

Рішення gdawg працювало і для мене в Windows 10 та Android Studio 2.0. З невеликою модифікацією, в якій знаходиться файл jdk.table.xml

C: \ Користувачі \ {USER_NAME} \. AndroidStudio2.0 \ config \ options \ jdk.table.xml


5

Не впевнений, чому прийнята відповідь, здається, працює лише з рівнем API. Я зміг приєднати джерела SDK для рівня 15 API, явно надавши шлях до SDK. Ось що я зробив:

  1. Переконайтеся, що я завантажив потрібні джерела SDK і налаштував міру build.gradle з потрібним рівнем API.
  2. У вікні проекту зліва виберіть спадне меню Зовнішні бібліотеки.
  3. Клацніть правою кнопкою миші пункт меню та виберіть Відкрити настройки бібліотеки.
  4. Перейдіть на вкладку Sourcepath та використовуйте значок + внизу ліворуч для прив’язки до потрібних джерел SDK (має бути в щось / sdk / source)

6
> Клацніть правою кнопкою миші пункт меню та виберіть Відкрити настройки бібліотеки. - де ти це знаходиш?
kiruwka

1
Здається, цей пункт меню більше недоступний. Існують способи зробити це в звичайному InteliJ.
Девід

3

В андроїд-студії 0.8.6 (бета) (OSX 10.9.4), здається, що ви можете переглядати вихідний код для Android безпосередньо, не приєднуючи джерела вручну.

Обов’язковою умовою є завантаження "Джерела для Android SDK" у "Менеджері SDK" та перезавантаження "Android Studio"


1

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


0

Я не знав, на що йдеться у кроці 3 відповіді sfridman. Ще один спосіб мені вдалося дістатися до джерела, яке мене зацікавило - після того, як Android Studio вигадала .clas, в який я хотів зануритися:

До хлібного файлу .class файл

Потім я міг клацнути правою кнопкою миші та вибрати "Перейти до джерела":

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

Здавалося, що це автоматично робиться, можливо, тому, що я встановив джерело через менеджер SDK для Android, як описано в інших місцях.


0

Спочатку перевірте, що ви вже завантажили джерело.

потім скиньте Android SDK Location на settings .

Я вирішив свою проблему вищевказаним методом.


0

Єдине, що для мене працювало:

  • Відкрийте диспетчер SDK для Android (Інструменти -> Android -> Диспетчер SDK -> Запустити автономний диспетчер SDK)
  • видаліть усі платформи та джерела SDK для SDK для Android (з усіх рівнів API)
  • перезавантажте Android Studio

Після перезавантаження Android Studio з’явиться майстра, оскільки SDK не встановлено: встановіть платформу SDK та джерела для використовуваного на даний момент рівня API.


0

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


0

Для мене завантаження та оновлення не допомагало. Я намагався вибрати джерело, але все-таки те саме питання. Тому я зробив недійсний кеш / перезапуск. Зараз це працює.

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


0

Щодо 08.08.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 немає потреби в завантаженні

Інструкція з налаштування в Android Studio

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

android {
    compileSdkVersion 28
    ...

Щоб застосувати зміни - перезапустіть IDE


0

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

Але насправді, з developer.android.com , він показує приклад як sdkmanager "platform-tools" "platforms;android-28", так що я думаю, так і має бути ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.