Android Studio: cách đính kèm nguồn SDK Android?


111

Làm cách nào để đính kèm các nguồn SDK Android vào Android Studio?

Khi tôi mở một trong các lớp Android, cửa sổ "Không tìm thấy nguồn" với tùy chọn "Đính kèm nguồn" không xuất hiện.

Cách khác để làm điều này là gì?

Câu trả lời:


66

Mở trình quản lý sdk của bạn từ các menu thanh công cụ và tải xuống "Nguồn cho Android SDK" cho cấp API được xác định trong tệp build.gradle của bạn như

compileSdkVersion 19 // compile with API level 19

Không cần phải làm gì khác.

Lưu ý: Nguồn cho SDK chỉ có sẵn cho API cấp 14 trở lên.

CẬP NHẬT (Dựa trên bản phát hành ổn định 3.2.1):

Google thay đổi cách tiếp cận vận chuyển các nguồn, vì vậy hãy xem những gì đã thay đổi.

Đi đến địa điểm sau

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

Khá lười biếng để điều hướng nhập SDKtìm kiếm và studio sẽ giúp bạn đến đúng nơi.

nhập mô tả hình ảnh ở đây

Bạn có thể đọc phần mô tả, phần lớn cho biết phải làm gì. Vì vậy, sau khi nhấp vào "hiển thị chi tiết gói", bạn sẽ thấy các nguồn đã được cài đặt hay chưa (như trong hình dưới đây) nếu nó chưa được cài đặt, hãy cài đặt và bạn đã tốt.

nhập mô tả hình ảnh ở đây


1
@takumar, điều này là do nguồn của SDK hiện không có sẵn cho Android API 20. Tôi chắc chắn khi Android "L" ra mắt bản xem trước, nguồn sẽ có sẵn trong trình quản lý SDK.
Dick Lucas

37
Sau khi tải xuống các nguồn, tôi cần khởi động lại Android Studio để làm cho nó hoạt động
Sathesh

3
Nếu bạn đang gỡ lỗi trên phiên bản cũ hơn compileSdkVersion, mã nguồn sẽ không khớp.
David

Tôi muốn thêm nhận xét của Sathesh vào giải pháp. Có vẻ như nhiều người đã phải khởi động lại, tôi cũng vậy.
Ferran Maylinch

Bạn cần phải đánh dấu vào hộp kiểm "Show Details trọn gói" để tìm mục "Nguồn dành cho Android ..."
Flimm

247

Báo cáo trong Android Studio 3.2.1: đã giải quyết vấn đề bằng cách đặt lại SDK.

Tùy chọn -> Giao diện & Hành vi -> Cài đặt Hệ thống -> Android SDK.

Nhấp vào Chỉnh sửa ở bên phải của vị trí SDK Android. Tiếp theo, Tiếp theo, Kết thúc để hoàn thành trình hướng dẫn và thì đấy!


3
@ 0xF Tệp / Cài đặt cho Windows (Linux?), Tùy chọn cho Mac. Đã thêm Hình thức & Hành vi, cảm ơn rất nhiều. Bỏ lỡ điều đó hoàn toàn.
Alexander Mayatsky

1
@AlexanderMayatsky Tệp / Cài đặt có trên Linux.
0xF

2
trên Linux thì đó là:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

2
Gặp phải vấn đề tương tự khi tài liệu không hiển thị. Điều này đã giải quyết nó cho phiên bản ổn định mới nhất là 3.1.4.
Thử thách được chấp nhận vào

Điều này không hiệu quả với tôi. Tôi đã tải xuống các nguồn cho compileSdkVersion 28 và build.gradle của tôi cũng có targetSdkVersion 28 và khi tôi chạy ứng dụng của mình trong trình gỡ lỗi, tôi có thể thấy tất cả những thứ như art::ArtMethod::InvokeStartBackgroundThread(đây là cho một chuỗi trình trợ giúp JNI trong ứng dụng của tôi) nhưng nhấp vào bất kỳ thứ gì trong phần Android của ngăn xếp không hiển thị cho tôi tệp nguồn được liên kết. Tôi đang thiếu gì?
kbro

32

Tôi không thể tìm thấy các tùy chọn gui nói trên trong v8.11 trên osx, tuy nhiên grep-fu cho tôi biết:

cấu hình được lưu trữ trong ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Sau khi chỉnh sửa tệp này (với Studio đã dừng) và khởi động lại ánh xạ nguồn hoạt động tốt đối với tôi.

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 tại đây trên Mac OS. Những điều sau đây phù hợp với tôi: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert

1
Đã làm cho tôi. Ubuntu 14.04 / Android Studio 2.2. Tôi đã sử dụng 'định vị jdk.table.xml' mà trong trường hợp của tôi là ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Điều thú vị là có vẻ như tại một số điểm trong quá trình này, một số thứ đã thay thế các đường dẫn tuyệt đối của tôi bằng "file: // $ USER_HOME $ ..." ?? Trong mọi trường hợp, mọi thứ bắt đầu hoạt động sau khi tôi sửa tệp.
thợ rèn steven

16

Đối với tôi trên 2016/08/29 chạy android studio 2.1.3:

Tôi đã tải xuống và đang biên dịch dựa trên api 24 trước khi các nguồn được phát hành. Tôi muốn chỉ ra nguồn bây giờ rằng chúng đã được phát hành. Khởi động lại Android Studio sau khi tải xuống các nguồn trong trình quản lý SDK không hoạt động.

Tôi phải hành động như thể tôi sẽ Chỉnh sửa vị trí SDK trong Trình quản lý SDK, khi làm điều đó, tôi chỉ cần nhấp vào 'tiếp theo' thông qua hộp thoại và tự động lập chỉ mục lại nội dung sdk.

