Местоположение SDK не найдено. Определите местоположение с помощью sdk.dir в файле local.properties или с помощью переменной среды ANDROID_HOME

271

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

Ошибка: местоположение SDK не найдено. Определите местоположение с sdk.dirпомощью файла local.properties или с помощьюANDROID_HOME переменной среды.

Что это? Я хочу запустить примеры программ из Android Studio.

Самер Шамсудин
источник

Ответы:

246

В проекте может отсутствовать settings.gradleфайл. Убедитесь, что файл существует из проекта, который вы импортируете. Если нет, добавьте settings.gradleфайл со следующим:

include ':app'

Сохраните файл и поместите его в папку верхнего уровня в вашем проекте.

Джозеф
источник
16
Как я могу определить, отсутствует ли мой проект settings.gradle? Где обычно хранится этот файл? Где я могу печатать include ':app'? Что именно делает include ':app'/ генерирует? Можете ли вы добавить более подробную информацию к вашему ответу?
Тот Зам
1
@TotZam хранится в корне вашего проекта
Джозеф
2
Нашел это. Спасибо. Для дальнейшего использования, где я буду работать include ':app'? Я довольно новичок в Android и пытаюсь найти свой путь вокруг.
Тот Зам
2
Вы не запускаете include :app, если используете Android Studio, что позволяет Android Studio добавить модуль вашего проекта, чтобы вы могли запустить его без дальнейшей настройки. После добавления строки settings.gradleвы заметите, что Playкнопка становится активной после того, как Gradle закончит сборку и загрузку пакетов
Джозеф
1
Поместите имя папки вашего проекта вместо «app», если оно отличается. Оно работает.
Приянк Патель
246

Пожалуйста, следуйте инструкциям ниже, это работает для меня:

  • Перейдите в свой Project-native Project, затем перейдите в каталог android. Создайте файл со следующим именем:

local.properties

  • Откройте файл и вставьте путь к Android SDK, как показано ниже:

Для пользователей 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

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

Hoque MD Захидул
источник
я работаю с открытым резюме, что я должен сделать, чтобы добавить NDK?
Невинный
Это помогло. На самом деле это решение намекается в самой формулировке ошибки. Я использую IntelliJ на Mac и в структуре проекта у меня есть SDK правильный путь. Тогда зачем мне это нужно в local.properties?
Алексей Мартианов
158

Я знаю, что этот ответ поздно, но я надеюсь, что он помогает другим.

Ответ прост. Вы должны просто скопировать свой local.propertiesфайл в папку, где хранится проект, и он будет работать как шарм. Но помните, он должен быть помещен в корневую папку, где хранится проект.

Суровый Миттал
источник
3
Но я должен копировать это каждый раз? Это похоже на взлом, чем правильный подход
pblead26
Это самое простое решение этой проблемы, так как вам не нужно ничего менять в проекте. Есть и другое решение, в котором вы должны внести изменения в код, но я думаю, что для такой проблемы нельзя позволить себе тратить много времени.
Суровый Mittal
Это работало для меня, когда у меня возникла эта проблема после загрузки ExoPlayer 2.1.
user1147171
2
Это работает, но Разве Intelij не должен генерировать это автоматически? ткс!
cesarsicas
4
Это не работает для меня. Файл присутствует, но у меня все еще есть ошибка
rommex
42

Эта проблема возникает при попытке импортировать проект Android Studio из ../app/build.gradle файла .

Импортируйте проект, выбрав файл ../build.gradle, расположенный в корневом каталоге вашего проекта.

Майкл Саффолд
источник
39

Пожалуйста, следуйте приведенным ниже пунктам, это работает для меня:

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

    4.a Windows

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

    4.b Linux или MacOS

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

    Замените USERNAMEна ваше имя пользователя

Анджали-Systematix
источник
Еще слишком поздно комментировать, но я хочу знать, как это сделать в MacOS?
Науман Моаззам
в MacOS вам нужно выполнить ту же процедуру, просто вам нужно найти путь к файлу Android SDK и вставить его в файл local.properties ... вот и все
Shuvo
37

Проверьте в вашем файле local.properties

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

правильно напишите этот формат, а также проверьте / slas, используя для пути

Кутбуддин Бора
источник
Я отредактировал local.properties с этим sdk.dir = C: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, любая ошибка в этом
Sameer Shamsudeen
ага после С поставь \ ... сва с этим надеюсь. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Кутбуддин Бора
Это хорошо работает с затмением. Просто создайте файл local.properties в загруженном проекте и вставьте sdk.dir. В моем случае это было: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
Джордж Папатеодору
если кто-то сталкивался с Вами, не приняли лицензионные соглашения ... ошибка после вышеупомянутого шага, см. здесь stackoverflow.com/a/41078173/1778834
yashhy
Я установил Android на Windows 10 м / с, но такой папки нет sdk.dir = C \: \\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
Рохан Гала
27

Вот обходной путь для проблемы, когда вы нажимаете «Запустить приложение» (зеленая стрелка) и получаете следующее в диалоговом окне « Редактировать конфигурацию »:

Ошибка: пожалуйста, выберите Android SDK

В Android Studio выполните:

  1. Из меню выберите File > Settings .
  2. В диалоговом окне настроек перейдите к Appearance & Behavior > System Settings > Android SDK .
  3. Посмотрите на верхнюю часть Android SDK Location и нажмите кнопкуEdit кнопку
  4. Нажмите Далее, Далее, Готово, чтобы принять значения по умолчанию

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

