Не вдалося створити Native android. Місце SDK не знайдено


473

У мене помилка, коли я запускаю 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.

Відповіді:


843
  • Перейдіть до android/каталогу свого рідного проекту
  • Створіть файл, названий за local.propertiesдопомогою цього рядка:
sdk.dir = /Users/USERNAME/Library/Android/sdk

Де USERNAMEваше ім’я користувача macOS


* Що пішло не так: виникла проблема з налаштуванням проекту ": app". > Каталог SDK '/ usr / local / android-sdk' не існує. Але насправді мій sdk існує на цьому шляху
Pyae Sone Nyein

3
Ви вирішили це питання? Я також зараз стикаюся з цим.
Гаспер Коленц

8
Мені вдалося виправити це, запустивши з Android Studio. Після того, як ви зробите це, він працює з командного рядка.
Gant Laborde

Так, створення локальних властивостей вирішило мою проблему. Дивно, але працює.
Сань

113
Якщо ваш на windowssdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
Razze

422
  1. Перейдіть до свого власного проекту React -> Android
  2. Створіть файл local.properties
  3. Відкрийте файл
  4. вставте шлях SDK для Android, як показано нижче

    • в Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    • в macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    • в Linux sdk.dir = /home/USERNAME/Android/Sdk

Замініть USERNAMEсвоїм іменем користувача

Тепер запустіть react-native run-androidу своєму терміналі.


4
Я перемістив свій SDK на зовнішній диск. Для мене працює macOS Sierra.
ruelluna

4
in linuxsdk.dir=/home/USERNAME/Android/Sdk
ebin

sdk.dir = / home / USERNAME / Android / Sdk -> працює для linux, але Android Studio для Linux має бути присутнім і працювати (запущено gradle)
MarcoZen

Показ помилки * Що пішло не так: виникла проблема з налаштуванням проекту ": app". > Каталог SDK '/ Users / chandni sharma / Library / Android / sdk' не існує.
Чандні

2
@Chandni Переконайтеся, що у вас встановлено Android SDK
a_rahmanshah

116

Ви можете спробувати додати ANDROID_PATH

export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

10
У мене вже є ANDROID_PATHсередовище (Ubuntu, .bashrc файл). Однак чомусь я все-таки отримую це питання. Я це виправив, створивши local.propertiesта вклавши шлях, як зазначено в інших відповідях.
Гесам

3
У мене mac і env var ANDROID_HOME не допомогли. local.propertiesзробив, однак.
Генрік

60

Відкрити ~/.bash_profileта додати:

 export ANDROID_HOME=~/Library/Android/sdk/
 export PATH=$PATH:~/android-sdks/platform-tools/
 export PATH=$PATH:~/android-sdks/tools/

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


10
Працює. Не забудьте перезапустити Термінал або введіть, source ~/.bash_profileщоб нові експортні лінії набули чинності.
Раптор

Чи можете ви додати, якщо жодне тіло не в змозі знайти bash_profile, тоді створіть його, оскільки для перших таймерів вони не в змозі знайти це (Так я: p)
snehal agrawal

44

НЕ ОНОВЛЮЙТЕ 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, дотримуючись цих інструкцій .


6
Це найкраща відповідь, не потрібно змінювати локальні властивості. Для мене ідеально підходить
mike_dz

чому це погана практика? по-справжньому цікаво, як здається, що зробити локалізовану зміну набагато безпечніше, ніж вносити зміни в ваш системний шлях
Роббі Мілейчак

8
Тому що, якщо цей код буде перевірено у контролі джерела, наступна людина, яка намагається створити його, перетвориться на цю сторінку.
Дейв Веллінг

31

echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties


1
Це найбезпечніший спосіб, оскільки ви не змінюєте жодних глобальних системних файлів. А для тих, хто не має такого типу адміністраторського доступу до своєї машини.
GravyPlaya

23