nút để chỉnh sửa vị trí SDK chỉ cần nhấp vào tiếp theo qua


7

Giải pháp của gdawg cũng phù hợp với tôi trong Windows 10 và Android Studio 2.0. Với sửa đổi nhỏ mà tệp jdk.table.xml được đặt tại

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


5

Không chắc tại sao câu trả lời được chấp nhận dường như chỉ hoạt động với API cấp 19. Tôi đã có thể đính kèm các nguồn SDK cho API cấp 15 bằng cách cung cấp rõ ràng đường dẫn nguồn cho SDK. Đây là những gì tôi đã làm:

  1. Đảm bảo rằng tôi đã tải xuống các nguồn SDK mong muốn và thiết lập build.gradle của mình với cấp API mong muốn.
  2. Trong cửa sổ Dự án ở bên trái, hãy chọn menu thả xuống Thư viện bên ngoài.
  3. Nhấp chuột phải vào mục menu và chọn Mở Cài đặt Thư viện.
  4. Nhấp vào tab Sourcepath và sử dụng biểu tượng + ở dưới cùng bên trái để liên kết đến các nguồn SDK mong muốn (phải có trong một cái gì đó / sdk / sources)

6
> Nhấp chuột phải vào mục menu và chọn Mở Cài đặt Thư viện. - bạn tìm cái đó ở đâu?
kiruwka

1
Có vẻ như mục menu này không còn nữa. Có nhiều cách để thực hiện việc này trong InteliJ bình thường.
David

3

Trong android studio 0.8.6 (Beta) (OSX 10.9.4), có vẻ như bạn có thể xem trực tiếp mã nguồn android mà không cần đính kèm các Nguồn theo cách thủ công.

Điều kiện tiên quyết là bạn phải tải xuống "Nguồn cho Android SDK" trong "Trình quản lý SDK" và khởi động lại "Android Studio"


1

Chỉ cần làm theo các bước sau: Cài đặt -> SDK Android -> Khởi chạy Trình quản lý SDK độc lập -> tải xuống các nguồn SDK cần thiết của bạn (trong mọi phiên bản Anroid Sources for Android SDK) -> khởi động lại Android Studio của bạn. Nếu ở trên không hữu ích, hãy đảm bảo bạn đã tải xuống các nguồn SDK bắt buộc và đặt lại Android SDK Locationđể làm mới. Tôi hy vọng nó sẽ giúp.


0

Tôi không biết thực đơn bước 3 trong câu trả lời của sfridman đang đề cập đến. Một cách khác mà tôi quản lý để truy cập nguồn mà tôi quan tâm là sau khi Android Studio đưa ra .class mà tôi muốn đi sâu vào:

Breadcrumbs tới tệp .class

Sau đó, tôi có thể nhấp chuột phải vào breadcrumb đó và chọn "Chuyển đến nguồn":

nhập mô tả hình ảnh ở đây

Dường như nó tự động tìm thấy nó từ khi làm điều đó, có thể là do tôi đã cài đặt nguồn thông qua trình quản lý SDK Android như được mô tả ở nơi khác.


0

Đầu tiên, hãy kiểm tra xem bạn đã tải nguồn chưa.

sau đó đặt lại Vị trí SDK Android tại settings.

Tôi đã giải quyết vấn đề của mình bằng phương pháp trên.


0

Điều duy nhất hiệu quả với tôi là:

  • Mở Trình quản lý SDK Android (Công cụ -> Android -> Trình quản lý SDK -> Khởi chạy Trình quản lý SDK độc lập)
  • gỡ cài đặt tất cả NguồnNền tảng SDK cho Android SDK (từ tất cả các cấp API)
  • khởi động lại Android Studio

Khi khởi động lại, Android Studio sẽ bật ra một trình hướng dẫn vì không có SDK nào được cài đặt: hãy cài đặt Nền tảng SDK và các nguồn cho cấp API hiện được sử dụng.


0

Trong Android Studio 2.3.3 trên Windows 7, tôi gặp sự cố rằng các tệp nguồn đã tải xuống für API-Level 26 trong thư mục SDK\sources\android-26không được nhận dạng. Sử dụng "File | Invalidate Caches / Restart" đã giải quyết được vấn đề cho tôi.


0

Đối với tôi, việc tải xuống và làm mới không giúp được gì. Tôi đã cố gắng chọn nguồn nhưng vấn đề vẫn tương tự. Vì vậy, tôi đã không hợp lệ hóa bộ nhớ cache / khởi động lại. Bây giờ nó đang hoạt động.

Tôi đã cố gắng chỉnh sửa tệp jdk.table.xml nhưng không có mục nhập cho android-26, nó chỉ cho đến android-25, vì vậy tôi quyết định không chỉnh sửa tệp đó.


0

Kể từ ngày 09/08/2019 có sẵn các nguồn như vậy

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

Bạn có thể liệt kê chúng theo ./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https

Ví dụ: cài đặt bằng ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"

Không cần tải xuống Android Studio

Hướng dẫn thiết lập trong Android Studio

Trong ứng dụng, build.gradlehãy đặt đúng phiên bản sdk sẽ bao gồm các nguồn mong muốn

android {
    compileSdkVersion 28
    ...

Để áp dụng các thay đổi - khởi động lại IDE


0

Tôi vừa gặp một vấn đề tương tự khi tôi cần tải xuống nền tảng android 28 thông qua dòng lệnh, tôi thấy câu trả lời là chạy lệnh ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28".

Nhưng trên thực tế, từ developer.android.com , nó hiển thị một ví dụ như sdkmanager "platform-tools" "platforms;android-28", vì vậy tôi đoán nó nên như vậy ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.