Подводя итог предыдущим исправлениям, они обычно подходят для репозитория без проблем со сборкой:

  • Файл local.properties копируется в корневую папку Studio.

  • Путь в файле local.properties имеет правильный путь к Android SDK - в моем случае это так sdk.dir=C:\\android\\sdk (обратите внимание, что этот путь имеет другой формат - Studio должна записать этот файл для вас на основе поля ввода текста в настройках Android SDK диалог)

  • Файл settings.gradle присутствует в репозитории и ссылается на папку приложения (обычно это приложение)

Джим Андреас
источник
3
Это единственное, что мне помогло. Шаги № 3 и № 4 очень важны
Soshial
16

Если у вас возникла эта проблема, когда вы вытягиваете собственный проект, вам просто нужно открыть проект Android с помощью Android Studio. Все, что вам нужно, будет создано автоматически.

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

ИЛИ

Если вы установили средство запуска командной строки AndroidStudio :

  • Запустите это в вашей корневой папке
studio android/
  • Подождите, пока AndroidStudio завершит настройку
  • Теперь вы можете закрыть Android Studio
gianlucaparadise
источник
1
Это работает для меня
Викрам Раджпут
12

В Linux:

Если вы уже загрузили Android SDK, но он не найден.

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

Для использования моего реактивного проекта gradleмне нужно было поместить local.propertiesфайл в Myprojectname/android/папку.

Как я разархивировал SDK для загрузок, я просто использую этот путь в файле со строкой, подобной этой:

sdk.dir=/home/USER/Downloads/android-sdk-linux
Mika
источник
11

Я решил эту проблему, создав переменную среды ANDROID_HOME в Windows следующим образом.

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

Перезапустите Android Studio, он должен построить проект!

mumair
источник
У меня уже был ANDROID_SDK, который указывает на тот же каталог, так что для меня это былоANDROID_HOME=$ANDROID_SDK
Martijn
10

Я столкнулся с той же проблемой, но немного другое сообщение об ошибке

Местоположение SDK не найдено. Определите местоположение с помощью переменной среды ANDROID_SDK_ROOT или установив путь sdk.dir в файле локальных свойств вашего проекта в «xxx»

MAC & ReactNative

Добавить local.properties

  1. Найдите местоположение Android SDK

    /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 и нажмите ОК.
      • Примечание: это не будет работать, если вы попытаетесь импортировать [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Выберите «Использовать локальное распространение Gradle» с «Gradle home» из [someDirectory] /gradle-2.2.1 и нажмите OK.
Nate
источник
6

Для этой ошибки нет единой причины.

  1. settings.gradle может отсутствовать или содержание в нем может быть неправильным.
  2. local.properties может отсутствовать, или путь SDK может быть написан неправильно.
Архат Бэйд
источник
1
какой контент должен быть в файле settings.gradle?
Кабанни
@cabanni settings.gradle просто включает модуль в ваше приложение. По умолчанию это будет модуль 'app'. Надеюсь, это поможет /
Архат Бэйд
5

Просто удалите папку .idea и снова импортируйте проект. Это сработало для меня.

Акшай Шарма
источник
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-native Project -> Android
  2. Создайте файл local.properties

  3. Открыть файл

  4. вставьте свой путь Android SDK, как показано ниже

     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. Теперь, запустите реагирующий родной запуск андроид в вашем терминале

или

Иногда в проекте может отсутствовать файл 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, переместить папку «app» из нерабочего проекта в новый и добавить необходимые зависимости в gradle вашего нового проекта, и все будет отлично работать)

Армен Ованнисян
источник
Это исправило проблему на Mac High Serria и Windows 10. Отличный ответ и эффективный.
Val
2

Если ничего не помогает, скопируйте local.propertiesфайл в корневой каталог проекта. Просто.

tim4dev
источник
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

Нашел рабочее решение для меня. Без добавления local.properties и настройки переменной ANDROID_HOME. Похоже, ошибка в Android Studio и Intellij IDEA. Вам просто нужно попросить IDE «сбросить» путь к Android SDK. «Местоположение SDK не найдено» в Android Studio, хотя переменная окружения установлена ​​правильно

Эндрю Веб-тестер
источник
1

Я получил эту ошибку после свежего клонирования репозитория. Я ожидал, что local.properties будут сгенерированы автоматически, но это не так. Я смог создать его, повторно импортировав проект Gradle.

File > Re-import Gradle Project
М. Палсич
источник
Это помогло. После запуска «Re-import Gradle Project» на консоль были выведены следующие 2 ошибки, которые помогли мне обнаружить проблему: обнаружена неверная конфигурация Gradle JDK , Project JDK не указан . Так что все начало работать после того, как я исправил путь JDK в настройках.
Михал Виктиан
После исправления пути JDK мне также пришлось перезапустить IDE с опцией «Файл> Недействительные кэши / Перезапуск ...».
Михал Викиан
1

Любой, кто использует Дженкинс, может получить это

Вам необходимо определить имя глобальной переменной ANDROID_HOMEсо значением пути к Android SDK.

Для Mac это /Users/YOUR_USER_NAME/Library/Android/sdk

Тухид Удой
источник
1

я думал, что ваш файл setting.gradle отсутствует. Скопируйте этот файл в другой проект и вставьте ваш проект. Думаю, это сработает.

в файле setting.gradle,

include ':app'

вот и все. Хорошего дня.

ozanurkan
источник
1

Для меня проблема была в том, что я не создал виртуальных устройств после новой установки Android Studio. Таким образом, 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и не получил никаких проблем.

Hesam
источник
0

Я попытался

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

и это сработало, я просто вставил его в папку проекта и снаружи.

В переменной окружения я также использовал ссылку sdk выше и имя в ANDROID_HOMEкачестве имени пути. Закройте все, снова откройте и Cabom все это работает

Джон Акинола
источник