Không tìm thấy vị trí SDK. Xác định vị trí với sdk.dir trong tệp local.properIES hoặc với biến môi trường ANDROID_HOME


271

Gần đây tôi đã cố gắng nhập các trò chơi Android mẫu mà tôi đã tải xuống từ trang web của nhà phát triển của Google. Sau khi nhập chúng vào Android Studio, tôi gặp phải lỗi sau:

Lỗi: Không tìm thấy vị trí SDK. Xác định vị trí với sdk.dirtrong tệp local.properIES hoặc với một ANDROID_HOMEbiến môi trường.

Cái này là cái gì? Tôi muốn chạy các chương trình mẫu từ Android Studio.



Câu trả lời:


246

Vui lòng làm theo các bước dưới đây, nó hoạt động với tôi:

  • Chuyển đến Dự án gốc phản ứng của bạn, sau đó chuyển đến thư mục Android Tạo một tệp có tên sau:

địa phương

  • Mở tệp và dán đường dẫn SDK Android của bạn như dưới đây:

Đối với người dùng windows:

sdk.dir=C:\\Users\\UserName\\AppData\\Local\\Android\\sdk

Thay thế Tên người dùng bằng tên người dùng máy tính của bạn. Cũng đảm bảo thư mục là sdk hoặc Sdk. Trong trường hợp của tôi, tên người dùng máy tính của tôi là Zahid nên đường dẫn trông như sau:

sdk.dir=C:\\Users\\Zahid\\AppData\\Local\\Android\\sdk

Đối với người dùng Mac:

sdk.dir = /Users/USERNAME/Library/Android/sdk

Trong đó USERNAME là tên người dùng OSX của bạn .

Đối với người dùng Linux (Ubuntu):

sdk.dir = /home/USERNAME/Android/Sdk

Nơi USERNAME là tên người dùng Linux của bạn (đường dẫn Linux là trường hợp nhạy cảm: chắc chắn rằng trường hợp Strong Sdktrận đấu)

Trong trường hợp nếu điều này không hoạt động, hãy thêm biến ANDROID_HOME trong "Biến môi trường" làm C:\Users\USER\AppData\Local\Android\Sdk

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


Tôi đang làm việc với cv mở, tôi nên làm gì để thêm NDK?
Vô tội

Nó đã giúp đỡ. Trên thực tế giải pháp này được gợi ý trong chính từ ngữ lỗi. Tôi sử dụng IntelliJ trên Mac và trong cấu trúc dự án tôi có đường dẫn chính xác SDK. Tại sao tôi vẫn cần điều đó trong local.properies sau đó?
Alexei Martianov

245

Dự án có thể thiếu một settings.gradletập tin. Đảm bảo rằng tệp tồn tại từ dự án bạn đang nhập. Nếu không thêm settings.gradletệp với các mục sau:

include ':app'

Lưu tệp và đặt nó ở thư mục cấp cao nhất trong dự án của bạn.


16
Làm thế nào tôi có thể biết nếu dự án của tôi bị mất settings.gradle? Tập tin đó thường được lưu trữ ở đâu? Tôi gõ ở include ':app'đâu? Chính xác những gì include ':app'làm / tạo ra? Bạn có thể vui lòng thêm chi tiết cho câu trả lời của bạn?
Tot Zam

1
@TotZam được lưu trữ trong thư mục gốc của dự án của bạn
Joseph

2
Tìm thấy rồi. Cảm ơn. Để tham khảo trong tương lai, tôi sẽ chạy đi include ':app'đâu? Tôi còn khá mới với Android và đang cố gắng tìm đường.
Tot Zam

2
Bạn không chạy include :app, nếu bạn đang sử dụng Android Studio, cho phép Android Studio thêm mô-đun dự án của bạn để bạn có thể chạy nó mà không cần cấu hình thêm. Sau khi bạn thêm dòng vào, settings.gradlebạn sẽ thấy Playnút sẽ hoạt động sau khi lớp hoàn thành việc xây dựng và tải xuống các gói
Joseph

1
Đặt tên thư mục dự án của bạn thay vì 'ứng dụng' nếu nó khác. Nó hoạt động.
Priyank Patel

