React Native запуск Android. А SDK где?!

React Native
1 мин. на чтение

Так сложилось, что я долго отлаживал апу на React Native для iOS, совершенно не думая об Android. И вот в один прекрасный день очередь дошла до react-native run-android. Но балалаечка не заиграла:

FAILURE: Build failed with an exception.

* What went wrong:
 A problem occurred configuring project ':app'.
 > SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Т.к. я не запускал раньше билд на Android, стало понятно, что где-то что-то не прописано из путей. И действительно, чтобы решить этот баг, нужно в папочке android вашего проекта RN, создать файлик local.properties, в который поместим буквально 1 строку:

sdk.dir = /Users/%username%/Library/Android/sdk
где %username% — имя вашего профиля для iOS.
Если у Вас другая операционная система, то строчка будет выглядеть так:
  • для Windows
sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk
  • для Linux систем
sdk.dir = /home/USERNAME/Android/Sdk

Игорь Чишкала

Директор по технологиям в SoftForge.
Люблю ИТ, пишу технические статьи в этом блоге или для сайта фриланс-биржи Upwork. Кодю на PHP с использованием фреймворков Laravel или Symfony.

Оцените автора
Авторский блог Игоря Чишкалы
Добавить комментарий для Алессандра Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  1. Алессандра

    Присоединяюсь к флешмобу. Делаю кросс-платформенное приложение-плеер на React Native. Сначала сделал работу со звуком на open-source компонентах. Всё работало. Даже информация о треке выводилась в систему через компонент, оборачивающий MPNowPlayingInfo и MediaSession Metadata. Но плеер подразумевает работу в фоне большую часть времени. В iOS это решается через соответствующий флаг в Capabilities. В Android же единственный верный путь, насколько я понял, – это отдельная служба. Портирую сейчас логику на Java, используя код из тех самых open-source компонентов. Хорошо хоть UI уцелел.

    Ответить