Якщо ви перебуваєте у вікні Windows (додайте люфти), косі риски та двокрапка у android/local.propertiesфайлі. Якщо його там немає, тоді створіть його

sdk.dir = C\:\\Android\\sdk

2
Для Windows SDK для Android знаходиться у розділі C: \ Program Files \ Android \ android-sdk
Stephane

16

Оновлені кроки для React Native0.58, щоб розпочати роботу на MAC / Unix

  • Відкрийте bash_profile в терміналі

nano ~ / .bash_profile

експортувати ANDROID_HOME = $ HOME / Бібліотека / Android / sdk

експортувати PATH = $ PATH: $ ANDROID_HOME / емулятор

експортувати PATH = $ PATH: $ ANDROID_HOME / інструменти

експортувати PATH = $ PATH: $ ANDROID_HOME / інструменти / бін

експортувати PATH = $ PATH: $ ANDROID_HOME / платформа-інструменти

Control+S to save
Control+X to exit
Y to save changes
  • Оновити зміни в терміналі

source ~/.bash_profile

  • Перевірка шляху:

echo $PATH

  • Підтвердьте, якщо все в порядку:

adb devices


Врятувало моє життя :)
marco burrometo

Іноді вам потрібно закрити і знову відкрити свій термінал
Олуватобі Самуель Омісакін

14

Для користувачів Windows

Одне просте рішення - встановити шлях SDK до списку змінних навколишнього середовища.

  1. Перейдіть до змінних Enviromnent. (Ваш ПК> Властивості)
  2. Створення нових змінних системи
  3. Встановіть ім'я змінної в ANDROID_HOME
  4. Встановіть значення змінної на місце розташування Android Sdk
  5. Натисніть OK (3 рази протягом 3 діалогових вікон)

Примітка:

Як правило, ваш Android Sdk знаходиться в місті

C: \ Users \ YourUserName \ AppData \ Local \ Android \ Sdk

Не забудьте закрити свій поточний термінал, оскільки ваш термінал містить усі ваші існуючі змінні середовища.


Це все. Не потрібно редагувати local.properties, дякую.
Rhadamez Gindri Hercilio

1
Працює як шарм 😊. Дуже дякую!
kapil pandey

Не забудьте перезавантажити свою машину
mtoninelli

1
я пропустив, що omg "закрити свій поточний термінал", і я спробував, що я майже здався, і я читав ще раз хахаха дякую! це спрацювало!
Michimcchicken

11

Виправлення помилок шляху SDK на дистрибутивах Linux


Ваш проект не знаходить встановлений 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, завантажених через диспетчер SDK Studio. Перейдіть у меню Файл> Налаштування> Зовнішній вигляд та поведінка> Налаштування системи> SDK для Android , ви можете знайти налаштування розташування SDK вгорі з можливістю змінити, а папка за замовчуванням - ~ / Android / Sdk .

Шлях Android SDK для Android Studio

Встановлення шляху SDK

Тепер, коли ми знаємо, де знаходиться SDK, настав час повідомити про себе.


Варіант 1: Встановити локальні властивості


Цей спосіб дуже простий, і все, що потрібно, - це створити файл local.properties у наступній папці, де Project_Folder є базою вашого програми React-Native:

Project_Folder / Android / Додаток

У своїх local.properties потрібно встановити змінну sdk.dir до шляху вашої папки SDK:

sdk.dir=/home/username/Android/Sdk

Хоча це найпростіший спосіб виправити цю проблему, він не найкращий, особливо якщо ви працюєте з кількома проектами. Для кожного проекту вам доведеться створити цей файл для кожного проекту, і якщо папка змінить план щодо зміни цього файлу для локальних властивостей кожного проекту.

Після збереження файлу повторно виконайте команду 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 відображається правильно, вітаємо! Повторіть запуск реальної команди та спостерігайте за тим, як процес збирання програми продовжується вперед.


Якщо у вас все ще є проблеми


