У меня ошибка при запуске 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.
Ответы:
android/
каталог своего реактивного проектаlocal.properties
с этой строкой:sdk.dir = /Users/USERNAME/Library/Android/sdk
Где USERNAME
ваше имя пользователя macOS
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
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.dir=/home/USERNAME/Android/Sdk
Вы можете попробовать добавить 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
и поместив путь, как указано в других ответах.
local.properties
сделал, однако.
Откройте ~/.bash_profile
и добавьте:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
source ~/.bash_profile
чтобы новые строки экспорта вступили в силу.
НЕ ОБНОВЛЯЙТЕ local.properties
, это определенно плохая практика.
Вот как я это исправил. Добавьте следующее в ~/.bash_profile
или ~/.bashrc
.
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH
Примечание: я использовал brew cask
для установки Android SDK, следуя этим инструкциям .
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
Если вы находитесь в Windows, экранируйте (добавьте обратную косую черту) обратную косую черту и двоеточие в android/local.properties
файле. Если его нет, тогда создайте его
sdk.dir = C\:\\Android\\sdk
Обновлены шаги для React Native0.58, чтобы начать работу на MAC / Unix
nano ~ / .bash_profile
export ANDROID_HOME = $ HOME / Библиотека / Android / sdk
экспорт PATH = $ PATH: $ ANDROID_HOME / emulator
экспорт PATH = $ PATH: $ ANDROID_HOME / tools
экспорт PATH = $ PATH: $ ANDROID_HOME / tools / bin
экспорт PATH = $ PATH: $ ANDROID_HOME / platform-tools
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
Для пользователей Windows
Одним из простых решений является установка пути SDK к списку переменных среды.
Замечания:
Ваш Android Sdk обычно находится в
C: \ Users \ имя_пользователя \ AppData \ Local \ Android \ Sdk
Обязательно закройте ваш текущий терминал, потому что ваш терминал содержит все ваши существующие переменные среды.
Ваш проект не находит SDK, заданный в настройках проекта, по указанному пути, поэтому проект должен указывать в правильном направлении, и у вас есть несколько вариантов для этого, но давайте начнем с поиска правильной папки SDK.
От менеджера пакетов
Если вы используете установку JRE на основе пакетов, например Java 8 JRE через пользовательский PPA в дистрибутиве на основе Debian, или используете OpenJDK , каталог, скорее всего, будет / usr / lib / jvm / java-8-oracle (или какую бы версию вы ни выбрали). Этот путь можно найти в переменной среды JAVA_HOME :
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Ручная загрузка
Если вы установили через загрузку Java JRE / SDK , она будет находиться там, где вы поместили папку, например / home / username /jdk-8u121_1.8.0 (или что-то подобное).
Сценарии установки могут даже добавить SDK в / opt / java-8-oracle , но на момент написания этой инструкции инструкции по установке Java оставляют расположение папок в ваших руках.
Android Studio 2.2
Наконец, если вы используете Android Studio, SDK размещается там, где вы установили его для размещения файлов SDK, загруженных через Studio SDK Manager. Перейдя в меню «Файл»> «Настройки»> «Внешний вид и поведение»> «Системные настройки»> «Android SDK» , вы можете найти настройки местоположения SDK вверху с возможностью изменения, а папкой по умолчанию является ~ / Android / Sdk .
Теперь, когда мы знаем, где находится SDK, пришло время дать знать об этом.
Вариант 1: установить с помощью local.properties
Этот метод очень прост, и все, что нужно, это создать файл local.properties в следующей папке, где Project_Folder является базой вашего приложения React-Native:
Project_Folder / Android / App
В ваших local.properties вы хотите установить переменную sdk.dir в путь к вашей папке SDK:
sdk.dir=/home/username/Android/Sdk
Хотя это самый простой способ устранить проблему, он не самый лучший, особенно если вы работаете с несколькими проектами. Для каждого проекта вам нужно будет создать этот файл для каждого проекта, и если папка изменится, планируйте изменить этот файл для каждого локального.properties каждого проекта.
Как только файл будет сохранен, снова запустите команду реагировать на запуск 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 отображается правильно, поздравляем! Перезапустите вашу команду Reaction-native и наблюдайте, как процесс сборки приложения продолжается.
Если у вас все еще есть проблемы
Если по какой-либо причине вы получаете сообщение об ошибке " > не удалось найти цель с хэш-строкой 'android-23' в папке: ваша / sdk / , вам необходимо убедиться, что версия сборки проекта и версия установленного SDK совпадают (React -Нативный по умолчанию - 23.0.1.) Вы можете найти версию по умолчанию в Project_Folder / android / app / build.gradle , а затем выполнить поиск buildToolsVersion . Конечно, вы можете изменить версию из этого файла или в Android Studio перейти в Файл > Структура проекта для изменения Project SDK . Я бы не предлагал менять эту версию, если вы абсолютно не знаете, что делаете, в противном случае установите версию SDK, которую ищет проект.
В Ubuntu, где вы должны получить SDK отдельно от Android Studio, странный путь будет работать с Android Studio, но с React Native вам нужно будет создать имя файла local.properties
.
Например, Inn ~/AwesomeProject/android
и вставьте эту строку:
sdk.dir=/path/to/sdk/in/your/computer
Удалите local.properties
из папки android в своем реактивном проекте и попробуйте.
Я сделал это и преуспел.
Это сработало для меня.
Я беру React Native Стивена Гридера с Удеми, и один из студентов опубликовал это в лекции 50. Дословно вставил в командную строку (конечно, без '$').
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
> The SDK directory '/usr/local/opt/android-sdk' does not exist.
Лучшее решение, которое я могу найти, заключается в следующем:
Вот как будет выглядеть файл Gradle:
Если с настройкой вашей машины все прошло хорошо, и вы можете скомпилировать проект с помощью Android Studio, то ничто не помешает вам создать приложение с помощью команды реагирования-родной команды cli build android.
При таком подходе вы не только решите проблему SDK, но и решите многие проблемы, связанные с настройкой вашего компьютера для разработки под Android. Импорт автоматически найдет местоположение SDK и создаст local.properties. Следовательно, вам не нужно беспокоиться о ручном вмешательстве.
Для пользователей Linux
Ваше приложение не получает путь к android-sdk, поэтому, если вы используете linux (ubuntu), вам нужно добавить файл с именем «local.properties» и сохранить его в папке android, которая создается внутри папки вашего приложения. ,
Вам нужно добавить строку ниже в файле local.properties, который является путем вашего android-sdk, который находится внутри вашей системы внутри системы, чтобы запустить приложение.
sdk.dir=/opt/android-sdk/
сохранить и снова запустить команду реагировать-родной запустить-Android
ИЛИ
Вы можете открыть терминал, наберите
sudo nano ~ / .bashrc
и вставьте следующий путь в конец файла
export ANDROID_HOME = "/ opt / android-sdk /"
и перезагрузите компьютер и снова запустите реакцию-родной запустить-Android после этого.
Примечание: - Если вы поместите заданный путь в файл .bashrc, вам даже не нужно создавать файл local.properties.
Если вы создаете и android studio
проектируете, вы можете видеть, что local.properties
файл создается внутри корневого каталога вашего проекта. Когда вы создаете реактивный собственный проект, он не создает этот файл для вас. Таким образом, вы должны создать его вручную. И нужно добавить к нему skd dir. Поэтому создайте новый файл в папке Android (в корне). и поместите свой путь SDK, как это
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
Помните: удалить одиночный \ с двойным. Так же, как и выше.
Есть 2 способа решить эту проблему:
Просто запустите свой собственный проект Android для Android в студии Android, и он автоматически сгенерирует ваш файл local.properties в проекте Android для Android.
а. Перейдите в React-native Project -> Android
b. Создать файл local.properties
c. Откройте файл
d. Вставьте путь к Android SDK, как показано ниже
В вашем каталоге проектов есть папка с именем android, а внутри нее - файл local.properties. Удалите файл, и сборка должна пройти успешно
Если файл local.properties отсутствует, просто создайте его в папке «project / android» с помощью «sdk.dir = / Users / apple / Library / Android / sdk» и убедитесь, что ваш SDK находится в этом месте.
для создания файла с пользовательскими расширениями на Mac обратитесь по следующей ссылке
Как сохранить файл TextEdit (mac) с пользовательским расширением (.sas)?
Есть два файла Gradle, замените один в вашем C: \ myapp \ android \ build.gradle, а не в родительском каталоге myapp.
Замените 23.0.1 на вашу версию Android Build Tool, установленную в моем случае 25.0.0
Запустите реакцию-родной запустить андроид, чтобы увидеть свое приложение в эмуляторе.
Просто откройте папку Android в проекте Android Studio . Студия Android создает необходимый файл (local.properties) и загружает версию SDK для запуска Android.
Проблема в том, что вы неправильно настроили переменные среды. Вы должны использовать (в Windows) SDK:C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
За дополнительной информацией: https://facebook.github.io/react-native/docs/getting-started
Выберите: Реагировать на быстрый запуск собственного интерфейса командной строки в разделе среды разработки Android в пункте 3. Настройте ANDROID_HOME
переменную среды
Если вы делаете это так, как сейчас, вы должны сконфигурировать каждый проект для использования переменных среды, и если проект принадлежит нескольким людям со своим оборудованием, это может вызвать проблему. Если вы сделаете это, как я вам сказал, вам не нужно будет настраивать какой-либо проект.
Если у вас установлена Android Studio, просто откройте с Project/android
помощью Android Studio, и он уведомит вас о необходимости переключения пути расположения SDK в проекте.
Скопируйте другой android-проект вашей системы local.properties и вставьте в папку android проекта React-native, он будет работать.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk