Android Studio : Android SDK 소스를 첨부하는 방법은 무엇입니까?


111

Android SDK 소스를 Android Studio에 어떻게 연결할 수 있습니까?

Android 클래스 중 하나를 열 때 "소스 첨부"옵션이있는 "소스를 찾을 수 없음"창이 나타나지 않습니다.

이를 수행하는 다른 방법은 무엇입니까?

답변:


66

툴바 메뉴에서 SDK 관리자를 열고 다음과 같이 build.gradle 파일에 정의 된 API 수준에 대한 "Sources for Android SDK"를 다운로드합니다.

compileSdkVersion 19 // compile with API level 19

다른 작업은 수행 할 필요가 없습니다.

참고 : SDK 용 소스는 API 레벨 14 이상에서만 사용할 수 있습니다.

업데이트 (안정적인 릴리스 3.2.1 기준) :

Google은 소스 배송 방식을 변경하므로 변경된 사항을 살펴 보겠습니다.

다음 위치로 이동

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

SDK검색 및 스튜디오에서 유형을 탐색하기가 상당히 게으 르면 올바른 위치 로 이동하는 데 도움이됩니다.

여기에 이미지 설명 입력

설명을 읽을 수 있으며 대부분해야 할 일을 말합니다. 따라서 "패키지 세부 정보 표시"를 클릭하면 소스가 설치되어 있는지 여부를 확인할 수 있습니다 (아래 그림 참조). 설치되지 않은 경우 설치하면 정상입니다.

여기에 이미지 설명 입력


1
@takumar, 이는 현재 Android API 20에서 SDK 소스를 사용할 수 없기 때문입니다. Android "L"이 미리보기에서 나오면 소스가 SDK 관리자에서 제공 될 것이라고 확신합니다.
Dick Lucas

37
소스를 다운로드 한 후 나는 그것이 작동 할 수 있도록 안드로이드 Studio를 다시 시작하는 데 필요한
Sathesh

3
compileSdkVersion보다 이전 버전에서 디버깅하는 경우 소스 코드가 일치하지 않습니다.
David

솔루션에 Sathesh의 의견을 추가하겠습니다. 많은 사람들이 다시 시작해야하는 것 같습니다.
Ferran Maylinch

"Sources for Android ..."항목을 찾으려면 "Show Package Details"확인란을 선택해야합니다.
Flimm

247

Android Studio 3.2.1보고 : SDK를 재설정하여 문제를 해결했습니다.

환경 설정-> 모양 및 동작-> 시스템 설정-> Android SDK.

Android SDK 위치 오른쪽 에있는 편집 을 클릭합니다 . 다음, 다음, 마침 마법사를 완료하고 짜잔!


3
@ 0xF 파일 / Windows 용 설정 (Linux?), Mac 용 기본 설정. 외모 및 행동을 추가했습니다. 감사합니다. 완전히 놓쳤습니다.
Alexander Mayatsky

1
@AlexanderMayatsky 파일 / 설정은 Linux에 있습니다.
0xF

2
Linux에서는 다음과 같습니다.File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

2
문서가 표시되지 않는 동일한 문제가 발생했습니다. 이것은 3.1.4 인 최신 안정 버전에서 해결되었습니다.
ChallengeAccepted

이것은 나를 위해 작동하지 않습니다. compileSdkVersion 28의 소스를 다운로드했고 내 build.gradle에도 targetSdkVersion 28이 있으며, 디버거에서 내 앱을 실행하면 art::ArtMethod::InvokeStartBackgroundThread(이는 내 앱의 JNI 도우미 스레드 용) 와 같은 모든 종류의 항목을 볼 수 있지만 스택의 Android 부분에서 아무 것도 클릭해도 관련 소스 파일이 표시되지 않습니다. 내가 무엇을 놓치고 있습니까?
kbro

32

osx의 v8.11에서 앞서 언급 한 GUI 옵션을 찾을 수 없지만 grep-fu가 알려줍니다.

구성은 ~ / 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>

Mac OS의 AndroidStudio 2.1.2. 다음은 나를 위해 일했습니다. <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert

1
나를 위해 일했습니다. Ubuntu 14.04 / Android Studio 2.2. 필자의 경우 ~ / .AndroidStudio2.2 / config / options / jdk.table.xml에있는 'locate jdk.table.xml'을 사용했습니다. 흥미롭게도이 프로세스의 어느 시점에서 무언가가 내 절대 경로를 "file : // $ USER_HOME $ ..."으로 대체 한 것 같습니다. ?? 어쨌든 파일을 수정 한 후 일이 시작되었습니다.
스티븐 스미스

16

나를 위해 2016/08/29 android studio 2.1.3을 실행 중입니다.

나는 소스가 공개되기 전에 api 24를 다운로드하고 컴파일하고있었습니다. 나는 그들이 릴리스되었으므로 이제 출처를 지적하고 싶습니다. SDK 관리자에서 소스를 다운로드 한 후 Android Studio를 다시 시작하는 것이 작동하지 않았습니다.

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 소스를 다운로드하고 원하는 API 레벨로 build.gradle을 설정했는지 확인하십시오.
  2. 왼쪽의 프로젝트 창에서 외부 라이브러리 드롭 다운을 선택합니다.
  3. 메뉴 항목을 마우스 오른쪽 버튼으로 클릭하고 라이브러리 설정 열기를 선택합니다.
  4. Sourcepath 탭을 클릭하고 왼쪽 하단의 + 아이콘을 사용하여 원하는 SDK 소스에 연결합니다 (something / sdk / sources에 있어야 함).

6
> 메뉴 항목을 마우스 오른쪽 버튼으로 클릭하고 라이브러리 설정 열기를 선택합니다. -그거 어디서 찾았 어?
kiruwka 2015

1
이 메뉴 항목은 더 이상 사용할 수없는 것 같습니다. 일반 InteliJ에서이를 수행하는 방법이 있습니다.
David

3

안드로이드 스튜디오 0.8.6 (Beta) (OSX 10.9.4)에서는 소스를 수동으로 첨부하지 않고도 직접 안드로이드 소스 코드를 볼 수있는 것 같습니다.

전제 조건은 "SDK Manager"에서 "Sources for Android SDK"를 다운로드하고 "Android Studio"를 다시 시작해야한다는 것입니다.


1

다음 단계를 따르십시오. 설정-> Android SDK-> Standalone SDK Manager 시작-> 필요한 SDK 소스 (모든 Anroid 버전에서 Sources for Android SDK) 다운로드-> Android Studio를 다시 시작합니다. 위의 방법이 도움이되지 않으면 필요한 SDK 소스를 다운로드했는지 확인하고을 재설정하여 Android SDK Location새로 고침하세요. 도움이되기를 바랍니다.


0

나는 sfridman의 대답의 3 단계가 어떤 메뉴를 가리키는 지 몰랐습니다. 내가 관심이있는 소스에 접근 할 수있는 또 다른 방법은 Android Studio가 내가 들어가고 싶은 .class를 가져온 후였습니다.

.class 파일에 대한 이동 경로

그런 다음 해당 이동 경로를 마우스 오른쪽 버튼으로 클릭하고 "소스로 이동"을 선택할 수 있습니다.

여기에 이미지 설명 입력

다른 곳에서 설명한대로 Android SDK 관리자를 통해 소스를 설치했기 때문에 자동으로 찾는 것 같았습니다.


0

먼저 이미로드 소스가 있는지 확인하십시오.

그런 다음에서 Android SDK 위치를 재설정하십시오 settings.

위의 방법으로 문제를 해결했습니다.


0

나를 위해 일한 유일한 것은 :

  • Android SDK 관리자를 엽니 다 (도구-> Android-> SDK 관리자-> 독립 실행 형 SDK 관리자 실행).
  • 모든 API 수준에서 Android SDK 용 모든 SDK 플랫폼소스를 제거합니다.
  • Android Studio를 다시 시작하십시오.

다시 시작하면 SDK가 설치되어 있지 않기 때문에 Android Studio가 마법사를 표시합니다. 현재 사용되는 API 레벨에 대한 SDK 플랫폼 및 소스를 설치합니다.


0

에서 안드로이드 스튜디오 2.3.3 윈도우 7에, 나는 이미 다운로드 소스 파일 폴더에있는 API 레벨 26 모피하는 문제가 있었다 SDK\sources\android-26인정되지 않았다. 사용 "파일을 | 무효화 캐시 / 다시 시작" 나를 위해 문제를 해결했다.


0

나를 위해 다운로드 및 새로 고침은 도움이되지 않았습니다. 나는 소스를 선택하려고했지만 여전히 같은 문제입니다. 그래서 캐시 무효화 / 다시 시작을했습니다. 이제 작동합니다.

jdk.table.xml 파일을 편집하려고했지만 android-26에 대한 항목이 없었고 android-25까지만 있었기 때문에 해당 파일을 편집하지 않기로 결정했습니다.


0

2019 년 9 월 8 일에는 이러한 소스를 사용할 수 있습니다.

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.com 에서 예제가으로 표시 sdkmanager "platform-tools" "platforms;android-28"되므로 ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.