Nativescript CLI говорит, что Android SDK настроен неправильно, но я не знаю, как это исправить

#android #nativescript #angular2-nativescript

#Android #nativescript #angular2-nativescript

Вопрос:

Я разрабатываю приложение Nativescript и хотел бы запустить его на моем физическом устройстве Android (Huawei P10 lite) через USB.

Я загрузил инструменты CLI Android SDK и извлек его в свой ~/Android/ каталог, и я установил для своей переменной окружения ANDROID_HOME значение /home/<username>/Android . Когда я запускаю tns run android , я ожидаю, что приложение запустится на моем телефоне, однако оно распечатывается:

✔ Ваша переменная среды ANDROID_HOME установлена и указывает на правильный каталог.
✔ Ваш adb из Android SDK установлен правильно.
✔ Найден совместимый Android SDK для компиляции.
✔ Javac установлен и настроен должным образом.
✔ Java Development Kit (JDK) установлен и настроен должным образом.
✔ Локальные сборки для iOS могут выполняться только в системе macOS. Для сборки для iOS в другой операционной системе вы можете использовать облачную инфраструктуру NativeScript.
✖ ПРЕДУПРЕЖДЕНИЕ: Android SDK не установлен или настроен неправильно.
Вы не сможете запускать свои приложения в собственном эмуляторе. Чтобы иметь возможность запускать приложения 
в собственном эмуляторе Android убедитесь, что вы установили последнюю версию Android SDK 
и его зависимости, как описано в http://developer.android.com/sdk/index.html#Requirements

Ваша среда настроена неправильно, и вы не сможете выполнять локальные сборки.

Нет никаких указаний на то, что именно не настроено должным образом. Итак, я не знаю, что мне попробовать дальше?

Я работаю в Ubuntu 18.04.5. Мой ~/Android/ каталог выглядит следующим образом

-rwxr--r-- android 
drwxr-xr-x bin/
drwxr-xr-x build-tools/
-rwxr--r-- emulator
-rwxr--r-- emulator-проверить
-rw-r--r-- .knownPackages 
библиотека drwxr-xr-x/
лицензии drwxr-xr-x/
-rwxr--r-- mksdcard
-rwxr--r-- monitor
-rw-r--r-- NOTICE.txt
платформы drwxr-xr-x/
платформа drwxr-xr-x-tools/
drwxr-xr-x proguard/
-rw-r--r-- source.properties 
поддержка drwxr-xr-x/

Я настроил символические ссылки для adb -> /home/<username>/Android/platform-tools/adb и emulator -> /home/<username>/Android/platform-tools/emulator и разместил ссылки внутри ~/.bin/ каталога. Этот каталог проверяется при поиске команд терминала, и я могу успешно запускать их из любого каталога таким образом.

Комментарии:

1. Сообщение показывает, что Android sdk не установлен. его легко установить с помощью Android Studio.

2. @Yong Он говорит, что он не установлен или настроен неправильно. Оказывается, он не был настроен должным образом. Хотя спасибо за предложение.

Ответ №1:

Немного покопавшись, я разобрался в проблеме. Загруженные инструменты командной строки Android были извлечены из моего ~/Android/ каталога верхнего уровня. Инструменты CLI на самом деле должны быть помещены в ~/Android/tools/ каталог. После того, как я внес это изменение, tns doctor не обнаружил проблем, и я смог успешно запустить tns run android .

Моя ~/Android/ структура каталогов теперь выглядит следующим образом:

build-tools / 
.knownPackages
лицензии/
платформы/
платформа-инструменты/
Инструменты/

~/Android/tools/ Каталог теперь выглядит так:

android 
bin/
эмулятор 
эмулятор-проверка
библиотека/
mksdcard 
монитор
NOTICE.txt
proguard / 
источник.свойства 
поддержка/

Часть настройки Android, которую я пропустил, гласит

Архив, который вы только что извлекли, был папкой tools, поэтому в этом случае он был бы по адресу: /usr/local / android / sdk /tools

Где /usr/local/android/sdk находится ~/Android в моем случае.