Місце 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.