158

Tôi biết câu trả lời này là muộn, nhưng tôi hy vọng nó sẽ giúp người khác.

Đáp án đơn giản. Bạn chỉ cần sao chép local.propertiestệp của mình vào thư mục nơi dự án được lưu trữ và nó sẽ hoạt động như bùa mê. Nhưng hãy nhớ, nó phải được đặt trong thư mục gốc nơi dự án được lưu trữ.


3
Nhưng tôi phải sao chép nó mọi lúc? Đây có vẻ như là một cách hack hơn là cách tiếp cận đúng
pblead26

Đây là giải pháp dễ dàng nhất cho vấn đề này vì bạn không phải thay đổi bất cứ điều gì trong dự án. Ngoài ra còn có giải pháp khác mà bạn phải thay đổi mã, nhưng tôi nghĩ đối với vấn đề như vậy, người ta không thể lãng phí nhiều thời gian.
Harsh Găngal

Điều này làm việc cho tôi khi tôi gặp vấn đề này sau khi tải xuống ExoPlayer 2.1.
dùng1147171

2
Nó hoạt động, nhưng Intelij có nên tự động tạo ra cái này không? tks!
Caesarsicas

4
Điều này không làm việc cho tôi. Tệp có mặt, nhưng tôi vẫn gặp lỗi
rommex

42

Vấn đề này gặp phải khi bạn cố gắng nhập dự án Android Studio từ tệp ../app/build.gradle .

Nhập dự án bằng cách chọn tệp ../build.gradle nằm trong thư mục gốc của dự án của bạn.


39

Vui lòng làm theo các điểm dưới đây mà nó hoạt động cho tôi:

  1. Đi đến của bạn Project -> Android
  2. Tạo một tập tin local.properties
  3. Mở tập tin
  4. Dán đường dẫn SDK Android của bạn tùy thuộc vào hệ điều hành:

    4. một cửa sổ

    sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk

    4.b Linux hoặc MacOS

    sdk.dir = /home/USERNAME/Android/sdk

    Thay thế USERNAMEbằng tên người dùng của bạn


Quá muộn để bình luận, nhưng tôi muốn biết làm thế nào trong MacOS?
Nauman Moazzam

trong MacOS, bạn cần thực hiện cùng một quy trình, chỉ cần bạn tìm đường dẫn tệp SDK Android của mình và dán tệp local.properations ... đó là
Shuvo

37

Kiểm tra trong tệp local.properIES của bạn

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

viết đúng định dạng này và cũng kiểm tra / sử dụng cho đường dẫn


Tôi sửa local.properties với sdk.dir này = C: \\ Users \\ \\ sameer Android \\ adt-bó-windows-x86-20140702 \\ sdk, bất kỳ lỗi trong việc này
Sameer Shamsudeen

vâng sau khi C đặt \ ... Svae với điều này đã xong. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra

Điều này hoạt động tốt với nhật thực. Chỉ cần tạo tệp local.properies trong dự án đã tải xuống và dán sdk.dir. Trong trường hợp của tôi, đó là: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papeditodorou

nếu có ai phải đối mặt với Bạn chưa chấp nhận các thỏa thuận giấy phép ... lỗi sau khi bước trên xem tại đây stackoverflow.com/a/41078173/1778834
yashhy

Tôi đã cài đặt Android trên windows 10 m / c nhưng không có thư mục như vậy sdk.dir = C \: \\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
Galan Galan

27

Đây là cách khắc phục sự cố khi bạn nhấp vào "Chạy ứng dụng" (mũi tên màu xanh lá cây) và nhận thông tin sau trong hộp thoại Chỉnh sửa cấu hình :

Lỗi: Vui lòng chọn SDK Android

Trong Android Studio, hãy làm:

  1. Từ menu, chọn File > Settings.
  2. Trong hộp thoại cài đặt, đi đến Appearance & Behavior > System Settings > Android SDK.
  3. Nhìn từ trên xuống cho Vị trí SDK Android và nhấp vào Editnút
  4. Nhấn Next, Next, Kết thúc để chấp nhận mặc định

