Місце SDK не знайдено. Визначте розташування за допомогою sdk.dir у файлі local.properties або зі змінною середовища ANDROID_HOME


271

Нещодавно я намагався імпортувати зразкові ігри для Android, які я завантажив із веб-сайту розробника Google. Після імпортування їх в Android Studio я отримую таку помилку:

Помилка: місцезнаходження SDK не знайдено. Визначте розташування sdk.dirу файлі local.properties або зі ANDROID_HOMEзмінною середовища.

Що це? Я хочу запустити зразкові програми від Android Studio.


4
Перевірте це посилання xinyustudio.wordpress.com/2014/07/02/…
IntelliJ Amiya

Відповіді:


245

Будь ласка, дотримуйтесь нижче кроків, які це працює для мене:

  • Перейдіть до свого власного проекту, потім перейдіть до каталогу Android. Створіть файл із таким ім'ям:

локальні.властивості

  • Відкрийте файл і вставте шлях для SDK для Android, як показано нижче:

Для користувачів Windows:

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

Замініть UserName своїм іменем ПК. Також переконайтеся, що папка sdk або Sdk. У моєму випадку ім'я користувача мого комп’ютера - Захід, тому шлях виглядає так:

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

Для користувачів Mac:

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

Де USERNAME - ваше ім’я користувача OSX .

Для користувачів Linux (Ubuntu):

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

Де USERNAME ваш линукс ім'я користувача (шляху Linux чутливі до регістру: переконайтеся , що в разі Sв Sdkматчах)

Якщо це не працює, додайте змінну ANDROID_HOME у "Змінні середовища" як C:\Users\USER\AppData\Local\Android\Sdk

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


Я працюю з відкритим резюме, що мені робити, щоб додати NDK?
Невинний

Це допомогло. Насправді це рішення натякає на формулювання помилки. Я використовую IntelliJ на Mac і в структурі проекту маю правильний шлях SDK. Навіщо тоді мені це потрібно в local.properties?
Олексій Мартьянов

244

У проекті може бути відсутній settings.gradleфайл. Переконайтеся, що файл існує в проекті, який ви імпортуєте. Якщо не додати settings.gradleфайл із наступним:

include ':app'

Збережіть файл і помістіть його у папку верхнього рівня у вашому проекті.


16
Як я можу визначити, чи мій проект відсутній settings.gradle? Де цей файл зазвичай зберігається? Де я набираю include ':app'? Що саме робить include ':app'/ генерує? Чи можете ви додати більш детальну інформацію у відповідь?
Тот Зам

1
@TotZam зберігається в корені вашого проекту
Джозеф

2
Знайшов це. Дякую. Для подальшого ознайомлення, куди я біжу include ':app'? Я зовсім новачок в Android і намагаюся знайти свій шлях.
Tot Zam

2
include :appЯкщо ви користуєтесь Android Studio, ви не запускаєте , що дозволяє Android Studio додавати ваш проектний модуль, щоб ви могли запустити його без додаткової конфігурації. Після додавання рядка settings.gradleви помітите, що Playкнопка стає активною після завершення створення та завантаження пакетів
Джозеф

1
Введіть назву папки проекту замість "app", якщо вона інша. Це працює.
Priyank Patel

158

Я знаю, що ця відповідь запізнилася, але сподіваюся, що вона допоможе іншим.

Відповідь проста. Ви повинні просто скопіювати свій local.propertiesфайл у папку, де зберігається проект, і він буде працювати як шарм. Але пам’ятайте, він повинен бути розміщений у кореневій папці, де зберігається проект.


3
Але мені доведеться копіювати це щоразу? Це здається злому, ніж правильний підхід
pblead26

Це найпростіше рішення цієї проблеми, оскільки вам нічого не потрібно змінювати в проекті. Є й інші рішення, в яких вам доведеться змінити код, але я думаю, що на таке питання не можна дозволити собі витрачати багато часу.
Суворий Міттал

Це спрацювало для мене, коли у мене виникла ця проблема після завантаження ExoPlayer 2.1.
користувач1147171

2
Це працює, але чи не повинен Intelij генерувати це автоматично? tks!
цезарікас

4
Це не працює для мене. Файл присутній, але я все ще маю помилку
rommex