Якщо з якоїсь причини ви отримаєте помилку " > не вдалося знайти ціль із хеш-рядком 'android-23' у: вашій / sdk / папці , вам потрібно переконатися, що версія збірки проекту та версія встановленого SDK відповідають (React -Натиснені значення за замовчуванням до 23.0.1) Ви можете знайти версію за замовчуванням у Project_Folder / android / app / build.gradle , а потім шукати buildToolsVersion . Можна, звичайно, змінити версію цього файлу або в Android Studio перейти до Файл > Структура проекту для зміни пакета SDK для проекту . Я б не пропонував змінити цю версію, якщо ви абсолютно не знаєте, чим займаєтесь, інакше встановіть версію SDK, яку шукає проект.


7

Ви повинні написати правильний повний шлях. Не використовувати "~ / Бібліотека / 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

7

У Ubuntu, де вам належить отримати SDK окремо від Android Studio, дивно, що шлях буде працювати з Android Studio, але з React Native, вам потрібно створити ім’я файлу local.properties.

Наприклад, готель ~/AwesomeProject/androidі вставити цей рядок:
sdk.dir=/path/to/sdk/in/your/computer


4

Перевірте у своєму local.propertiesфайлі:

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

якщо формат правильний чи ні


4

Якщо ви використовуєте Ubuntu, просто перейдіть до каталогу Android вашого рідного проекту та створіть файл під назвою local.propertiesта додайте до нього шлях для Android sdk:

sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk

4

Видаліть папку local.propertiesз андроїд у вашому проекті реагування та спробуйте.

Я це зробив і досяг успіху.


3

Скопіюйте інший андроїдний проект local.properties у вашій системі та вставте в папку android проекту, котрий реалізується, він буде працювати.


Kudos для хитрого і
непробивного

3

Це працювало для мене.

Я беру «Реактивні уродженці» Стівена Грідера на Удемі, і один із студентів опублікував це в Лекції 50. Вставний дослівно в командному рядку (без «звичайно»).

$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile

Не роби цього. це призведе до помилки> The SDK directory '/usr/local/opt/android-sdk' does not exist.
thexande

3

Найкраще рішення, яке я можу знайти, таке:

  1. Завантажте Android Studio та SDK на ваш вибір (Навіть якщо ви думаєте, що вам це не потрібно, повірте мені, що вам знадобиться, щоб випустити файл apk та деякі зміни в ручному коді Android).
  2. Файл> Створити> Імпортувати, вкажіть місце, де знаходиться ваш реактивний проект Android.
  3. Якщо ви попросите завантажити будь-який конкретний пакет SDK, завантажте його. Він може попросити вас оновити gradle тощо ... Будь ласка, продовжуйте оновлювати, де потрібно.
  4. Якщо у вас є існуючий Android SDK і ви знаєте версію, то все, що вам потрібно зробити, - це відповідати цій версії під build.gradle вашого проекту Android.

Ось так виглядатиме файл gradle:

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

Якщо з налаштуванням машини все пішло добре, і ви можете скласти проект за допомогою Android Studio, то ніщо не зупинить вас, щоб створити свій додаток за допомогою Android-команди, побудованої за допомогою cli build android.

При такому підході ви не тільки вирішите проблему SDK, але і вирішите багато питань, пов’язаних із налаштуванням машини для розробки Android. Імпорт автоматично знайде розташування SDK та створить local.properties. Отже, вам не потрібно турбуватися про ручні втручання.


2

Для користувачів Linux

Ваш додаток не отримує шлях для android-sdk, тому якщо ви використовуєте Linux (ubuntu), вам потрібно додати файл з назвою "local.properties" і зберегти його всередині папки Android, яка створена всередині вашої папки додатків .

Вам потрібно додати нижче рядок всередині файлу local.properties, який є шляху вашого Android-sdk лежить всередині вашої системи всередині системи, щоб запустити додаток.