Điều này dường như để tiết kiệm vị trí SDK - mặc dù không có gì thay đổi - vào một số vị trí nội bộ. Tôi đã kiểm tra các thư mục .idea.gradlenhưng không thấy Studio đã làm gì để thay đổi tệp cấu hình - nhưng bây giờ tôi có thể chạy ứng dụng.

Và để tóm tắt các bản sửa lỗi trước đây - những cách này thường ổn cho một repo mà không gặp sự cố xây dựng:

  • Tệp local.properIES được Studio sao chép vào thư mục gốc.

  • Đường dẫn trong tệp local.properIES có đường dẫn chính xác tới SDK Android - trong trường hợp của tôi là sdk.dir=C:\\android\\sdk (lưu ý rằng đường dẫn này có định dạng khác - Studio nên viết tệp này cho bạn dựa trên trường Nhập văn bản trong Cài đặt SDK của Android hộp thoại)

  • tập tin settings.gradle có trong repo - và tham chiếu thư mục ứng dụng (thường là: ứng dụng)


3
Đây là điều duy nhất đã giúp tôi. Bước # 3 và # 4 rất quan trọng
soshial

16

Nếu bạn gặp vấn đề này khi bạn kéo một dự án có nguồn gốc phản ứng, bạn chỉ cần mở dự án Android với Android Studio. Mọi thứ bạn cần sẽ được tạo tự động.

  • Mở Android Studio
  • Tệp -> Mở
  • Chọn androidthư mục trong thư mục dự án gốc của bạn
  • Đợi AndroidStudio hoàn tất thiết lập
  • Bây giờ bạn có thể đóng Android Studio

HOẶC LÀ

Nếu bạn đã cài đặt trình khởi chạy dòng lệnh AndroidStudio :

  • Chạy cái này trong thư mục gốc phản ứng của bạn
studio android/
  • Đợi AndroidStudio hoàn tất thiết lập
  • Bây giờ bạn có thể đóng Android Studio

1
Nó hoạt động với tôi
Vikram Rajput

12

Trong Linux:

Nếu bạn đã tải xuống SDK Android nhưng nó không được tìm thấy.

Vấn đề có thể là tệp local.propertiescần phải nằm trong cùng thư mục với gradlenội dung gradlecần tìm khi xây dựng và chạy adb.

Đối với dự án phản ứng gốc của gradletôi bằng cách sử dụng, tôi cần đặt local.propertiestệp vào Myprojectname/android/thư mục.

Vì tôi đã giải nén SDK thành Tải xuống nên tôi chỉ sử dụng đường dẫn đó trong tệp với một hàng như thế này:

sdk.dir=/home/USER/Downloads/android-sdk-linux

11

Tôi đã giải quyết vấn đề này bằng cách tạo biến môi trường ANDROID_HOME như sau trong windows.

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

Khởi động lại Android Studio nên xây dựng dự án!


Tôi đã có một ANDROID_SDK trỏ đến cùng một thư mục, vì vậy đối với tôi đó làANDROID_HOME=$ANDROID_SDK
Martijn

10

Tôi đã gặp một vấn đề tương tự nhưng một thông báo lỗi khác nhau một chút là

Không tìm thấy vị trí SDK. Xác định vị trí với biến môi trường ANDROID_SDK_ROOT hoặc bằng cách đặt đường dẫn sdk.dir trong tệp thuộc tính cục bộ của dự án của bạn tại "xxx"

MAC & ReactNative

Thêm vào local.properties

  1. Tìm vị trí SDK Android của bạn

    /Users/yourMacUserName/Library/Android/sdk
  2. Tạo local.propertiesdưới rootProject/android/local.properties.

  3. Thêm đường dẫn sdk vào nó

    sdk.dir = /Users/yourMacUserName/Library/Android/sdk

Điều này thường hoạt động, nhưng nếu bạn đang làm việc trong một nhóm với các thành viên khác trong nhóm, thì yourMacUserNamekhác.

HOẶC LÀ

Đặt ANDROID_SDK_ROOTbiến

  1. Chỉnh sửa ~/.zshrchoặc ~/.bashrchoặc ...
  2. Thêm đường dẫn SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Mở tab thiết bị đầu cuối mới hoặc source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT để kiểm tra đường dẫn SDK chính xác.