42

Ця проблема виникає при спробі імпортувати проект Android Studio з файлу ../app/build.gradle .

Імпортуйте проект, вибравши файл ../build.gradle, розташований у кореневій директорії вашого проекту.


39

Будь ласка, слідкуйте за наступними пунктами, які це працює для мене:

  1. Переходьте до свого Project -> Android
  2. Створіть файл local.properties
  3. Відкрийте файл
  4. Вставте шлях SDK для Android в залежності від операційної системи:

    4.a Windows

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

    4.b Linux або MacOS

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

    Замініть USERNAMEсвоїм іменем користувача


Занадто пізно коментувати, але я хочу знати, як це зробити в MacOS?
Науман

в MacOS вам потрібно виконати ту саму процедуру, просто вам потрібно знайти шлях до файлу Android SDK і вставити файл local.properties ... ось це
Shuvo

37

Перегляньте у файлі local.properties

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

належним чином записати цей формат, а також перевірити / коси, використовуючи для шляху


Я редагував local.properties за допомогою цього sdk.dir = C: \\ Користувачі \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, будь-яка помилка в цьому
Sameer Shamsudeen

так, після того, як C покладе \ ... Свае з цією надією зроблено. sdk.dir = C \: \\ Користувачі \\ той самий \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra

Це добре спрацьовує із затемненням. Просто створіть файл local.properties у завантаженому проекті та вставте sdk.dir. У моєму випадку це було: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
Георгій Папатеодору

якщо хто -то стикається Ви не прийняли умови ліцензійної угоди ... помилка після того, як на попередньому етапі дивіться тут stackoverflow.com/a/41078173/1778834
yashhy

Я встановив андроїд на своєму Windows 10 м / с, але немає такої папки sdk.dir = C \: \\ Користувачі \\ USERNAME \\ AppData \\ Local \\ Android?
Рохан Гала

27

Ось вирішення проблеми, коли ви натискаєте "Запустити додаток" (зелена стрілка) та отримуєте наступне у діалоговому вікні " Редагувати конфігурацію" :

Помилка. Виберіть Android SDK

У студії Android виконайте:

  1. У меню виберіть File > Settings.
  2. У діалоговому вікні налаштувань перейдіть до Appearance & Behavior > System Settings > Android SDK.
  3. Подивіться вгорі для Android SDK Location і натисніть Editкнопку
  4. Натисніть Далі, Далі, Готово, щоб прийняти типові настройки

Це, здається, позбавить місце розташування SDK - хоча нічого не змінилося - у якесь внутрішнє місцеположення. Я перевірив папки .ideaта .gradleпапки, але не побачив, що студія зробила, щоб змінити конфігураційний файл - але тепер я можу запустити додаток.

І підсумовуючи попередні виправлення - це зазвичай нормально для РЕПО без проблем зі збіркою:

  • Файл local.properties копіюється в кореневу папку Студією.

  • Шлях у файлі local.properties має правильний шлях до SDK для android - у моєму випадку це sdk.dir=C:\\android\\sdk (зауважте, що цей шлях має інший формат - Studio має записати цей файл для вас на основі поля "Текстовий ввід" у налаштуваннях SDK для Android. діалог)

  • Файл settings.gradle присутній у репо - і посилається на папку програми (зазвичай: додаток)


3
Це єдине, що мені допомогло. Кроки №3 та №4 дуже важливі
soshial

16

Якщо у вас виникла ця проблема, коли ви підтягуєте проект, котрий реагує на реагування, просто потрібно відкрити проект Android на Android Studio. Все необхідне буде створено автоматично.

  • Відкрийте Android Studio
  • Файл -> Відкрити
  • Виберіть androidпапку в папці свого проекту
  • Зачекайте, поки AndroidStudio завершить налаштування
  • Тепер ви можете закрити Android Studio

АБО

Якщо ви встановили панель запуску командного рядка AndroidStudio :

  • Запустіть це у своїй реальній кореневій папці
studio android/
  • Зачекайте, поки AndroidStudio завершить налаштування
  • Тепер ви можете закрити Android Studio

1
Це працює для мене
Vikram Rajput

12

У Linux:

Якщо ви вже завантажили SDK для Android, але його не знайдено.

