У меня ошибка при запуске Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
У меня ошибка при запуске Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
Этот ответ предназначен для пользователей MacOs Catalina
или пользователей zsh
, поскольку ваш Mac теперь использует zsh в качестве оболочки входа по умолчанию и интерактивной оболочки.
Если вы будете следовать документации React Native, Setting up the development environment
руководство. Затем сделайте следующее.
Сначала проверьте, существует ли файл local.properties
.
Если файл не существует, создайте и добавьте следующую строку.
sdk.dir=/Users/<youcomputername>/Library/Android/sdk
После внесения вышеуказанных изменений сделайте следующее.
~/.zshrc
с помощью редактора кода. В моем случае я использую vim vim ~/.zshrc
export ANDROID_HOME="/Users/<yourcomputername>/Library/Android/sdk"
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
Убедитесь, что вы правильно добавили строку выше, иначе вы получите странную ошибку.
Сохраните изменения и закройте редактор.
Наконец, теперь скомпилируйте ваши изменения
source ~/.zshrc
В моем случае это работает. Надеюсь, это вам поможет.
Это помогло мне ... это должен быть принятый ответ! Большое спасибо!
Есть 2 способа решить эту проблему:
Просто запустите свой собственный проект Android в Android Studio, он автоматически сгенерирует ваш файл local.properties в собственном проекте Android.
а. Перейдите в проект React-native -> Android
б. Создайте файл local.properties
c. Откройте файл
d. Вставьте путь к Android SDK, как показано ниже:
Если у вас установлена студия Android, просто откройте Project/android
с помощью Android Studio, и он уведомит вас о переключении пути расположения SDK в проекте.
Удалите local.properties
из папки android в своем проекте реакции и попробуйте.
Я сделал это и преуспел.
Проблема в том, что вы неправильно сконфигурировали переменные среды. Вы должны использовать (в Windows) SDK: C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
Для получения дополнительной информации: https://facebook.github.io/react-native/docs/getting-started
Выберите: React Native CLI Quickstart в разделе среды разработки Android в пункте 3. Настройте переменную среды ANDROID_HOME
Если вы делаете это так, как сейчас, вы должны настроить каждый проект для использования переменных среды, и если проект находится среди нескольких человек с их оборудованием, это может вызвать проблему. Если вы сделаете это так, как я вам сказал, вам не придется настраивать какой-либо проект.
Если файл local.properties отсутствует, просто создайте его в папке "project / android" с 'sdk.dir = / Users / apple / Library / Android / sdk' и убедитесь, что ваш SDK находится в этом месте.
для создания файла с пользовательскими расширениями на Mac перейдите по следующей ссылке
Как сохранить файл TextEdit (mac) с пользовательским расширением (.sas)?
Я работаю в Windows, и мне пришлось изменить путь sdk независимо от того, есть ли он в PATH env. переменная
sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk
Изменил этот файл:
MyProject\android\local.properties
Обновлены шаги для React Native0.58, чтобы начать работу на MAC / Unix
nano ~ / .bash_profile
экспорт ANDROID_HOME = $ HOME / Library / Android / sdk
экспорт ПУТЬ = $ ПУТЬ: $ ANDROID_HOME / эмулятор
экспорт ПУТЬ = $ ПУТЬ: $ ANDROID_HOME / tools
экспорт ПУТЬ = $ ПУТЬ: $ ANDROID_HOME / tools / bin
экспорт ПУТЬ = $ ПУТЬ: $ ANDROID_HOME / platform-tools
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
Спас мою жизнь :)
Иногда вам нужно закрыть и снова открыть свой терминал
Если вы создаете проект android studio
, вы можете увидеть, что файл local.properties
создается внутри корневого каталога вашего проекта. Когда вы создаете собственный проект, он не создает этот файл за вас. Так что вам придется создать его вручную. И нужно добавить к нему каталог skd. Итак, создайте новый файл внутри папки Android (в корне). и поместите свой путь sdk следующим образом
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
Помните: удалите одинарное \ с двойным. Как и выше.
В каталоге вашего проекта есть папка под названием «android», а внутри нее находится файл local.properties. Удалите файл, и сборка должна успешно запуститься
Если вы используете Ubuntu, просто перейдите в каталог android вашего проекта, ориентированного на реакцию, и создайте файл с именем local.properties
и добавьте к нему путь android sdk следующим образом:
sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk
Для пользователей Windows
Одно простое решение - установить путь SDK к списку переменных среды.
Примечание:
Ваш Android Sdk обычно находится в
C: \ Users \ YourUserName \ AppData \ Local \ Android \ Sdk
Убедитесь, что закрыли текущий терминал , потому что ваш терминал содержит все уже существующие переменные среды.
Вот и все. Не нужно редактировать local.properties, спасибо.
Работает как шарм 😊. Большое спасибо!
Не забудьте перезагрузить вашу машину
Я пропустил это «закройте текущий терминал», боже мой, и я попытался, я почти сдался и прочитал снова, хахаха, спасибо! это сработало!
Просто откройте папку android в проекте Android Studio . Студия Android создаст необходимый файл (local.properties) и загрузит версию SDK для запуска Android.
Скопируйте другой проект android в вашей системе local.properties и вставьте в папку android проекта React-native, он будет работать.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk
C \: \ Users \ champika \ AppData \ Local \ Android \ Sdk
Я не думаю, что рекомендуется обновлять файл local.properties
, чтобы добавить недостающие переменные среды.
sdk можно установить в / Library / Android / sdk или / usr / local /, чтобы обязательно проверить его
which sdkmanager
export ANDROID_HOME=$HOME/Library/Android/sdk
или
export ANDROID_HOME="/usr/local/share/android-sdk"
Затем добавьте его в $ PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/28.0.1:$PATH
export ANT_HOME=/usr/local/opt/ant
export MAVEN_HOME=/usr/local/opt/maven
export GRADLE_HOME=/usr/local/opt/gradle
export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
export ANDROID_NDK_HOME=/usr/local/share/android-ndk
export INTEL_HAXM_HOME=/usr/local/Caskroom/intel-haxm
Я использовал brew cask
для установки Android SDK , следуя этим инструкциям.
Подробнее см. https://developer.android.com/studio/intro/update#sdk-manager
Это лучший ответ, не нужно менять local.properties. Идеально подходит для меня
почему это плохая практика? действительно любопытно, поскольку кажется, что внесение локализованных изменений намного безопаснее, чем внесение изменений в ваш системный путь
Потому что, если этот код будет проверен в системе управления версиями, следующий человек, который попытается построить с его помощью, в конечном итоге посмотрит эту страницу.
Запустите команду source ~/.bash_profile
для обновления / обновления текущего сеанса терминала.
Последние версии iterm2 (я использую 3.4), они используют zsh
, поэтому напишите строки выше в $HOME/.zshrc
.
в ubuntu 20.04 путь: export ANDROID_HOME=/home/(userName)/Android/Sdk
Лучшее решение, которое я могу найти, выглядит следующим образом:
Вот как будет выглядеть файл gradle:
Если с настройкой вашего компьютера все прошло хорошо и вы можете скомпилировать проект с помощью Android Studio, тогда ничто не помешает вам создать приложение с помощью команды response-native cli build android.
При таком подходе вы не только решите проблему SDK, но и решите многие проблемы, связанные с настройкой вашего компьютера для разработки под Android. Импорт автоматически найдет местоположение SDK и создаст local.properties. Следовательно, вам не нужно беспокоиться о ручном вмешательстве.
local.properties
вставьте путь к Android SDK, как показано ниже:
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
sdk.dir = /home/USERNAME/Android/Sdk
Замените USERNAME
своим именем пользователя
Теперь запустите react-native run-android
в своем терминале.
Я переместил свой SDK на внешний диск. У меня работает с macOS Sierra.
в linux sdk.dir=/home/USERNAME/Android/Sdk
sdk.dir = / home / USERNAME / Android / Sdk -> работает для Linux, но Android Studio для Linux должен присутствовать и работать (работает Gradle)
Отображается ошибка * Что пошло не так: возникла проблема при настройке проекта ': app'. > Каталог SDK '/ Users / chandni sharma / Library / Android / sdk' не существует.
@Chandni Убедитесь, что у вас установлен Android SDK
Работал как шарм, сделанный в моей стране .. Спасибо! : D
@NaveenTP, большое спасибо, я собирался бросить изучение нативного языка только из-за этой проблемы
большое спасибо. Я даже не знал, что sdk находится далеко от местоположения каталога студии Android в Windows 10.
Я установил Genymotion. Столкнувшись с той же проблемой
Есть два файла gradle, измените один внутри вашего C: \ myapp \ android \ build.gradle , а не в родительском каталоге myapp.
Замените 23.0.1 вашей версией Android Build Tool, установленной в моем случае 25.0.0
Запустите react-native run-android , чтобы увидеть ваше приложение в эмуляторе.
Ваш проект не находит SDK, установленный в настройках проекта, по указанному пути, поэтому проект должен указывать в правильном направлении, и у вас есть несколько вариантов для этого, но давайте начнем с поиска правильного SDK папка первая.
Из диспетчера пакетов
Если вы используете JRE на основе , установите , например, Java 8 JRE , через специальный PPA в дистрибутиве на основе Debian или используйте OpenJDK <4013923105 , скорее всего, это будет каталог / usr / lib / jvm / java-8-oracle (или любая выбранная вами версия). Вы можете найти этот путь в переменной среды JAVA_HOME :
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Загрузка вручную
Если вы установили с помощью загрузки Java JRE / SDK , он будет там, где вы разместили папку, например / home / имя пользователя /jdk-8u121_1.8.0 (или что-то подобное).
Установка по сценарию может даже добавить SDK в / opt / java-8-oracle , но на момент написания этой статьи инструкции по установке Java оставляют размещение папки в ваших руках.
Android Studio 2.2
Наконец, если вы используете Android Studio, SDK размещается там, где вы установили его для размещения файлов SDK, загруженных через диспетчер SDK Studio. Перейдя в Файл> Настройки> Внешний вид и поведение> Системные настройки> Android SDK , вы можете найти настройку местоположения SDK вверху с возможностью изменения, а папка по умолчанию - ~ / Android. / Sdk .
Теперь, когда мы знаем, где находится SDK, пора сообщить об этом response-native.
Вариант 1. Установите с помощью local.properties
Этот метод очень прост, и все, что нужно, - это создать файл local.properties в следующей папке, где Project_Folder является основой вашего приложения React-Native:
Project_Folder / Android / App
В вашем local.properties вы хотите установить переменную sdk.dir на путь к вашей папке SDK:
sdk.dir=/home/username/Android/Sdk
Хотя это самый простой способ решить проблему, он не лучший, особенно если вы работаете с несколькими проектами. Для каждого проекта вам нужно будет создать этот файл для каждого проекта, и если папка изменится, запланируйте изменение этого файла для каждого проекта local.properties.
После сохранения файла повторно запустите команду react-native run-android .
Вариант 2. Папки настроек с переменными среды
Другой вариант - установить для папок SDK локальные переменные среды, которые React-Native ищет по умолчанию. Для этого мы добавим путь ANDROID_HOME. В качестве бонуса мы также можем добавить наши инструменты для Android в то же место. Нам нужно добавить это скорее к файлам .bash_profile или .profile в нашем домашнем каталоге, которые загружаются последними, чтобы мы могли убедиться, что ничто другое не отменяет сделанные нами настройки. Поскольку они находятся в вашем домашнем каталоге, нет необходимости редактировать с повышенными привилегиями.
**$ vim ~/.profile** (use nano or pico if you prefer)
Добавьте в файл следующие строки, заменив папку SDK той, которую вы нашли выше. В качестве примера я буду использовать папку Android Studio:
export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools
Сохраните файл, затем примените настройки профиля:
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
Если папка Sdk отображается правильно, поздравляем! Повторно запустите вашу собственную команду response-native и посмотрите, как продолжается процесс сборки приложения.
Если у вас все еще есть проблемы
Если по какой-то причине вы получаете сообщение об ошибке «> не удалось найти цель с хеш-строкой 'android-23' в: вашей / sdk / папке , вам необходимо убедиться, что версия сборки проекта и версия установленного SDK соответствует (по умолчанию React-Native - 23.0.1). Вы можете найти версию по умолчанию в Project_Folder / android / app / build.gradle , а затем выполнить поиск buildToolsVersion . Вы, конечно, можете изменить версию из этого файла или в Android Studio перейдите в Файл> Структура проекта , чтобы изменить Project SDK . Я бы не предлагал менять эту версию, если только вы точно знаете, что делаете, в противном случае установите версию SDK, которую ищет проект.
Зарегистрируйтесь в своем local.properties
файле:
sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
правильный формат или неправильный
Вы должны указать правильный полный путь. Не используйте '~ / Library / Android / sdk'
vi ~/.bashrc
export ANDROID_HOME=/Users/{UserName}/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
source ~/.bashrc
Откройте ~/.bash_profile
и добавьте:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
источник ~ / .bash_profile
Работает. Не забудьте перезапустить Терминал или введите source ~/.bash_profile
, чтобы новые строки экспорта вступили в силу.
Не могли бы вы добавить, если какое-либо тело не может найти bash_profile, тогда создайте его, поскольку для первых таймеров они не могут его найти (я тоже: p)
В Ubuntu, где вам нужно получить SDK отдельно от Android Studio странно , путь будет работать с Android Studio, но с React Native вам нужно будет создать имя файла local.properties
.
Например, гостиница ~/AwesomeProject/android
и вставьте эту строку:
sdk.dir=/path/to/sdk/in/your/computer
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
Это самый безопасный способ, поскольку вы не меняете какие-либо глобальные системные файлы. И для тех, у кого нет такого типа административного доступа к своей машине.
У меня это сработало.
Я использую React Native Стивена Грайдера на Udemy, и один из студентов разместил это в лекции 50. Дословно вставлено в командную строку (без «$», конечно).
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
Не делай этого. это приведет к ошибке > The SDK directory '/usr/local/opt/android-sdk' does not exist.
Для пользователей Linux
Ваше приложение не получает путь к android-sdk, поэтому, если вы используете linux (ubuntu), вам нужно добавить файл с именем local.properties и сохранить его в папке android, которая создается внутри папка вашего приложения.
Для запуска приложения вам необходимо добавить строку ниже в файл local.properties. Это путь к вашему android-sdk, который находится внутри вашей системы внутри системы.
sdk.dir=/opt/android-sdk/
сохраните и повторно запустите команду react-native run-android
ИЛИ
вы можете открыть терминал, введите
sudo nano ~ / .bashrc
и вставьте указанный ниже путь в конец файла
экспорт ANDROID_HOME = "/ opt / android-sdk /"
и перезагрузите компьютер и снова запустите response-native run-android после этого.
Примечание: - Если вы поместите заданный путь в файл .bashrc, вам даже не потребуется создавать файл local.properties.
Это не должно быть жестко запрограммированным решением, оно зависит от того, где установлен Android Studio SDK. В моем случае это sdk.dir = "pathWhereAndroidSDKisbeeninstalled / Android / Sdk"
Убедитесь, что у вас установлены правильный эмулятор и версия Android. Это решило проблему для меня.
Если вы работаете в Windows, экранируйте (добавьте обратную косую черту) и используйте двоеточие в файле android/local.properties
. Если его там нет, создайте его
sdk.dir = C\:\\Android\\sdk
Для Windows Android SDK находится в папке C: \ Program Files \ Android \ android-sdk.
Скопируйте другой проект android local.properties вашей системы и вставьте в папку android проекта React-native, он будет работать.
Престижность за хитрое и пуленепробиваемое решение;)
Вы можете попробовать добавить ANDROID_PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
У меня уже есть ANDROID_PATH
в среде (файл Ubuntu, .bashrc). Однако по некоторым причинам проблема все еще не устранена. Я исправил это, создав local.properties
и указав путь, как указано в других ответах.
У меня Mac и env var ANDROID_HOME не помогли. local.properties
, однако.
Что касается меня, я использую direnv, поэтому я добавил в основном то же самое в .env
, и теперь react-native run-android
по крайней мере запускает эмулятор. у меня ANDROID_HOME=$HOME/Library/Android/sdk/; PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
но на двух строках.
android/
вашего проекта response-native local.properties
с этой строкой: sdk.dir = /Users/USERNAME/Library/Android/sdk
Где USERNAME
- ваше имя пользователя macOS
* Что пошло не так: возникла проблема при настройке проекта ': app'. > Каталог SDK '/ usr / local / android-sdk' не существует. Но на самом деле мой SDK существует на этом пути
Ребята, вы устранили эту проблему? Я тоже с этим столкнулся прямо сейчас.
Я смог исправить это, запустив Android Studio. Как только вы это сделаете, он будет работать из командной строки.
Да, создание этого local.properties действительно решило мою проблему. Странно но работает.
Если у вас Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
Это работает! Не уверен, почему этот ответ не входит в число первых ответов!
также убедитесь, что у вас установлен Android SDK developer.android.com/studio/index.html, если это не очевидно :)
C:\Users\kalam\AppData\Local\Android\Sdk
у меня работает
Привет, я новенькая. Могу ли я узнать, какой файл создать и назвать его local.properties
? txt
или другой формат?
у меня есть исправленная проблема, и я могу выпустить run-android с реагированием, который установит приложение как на эмуляторе, так и на реальном устройстве, когда оно подключено. Большое спасибо!
Есть ли способ не делать этого каждый раз?
Проверьте, не является ли ваш файл local.properties форматом .txt или .rtf. Это .properties.
есть ли способ добавления папки локальных свойств по умолчанию при запуске нового проекта реакции, например, в студии Android, он добавляется автоматически.
Примечание для людей, которые редактируют это, чтобы исключить /Users/USERNAME
: sdk.dir
ожидает, что он будет запущен с /
, он не принимает ~
в качестве домашнего каталога
Вы должны установить ANDROID_PATH вместо того, чтобы устанавливать его в local.properties. Это сделает его постоянным решением для всех ваших проектов и не вызовет проблем для других разработчиков в команде, если файл local.properties будет помещен в инструмент для редактирования кода.
Очень поздно, очень неопытно, но: sdk.dir = $ HOME / Library / Android / sdk
Это решило ошибку. Внутри папки проекта я создал новый файл local.properties и добавил упомянутую вами строку с моим именем пользователя Mac.
Эта ошибка может возникнуть, особенно если вы скопировали проект или загрузили zip-файл. Он не появится, если это новый проект или он был клонирован из git
У меня отлично сработало! Спасибо, что поделились ответом.
Это работает только для каждого проекта. Редактирование системных переменных было бы лучшим долгосрочным решением, если вы работаете с несколькими проектами.
для Windows создайте файл local.properties и вставьте sdk.dir = C: \ Users \ [ваше имя пользователя] \ AppData \ Local \ Android \ Sdk '
это происходило со мной в первом приветственном мире, даже переменная env была установлена правильно, что я сделал, так это откройте папку Android в студии Android и нажмите кнопку запуска (зеленый значок воспроизведения), и это сработало, убедитесь, что ваше метро работает, пока вы это делаете, я думаю, это произошло, потому что я не открыл студию android после установки, когда я открыл папку android в студии andriod, я заметил, что она обновила несколько вещей, и теперь даже npm run android работает нормально