Ngoài ra, bạn cũng có thể thêm đường dẫn của mình để sử dụng một số lệnh hữu ích.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools


9

Nếu bạn đang cố chạy mã mẫu Android của Google, hãy thử nhập toàn bộ kho lưu trữ thay vì một mẫu riêng lẻ .

Đây là phần có liên quan từ hướng dẫn.html , được bao gồm với mã mẫu API Lịch Google

  • Nhập dự án lịch-android-mẫu
    • Chọn "Nhập dự án ..." hoặc Tệp> Nhập dự án ...
    • Chọn [someDirectory] /google-api-java-client-samples/build.gradle và nhấp OK.
      • Lưu ý: nó sẽ không hoạt động nếu bạn cố gắng nhập [someDirectory] /google-api-java-client-samples/calWiki-android-sample/build.gradle
    • Chọn "Sử dụng phân phối lớp cục bộ" với "Lớp nhà" của [someDirectory] /gradle-2.2.1 và nhấp OK.

6

Không có một lý do duy nhất cho lỗi này.

  1. settings.gradle có thể bị thiếu hoặc nội dung trong đó có thể sai.
  2. local.properties có thể bị thiếu hoặc đường dẫn sdk có thể bị viết sai.

1
Những loại nội dung nên có trong tập tin settings.gradle?
Cabanni

@cabanni settings.gradle chỉ bao gồm các mô-đun trong ứng dụng của bạn. Theo mặc định, nó sẽ là mô-đun 'ứng dụng'. Hy vọng nó sẽ giúp /
Arhat Baid 19/07/18

5

Chỉ cần loại bỏ thư mục .idea và nhập lại dự án. Nó làm việc cho tôi.


4

tạo một tệp local.properIES trong thư mục gốc của dự án của bạn với nội dung sau

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk

4
  1. Chuyển đến Dự án gốc React của bạn -> Android
  2. Tạo một tệp local.properies

  3. Mở tập tin

  4. dán đường dẫn SDK Android của bạn như bên dưới

     in Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    
     in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    
     in linux sdk.dir = /home/USERNAME/Android/Sdk
  5. Thay thế USERNAME bằng tên người dùng của bạn

  6. Bây giờ, Chạy run-android run-android trong thiết bị đầu cuối của bạn

hoặc là

Đôi khi dự án có thể thiếu một tập tin settings.gradle. Đảm bảo rằng tệp tồn tại từ dự án bạn đang nhập. Nếu không thêm tệp settings.gradle với các mục sau:

    include ':app'

Lưu tệp và đặt nó ở thư mục cấp cao nhất trong dự án của bạn.


3

đặt hai dòng này vào tệp .bashrc của bạn và chạy source ~/.bashrc

export ANDROID_HOME=/Users/$USER/Library/Android/sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Đối với linux tôi đã làm điều này (Đối với dòng đầu tiên)

export ANDROID_HOME=/home/$USER/Android/Sdk

2

cách tốt nhất và dễ nhất là tạo thư mục "ứng dụng" di chuyển dự án Android mới từ dự án không hoạt động sang dự án mới thực hiện và thêm các phụ thuộc cần thiết trong lớp của dự án mới của bạn và mọi thứ sẽ hoạt động hoàn hảo)


Điều này đã khắc phục sự cố trên cả mac High Serria và Windows 10. Câu trả lời tuyệt vời và hiệu quả.
Val

2

Nếu vẫn thất bại, sao chép local.propertiestệp vào thư mục gốc của dự án. Đơn giản.



2