Проблема може полягати в тому, що файл local.propertiesповинен знаходитися в тій самій каталозі, що і gradleречі, gradleщоб знайти його під час створення та запуску adb.

Для мого власного проекту, що реагує на реалізацію, gradleмені потрібно було помістити local.propertiesфайл у Myprojectname/android/папку.

Оскільки я розпакував пакет SDK для завантажень, я просто використовую цей шлях у файлі з таким рядком:

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

11

Я вирішив цю проблему, створивши змінну середовища ANDROID_HOME у вікнах нижче.

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

Перезавантажте Android Studio, він повинен будувати проект!


У мене вже був ANDROID_SDK, який вказує на той самий реж, так що для мене це булоANDROID_HOME=$ANDROID_SDK
Martijn

10

Я зіткнувся з тим же питанням, але трохи іншим повідомленням про помилку є

Місце SDK не знайдено. Визначте місце за допомогою змінної середовища ANDROID_SDK_ROOT або встановивши шлях sdk.dir у файлі локальних властивостей вашого проекту на "xxx"

MAC & ReactNative

Додайте local.properties

  1. Знайдіть своє місцезнаходження SDK для Android

    /Users/yourMacUserName/Library/Android/sdk
  2. Створити local.propertiesпід rootProject/android/local.properties.

  3. Додайте до нього sdk шлях

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

Це зазвичай працює, але якщо ви працюєте в команді з іншими членами команди, то yourMacUserNameце інакше.

АБО

Встановити ANDROID_SDK_ROOTзмінну

  1. Редагувати ваш ~/.zshrcабо ~/.bashrcабо ...
  2. Додати шлях SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Відкрийте нову вкладку терміналу або source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT перевірити правильність шляху друку SDK.

Крім того, ви також можете додати свій шлях для використання деяких корисних команд.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools


9

Якщо ви намагаєтеся запустити зразок коду Google для Android, спробуйте імпортувати все сховище замість окремого зразка .

Ось відповідний розділ з інструкції.html , включений до зразкового коду API Календаря Google

  • Імпортуйте календар-проект-зразок проекту
    • Виберіть "Імпортувати проект ..." або Файл> Імпортувати проект ...
    • Виберіть [someDirectory] /google-api-java-client-samples/build.gradle та натисніть кнопку OK.
      • Примітка: це не спрацює, якщо ви спробуєте імпортувати [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Виберіть "Використовувати локальний розподіл gradle" за допомогою пункту "Gradle home" [[SomeDirectory] /gradle-2.2.1) та натисніть кнопку ОК.

6

Немає жодної причини цієї помилки.

  1. settings.gradle може бути відсутнім або вміст у ньому може бути неправильним.
  2. local.properties може бути відсутнім або шлях SDK може бути записаний неправильно.

1
який вміст повинен бути у файлі settings.gradle?
cabanni

@cabanni settings.gradle просто включає модуль у вашу програму. За замовчуванням це буде модуль "app". Сподіваюся, що це допомагає /
Архат Байд


4

створити файл local.properties у вашій кореневій директорії проекту із наступним вмістом

## 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. Перейдіть до свого власного проекту React -> Android
  2. Створіть файл local.properties

  3. Відкрийте файл

  4. вставте шлях SDK для Android, як показано нижче

     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. Замініть USERNAME своїм іменем користувача

  6. Тепер запустіть у своєму терміналі натиснутій на android run-android

або

Іноді в проекті може бути відсутній файл settings.gradle. Переконайтеся, що файл існує в проекті, який ви імпортуєте. Якщо не додати файл settings.gradle із наступним:

    include ':app'

Збережіть файл і помістіть його у папку верхнього рівня у вашому проекті.


3

помістіть ці два рядки у свій .bashrc файл та запустіть source ~/.bashrc

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

Для Linux я це зробив. (Для першого рядка)

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

2

найкращий і найпростіший спосіб - створити нову папку "Android" для переміщення проекту з неробочого проекту до новоспеченого та додати необхідні залежності в ступінь нового проекту і все буде працювати ідеально)


Це виправило проблему як на mac High Serria, так і на Windows 10. Чудова відповідь та ефективність.
Val

2

Якщо все інше не local.propertiesвдалося , скопіюйте файл у корінь каталогу проекту. Просто.