sdk.dir=/opt/android-sdk/

зберегти та повторно запустити команду reakct-native run-android

АБО

Ви можете відкрити термінал, набрати

sudo nano ~ / .bashrc

і вставте нижній шлях в кінці файлу

export ANDROID_HOME = "/ opt / android-sdk /"

і перезавантажте комп'ютер і запустіть знову реактивний запуск-android після цього.

Примітка: - Якщо ви помістите заданий шлях у файл .bashrc, вам навіть не потрібно створювати файл local.properties.


Це не повинно бути жорстко розробленим рішенням, але залежить від того, де встановлено Android Studio SDK. У моєму випадку sdk.dir = "pathWhereAndroidSDKisbeeninstalled / Android / Sdk"
Carmine Tambascia

2

Якщо ви створюєте та android studioпроектуєте, Ви можете бачити local.propertiesфайл, створений всередині кореневого каталогу проекту. Коли ви створюєте власний проект реагування, він не створює цей файл для вас. Тому вам доведеться створити його вручну. І додати до нього skd dir. Тож створіть новий файл у папці Android (у корені). і покладіть шлях до sdk таким чином sdk.dir=D\:\\Android\\SDK\\android_sdk_studio . Пам'ятайте: видаліть одиночний \ з подвійним. Так само, як і вище.


2

Є два способи вирішити це питання:

  1. Простий запуск вашого власного проекту Android в студії Android, він автоматично генерує ваш файл local.properties в реальному проекті Android.

  2. а. Перейдіть до власного проекту React -> Android
    b. Створіть файл local.properties
    c. Відкрийте файл
    d. Вставте шлях SDK для Android, як показано нижче


1

Переконайтесь, що у вас встановлений належний емулятор та версія Android. Це вирішило для мене проблему.


1

У вашому каталозі проектів є папка під назвою "android", а всередині неї - файл local.properties. Видаліть файл, і збірка повинна успішно працювати


1

Якщо файл local.properties відсутній, просто створіть його у папці "project / android" за допомогою "sdk.dir = / Users / apple / Library / Android / sdk" і переконайтеся, що ваш SDK знаходиться в цьому місці.

для створення файлу зі спеціальними розширеннями на mac перейдіть за наступним посиланням

Як зберегти файл TextEdit (mac) зі спеціальним розширенням (.sas)?


0

Є два файли gradle, змінити той, який знаходиться у вашому C: \ myapp \ android \ build.gradle, а не у батьківському каталозі myapp.

Замініть 23.0.1 вашою версією Android Build Tool, встановленою в моєму випадку 25.0.0

Запустіть натиснутий Android-run на Android, щоб побачити вашу програму в емуляторі.


0

Просто відкрийте папку android у проекті Android Studio . Студія Android створить необхідний файл (local.properties) та завантажить версію SDK для необхідного запуску Android.


0

Я в Windows, і мені довелося змінювати шлях до sdk незалежно від того, чи є він у PATH env. змінна

sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk

Змінено цей файл:

MyProject\android\local.properties

0

Проблема полягає в тому, що ви неправильно налаштували змінні середовища. Ви повинні використовувати (в 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змінну середовища

Якщо ви робите це так, як у вас зараз, ви повинні налаштувати кожен проект на використання змінних оточуючих середовищ, і якщо проект є кількома людьми з їх обладнанням, це може спричинити проблеми. Якщо ви зробите це так, як я вам сказав, вам не доведеться конфігурувати жоден проект.


0

Якщо у вас встановлена ​​андроїд-студія, просто відкрийте програму Project/androidAndroid Studio, і вона сповістить про перемикання шляху розташування SDK у проекті.


-2

Скопіюйте інший андроїдний проект local.properties у вашій системі та вставте в папку android проекту, котрий реалізується, він буде працювати.

sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk

C \: \\ Користувачі \\ champika \\ AppData \\ Local \\ Android \\ Sdk
champika desirewanath
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.