Giải pháp này thực sự hiệu quả với tôi .. đi đến pc này -> thuộc tính -> cài đặt hệ thống nâng cao -> biến môi trường -> sau đó trong biến hệ thống tạo biến mới với tên ANDROID_SDK_ROOT và giá trị C: \ Users {USERNAME (Thay thế bằng tên người dùng của bạn } \ AppData \ Local \ Android \ Sdk

và đảm bảo rằng nếu điện thoại di động Android thực sự sử dụng gỡ lỗi usb được bật. (rất quan trọng)

sau đó đóng cmd và khởi động lại nó sẽ hoạt động.


2

Trong trường hợp của tôi, tôi đã phải đóng Project và mở lại. Nó hoạt động tốt. Như thế này

Đóng dự án

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

Và một lần nữa mở dự án một lần nữa

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


Sau khi thêm đường dẫn sdk.dir và cả ~ / .bashrc, không có gì hoạt động. Nhưng sau đó tôi đóng và mở lại và nó hoạt động. Cảm ơn!
grc


1

Tôi đã nhận được lỗi này sau khi nhân bản một kho lưu trữ. Tôi mong đợi local.properies sẽ được tạo tự động, nhưng không phải vậy. Tôi đã có thể tạo nó bằng cách nhập lại dự án Gradle.

File > Re-import Gradle Project

Điều này đã giúp. Sau khi "Tái nhập dự án Gradle" được khởi chạy, 2 lỗi sau đã được in ra bàn điều khiển giúp tôi phát hiện vấn đề: Đã tìm thấy cấu hình JDK Gradle không hợp lệ , Project JDK không được chỉ định . Vì vậy, mọi thứ bắt đầu hoạt động sau khi tôi sửa đường dẫn JDK trong Cài đặt.
Michal Vician

Sau khi đường dẫn JDK được sửa, tôi cũng phải khởi động lại IDE với tùy chọn "Tệp> Bộ đệm / Khởi động lại không hợp lệ ...".
Michal Vician

1

Bất cứ ai sử dụng Jenkins, đều có thể thấy nó hữu ích

Bạn cần xác định tên biến toàn cục ANDROID_HOME với giá trị của đường dẫn đến sdk android.

Đối với mac, nó là /Users/YOUR_USER_NAME/Library/Android/sdk


1

tôi đã nghĩ rằng tập tin settings.gradle của bạn bị thiếu. Sao chép tập tin này một dự án khác và dán dự án của bạn. Nó sẽ hoạt động tôi nghĩ.

trong tập tin settings.gradle,

include ':app'

đó là tất cả. Chúc bạn ngày mới tốt lành.


1

Đối với tôi, vấn đề là tôi đã không tạo ra bất kỳ thiết bị ảo nào sau khi cài đặt mới android studio. Vì vậy, hội chợ tiếp tục phàn nàn mơ hồ về vị trí sdk trong khi vấn đề chính là các thiết bị ảo bị thiếu. Hy vọng điều này sẽ giúp ai đó trong tương lai, đã cho tôi tìm kiếm một vài giờ.

Tái bút: tại đây bạn có thể tìm hiểu cách tạo một https://developer.android.com/studio/run/managing-avds


0

Kiểm tra, 1. Trong cài đặt Mô-đun, xem, vị trí SDK có phù hợp không. 2. Nếu Có, hãy kiểm tra tệp local.properIES (Không phải tệp được đặt bên trong mô-đun ứng dụng, mà là tệp được đặt bên ngoài mô-đun ứng dụng, ở cấp chính). Nếu không có mặt, thêm nó với các dòng dưới đây bên trong nó.

sdk.dir=/path/to/sdk/../Android/Sdk

0

Tôi chỉ phải đối mặt với vấn đề khi tôi nhân bản repo của mình từ Github và chạy ./gradlew clean assembleDebug. Tôi xác nhận rằng tôi có ANDROID_HOME trong tệp .bashrc của mình.

Vì vậy, tôi đã nhập dự án vào Android Studio. Nhận thấy rằng phần mở rộng của tập tin settings.gradle của tôi là .kts, settings.gradle.kts. Khi tôi hoàn thành việc nhập khẩu thì tôi đã chạy ./gradlew clean assembleDebugvà không gặp vấn đề gì.


0

Tôi đã thử

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

và nó hoạt động, tôi chỉ cần dán nó trong thư mục dự án và bên ngoài.

Trong biến môi trường tôi cũng sử dụng liên kết sdk ở trên và tên ANDROID_HOMElàm tên đường dẫn. Đóng tất cả mọi thứ mở lại và Cabom tất cả đều hoạt động

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.