2

Для користувачів Mac / Linux

Вам потрібно додати ANDROID_HOMEдо свого шляху, додати у .bashrc || .zshrc || .profileфайл наступне

# change $HOME to the path where you installed android Sdk
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools

Потім бігайте

$ source ~/.bashrc || .zshrc || .profile

Змінні середовища в bash_profile чи bashrc?

Різниця між .bashrc і .bash_profile


2

Це рішення насправді працює для мене .. перейдіть на цей ПК -> властивості -> розширені налаштування системи -> змінні середовища -> тоді в системній змінній створіть нову змінну з іменем ANDROID_SDK_ROOT та значенням C: \ Users {USERNAME (Замініть її своїм ім'ям користувача } \ AppData \ Local \ Android \ Sdk

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

потім закрийте cmd і перезавантажте це повинно працювати.


2

У моєму випадку мені довелося закрити Project і відкрити його знову. Це добре працювало. Подобається це

Закрити проект

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

І знову відкритий проект

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


Після додавання sdk.dir шляху, а також до ~ / .bashrc, нічого не вийшло. Але потім я закрився і знову відкрився, і це спрацювало. Дякую!
grc

1

Знайшов робоче рішення для мене. Без додавання локальних властивостей і налаштування змінної ANDROID_HOME Схоже, помилка в Android Studio та Intellij IDEA. Вам просто потрібно попросити IDE «скинути» шлях до Android SDK. "Android SDK не знайдено" в Android Studio, незважаючи на те, що змінна середовища налаштована правильно


1

Я отримав цю помилку після свіжого клонування сховища. Я очікував, що локальні властивості будуть створені автоматично, але це не було. Мені вдалося генерувати це шляхом повторного імпорту проекту Gradle.

File > Re-import Gradle Project

Це допомогло. Після запуску "Проект повторного імпорту Gradle" на консоль було надруковано наступні 2 помилки, які допомогли мені виявити проблему: Невірна конфігурація JDK Gradle знайдена , проект JDK не вказаний . Тож все почало працювати після того, як я зафіксував шлях JDK у налаштуваннях.
Міхал Вікіан

Після виправлення шляху JDK мені також довелося перезапустити IDE за допомогою параметра "Файл> Недійсний кеш / Перезапуск ...".
Міхал Вікіан

1

Кожен, хто користується Дженкінсом, може стати корисним

Потрібно визначити глобальну назву змінної ANDROID_HOME зі значенням шляху до android sdk.

Для mac це так /Users/YOUR_USER_NAME/Library/Android/sdk


1

я думав, що файл налаштування.gradle відсутній. Скопіюйте цей файл в інший проект і вставте ваш проект. Він буде працювати, я думаю.

у файлі setu.gradle,

include ':app'

це все. Гарного дня.


1

Для мене проблема полягала в тому, що я не створив жодного віртуального пристрою після свіжої установки Android студії. Таким чином, expo невдовзі скаржився на розташування sdk, тоді як головною проблемою були відсутні віртуальні пристрої. Сподіваюся, що це допоможе комусь у майбутньому, я змусив мене шукати пару годин.

PS: тут ви можете дізнатися, як створити один https://developer.android.com/studio/run/managing-avds


0

Перевірте: 1. У налаштуваннях модуля чи розташування SDK належне. 2. Якщо так, перевірте файл local.properties (не один розміщений всередині модуля програми, а той, який розміщений поза модулем програми, на батьківському рівні). Якщо немає, додайте його з рядками нижче.

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

0

Я щойно стикався з проблемою, коли клонував репо з Github і біг ./gradlew clean assembleDebug. Я підтверджую, що у моєму файлі .bashrc є ANDROID_HOME.

Отже, я імпортував проект в Android Studio. Помічено , що розширення мого settings.gradle файлу .kts, settings.gradle.kts. Коли я закінчив з імпортом, то я забіг ./gradlew clean assembleDebugі не отримав жодної проблеми.


0

я намагався

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

і це спрацювало, я просто вставив його в папку проектів і зовні.

У змінній оточення я також використовував посилання sdk вище та ім'я ANDROID_HOMEяк ім'я шляху. Закрийте все, що відкриється, і Кабом все це спрацювало

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