ионная сборка Android | ошибка: не найдены установленные инструменты сборки. Пожалуйста, установите инструменты сборки Android

95

Когда я запускаю команду ionic build android в корне проекта ionic, я получаю эту ошибку:

ОШИБКА: сбой при сборке за исключением.

  • Где: Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' строка: 64

  • Что пошло не так: возникла проблема при оценке корневого проекта android.

    Установленных инструментов сборки не найдено. Пожалуйста, установите инструменты сборки Android версии 19.1.0 или выше.

  • Попробуйте: запустить с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить дополнительный вывод журнала.

javad@javad:~/Desktop/javadApp$ ionic build android
Running command: /home/javad/Desktop/javadApp/hooks/after_prepare/010_add_platform_class.js /home/javad/Desktop/javadApp
add to body class: platform-android
Running command: /home/javad/Desktop/javadApp/platforms/android/cordova/build 
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/default-java
Running: /home/javad/Desktop/javadApp/platforms/android/gradlew cdvBuildDebug -b /home/javad/Desktop/javadApp/platforms/android/build.gradle -Dorg.gradle.daemon=true

FAILURE: Build failed with an exception.

* Where:
Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' line: 64

* What went wrong:
A problem occurred evaluating root project 'android'.
> No installed build tools found. Please install the Android build tools version 19.1.0 or higher.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.564 secs

/home/javad/Desktop/javadApp/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /home/javad/Desktop/javadApp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/javad/Desktop/javadApp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
You may not have the required environment or OS to build this project
Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

в ~ / .profile у меня есть:

экспорт PATH = $ PATH: / opt / android-sdk / tools

экспорт PATH = $ PATH: / opt / android-sdk / platform-tools

экспорт PATH = $ PATH: / opt / node / bin

экспорт JAVA_HOME = / usr / lib / jvm / default-java

экспорт ANDROID_HOME = / opt / android-sdk

$ PATH:

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / opt / android-sdk / tools : / opt / android-sdk / платформенные инструменты: / opt / node / bin

Важный вопрос:

в файле: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | строка 38 :

String[] getAvailableBuildTools() {
    def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
    buildToolsDir.list()
        .findAll { it ==~ /[0-9.]+/ }
        .sort { a, b -> compareVersions(b, a) }
}

только что вернул / opt / android-sdk / build-tools !!!

в папке / opt / android-sdk / build-tools у меня есть:

папка android-5.1 , извлекаемая из: https://dl.google.com/android/repository/build-tools_r22-linux.zip

javad75
источник
Это работает для меня, проверьте stackoverflow.com/questions/38660955/…
vinod

Ответы:

54

Я исправляю это, скачав пакет sdk под названием platform-tools и buid-tools, используя sdkmanager. Вы можете использовать sdkmanager.exe или, если вы используете SDK CLI , перейдите ~\AppData\Local\Android\sdk\tools\binи выполните эту команду:

sdkmanager "platform-tools" "platforms;android-26"

или

sdkmanager "build-tools;27.0.3"

или оба

После этого вы сможете запустить ionic cordova run androidили ionic build android.

Примечание. Выполните sdkmanagerкоманду globalize , добавив ~\AppData\Local\Android\sdk\toolsи ~\AppData\Local\Android\sdk\tools\binк переменной среды.

Фадхиль
источник
2
Не забудьте запустить cmd от имени администратора, чтобы избежать ошибок. Я столкнулся с предупреждением: «Не удалось прочитать или создать файл свойств установки»
neustart47
Спасибо, это был важный шаг для меня в процессе сборки.
BarryMode
открытый терминал в папке bin: говорит sdkmanager: command not found
MJ Montes
@LasLemieux, пожалуйста, проверьте, правильно ли вы устанавливаете SDK CLI. Если вы используете Windows, там должен быть файл с именем sdkmanage.exe.
Fadhil
43

Для меня выполнение этих трех команд решает проблему на моем Mac:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Для удобства копирования вот однострочный

export ANDROID_HOME=~/Library/Android/sdk && export PATH=${PATH}:${ANDROID_HOME}/tools && export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Чтобы добавить навсегда

Следуй этим шагам:

  1. Откройте файл .bash_profile в своем домашнем каталоге (например, /Users/your-user-name/.bash_profile) в текстовом редакторе.
  2. Добавьте export PATH="The above exports here"в последнюю строку файла, где your-dir - это каталог, который вы хотите добавить.
  3. Сохраните файл .bash_profile.
  4. Перезагрузите свой терминал

Добавление в процесс bash для разных систем

Черная мамба
источник
3
Это помогает мне каждый раз, но как только я закрываю терминал или перезагружаю Mac, мне нужно сделать это снова
Forza
Это сработало для меня. @Forza, если вы добавите его в свой ~ / .bash_profile, он будет работать каждый раз.
caden311
Я по ошибке добавил эти подкаталоги PATH к моей переменной ANDROID_HOME. Как только я это почистил, все заработало!
umbyersw
Как сделать так, чтобы вам не приходилось повторно запускать команду каждый раз при перезапуске терминала?
Росс Роулинз
Я пробовал это, но это действительно палка, мне приходится делать это каждый раз, когда я открываю терминал.
Росс Роулинз
30

Вам не хватает инструментов SDK для Android. Пожалуйста, попробуйте следующее:

android list sdk --all
android update sdk -u -a -t <package no.>

Где <package no.>находится 1,2,3,nи

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index
Алей
источник
6
Меня бросаетFilter 19 not supported
Атул Агравал
2
Обновление 2018: используйте -t android-27для версии 27 и т. Д.
andersand
21

поскольку в сообщении об ошибке говорится: «Установленные инструменты сборки не найдены», это означает, что

1: На самом деле действительно действительно не нашел инструментов для сборки

2: Чтобы он нашел инструменты для сборки, вам нужно правильно определить эти пути

ПУТЬ ОДИНАКОВ ДЛЯ UBUNTU (.bashrc) И MAC (.bash_profile)

export ANDROID_HOME=/Users/vijay/Software/android-sdk-macosx
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/tools
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/platform-tools

3: ВАЖНО ВАЖНО! Как только вы установите переменные среды, вам необходимо перезагрузить переменные среды.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Затем проверьте терминал

$printenv ANDROID_HOME
$printenv PATH

Примечание: если вы не нашли изменений в printenv, перезагрузите компьютер и попробуйте еще раз printenv PATH, printenv ANDROID_HOME. Также существует команда для перезагрузки переменных окружения.

4: затем откройте терминал, напишите ПОЛОВИНУ "$ и" и нажмите вкладку. При нажатии на вкладку вы должны увидеть полное имя $ android. Это подтверждает, что все пути верны

5: напишите $ android в терминале и нажмите Enter

виджей
источник
18

Пожалуйста, установите инструменты сборки Android версии 19.1.0 или выше.

Следующие команды могут быстро обновить Android SDK в Ubuntu и исправить указанную выше ошибку:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20
Agilox
источник
6
Фильтр 19 и Фильтр 20 не поддерживаются
Skizo-ozᴉʞS
1
то же самое здесь @ Skizo-ozᴉʞS
Bhimashankar Mantur
17

Я исправляю ошибку, изменяя ANDROID_HOME на C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk из неправильного предыдущего каталога.

Гебру Велай
источник
Это сработало для меня. Я не ANDROID_HOMEустановил, и Кордова предположила, что /usr/lib/android-sdkэто было неправильно
hughjdavey
У меня то же самое, только я остановился перед / Sdk. Кажется, что-то не так с этой линией ее разрывает
Low
6

Я знаю, что это не похоже, особенно с учетом сообщения об ошибке, но я исправил это, установив более новую версию инструментов Android SDK Build.

RB_
источник
6

В моем случае переменная окружения ANDROID_HOME была указана на неправильный (старый) каталог. Я перераспределил, чтобы исправить одну. В моем случае

ANDROID_HOME = F: \ Program Files (x86) \ Android \ android-sdk

роби2011
источник
1
Спасибо, я указал на студию Android, которую предлагали где-то еще.
jcubic
5

Для меня проблема заключалась в том, что ANDROID_HOME указывал на старый путь Android SDK. После установки Android Studio мне пришлось обновить ~ / .bash_profile для MAC (El Capitan).

экспорт ANDROID_HOME = "/ Пользователи / corneliusparkin / Library / Android / sdk"

Не забудьте перезапустить терминал или запустить эту команду после обновления ~ / .bash_profile

источник ~ / .bash_profile

Корнелиус Паркин
источник
5

ДЛЯ WINDOW: я столкнулся с этой проблемой. Но после изучения это решено в моем случае. Я использую окно 10. Просто выполните несколько шагов ниже:

  1. скачать Android SKD Manager для windows. https://developer.android.com/studio в конце этой страницы. Это zip-архив. после распаковки он покажет каталог инструментов.

  2. Перейдите на диск C: \ создайте новую папку android-sdk. скопируйте папку инструментов и вставьте в
    C: \ android-sdk

  3. откройте командную строку от имени администратора. Перейдите на компакт-диск "c: \ android-sdk \ tools \ bin". sdkmanager будет отображаться здесь. введите skdmanager, он будет выглядеть так [=======================================] 100 % Вычислительные обновления ...

  4. после этого введите «sdkmanager platform-tools» он создаст каталог инструментов платформы в C: \ android-sdk

  5. Теперь установите переменные системной среды: щелкните правой кнопкой мыши на ПК, выберите свойства. Системные настройки появятся. нажмите> Переменные среды. Появятся переменные среды.

  6. В этом окне Системные переменные выглядят так. C: \ android-sdk \ platform-tools и C: \ android-sdk \ tools \ bin

  7. запустите команду для сборки инструментов sdkmanager "build-tools; 27.0.3"

    Также убедитесь, что путь java определен. Надеюсь, это решит проблему.

MAzeem
источник
В пункте нет. 3 у вас есть орфографическая ошибка "skdmanager" Должно бытьsdkmanager
Сантош
4

2018 г.

The "android" command is deprecated.

пытаться

sdkmanager "build-tools;27.0.3"

Эта работа для меня, как сказал #Fadhil

Сара Родригес Кубильяс
источник
3

Введите android в командной строке и установите "Android SDK Build-tools".

Каран Бхутвала
источник
2
В моем случае вы были правы. Я забыл установить инструменты сборки Android SDK из диспетчера SDK. Благодарность!
tuchi35 01
2

Ищу эту проблему сутками .... Надеюсь, будет полезно

ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ: (я предполагаю, что вы установили Oracle-JDK и ANDROID)

откройте / etc / environment с

 sudo nano /etc/environment


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/shoniisra/Android/Sdk/tools:/home/shoniisra/Android/Sdk/platform-tools:/home/shoniisra/Android/Sdk/build-tools:/home/shoniisra/Android/Sdk:/home/shoniisra/android-studio/bin"
JAVA_HOME="/home/shoniisra/java/jdk1.8.0_231"
ANDROID_HOME="/home/shoniisra/Android/Sdk/build-tools/29.0.2"
ANDROID_SDK_ROOT="/home/shoniisra/Android/Sdk"
ANT_HOME="/home/shoniisra/ant/apache-ant-1.9.14"

Сохранить и выйти (CTRL + o CTRL + X)

Обновить файл source /etc/environment

Если вы недавно установили Android, вам следует принять некоторые лицензии

cd ~/Android/Sdk/tools/bin/

Запустите sdkmanager:

./sdkmanager --licenses

Затем принять все и, наконец, сгенерировать APK

cd {yourproyect}
sudo ionic cordova build android
Израиль Villacís
источник
1

В моем случае проблема заключалась в том, что ~/Library/Android/по какой-то причине указывал ANDROID_HOME . Правильный путь~/Library/Android/sdk

miqrc
источник
0

У меня это работает! будьте осторожны с новыми версиями java, потому что они вызывают ошибку, убедитесь, что у вас все установлено и в вашем конкретном каталоге,

Я не использовал openJDK

export JAVA_HOME="/usr/lib/jvm/java-8-jdk" \
&& export PATH=$JAVA_HOME/bin:$PATH \
&& export ANDROID_HOME=$HOME/Android/Sdk \
&& export PATH=${PATH}:${ANDROID_HOME}/tools \
&& export PATH=${PATH}:${ANDROID_HOME}/platform-tools \
&& export GRADLE_HOME=/usr/share/java/gradle/bin/gradle \
export PATH=$PATH:$GRADLE_HOME/bin

Linux 4.14.39-1-MANJARO # 1 SMP PREEMPT Среда 2 мая 19:03:39 UTC 2018 x86_64 GNU / Linux

см. скриншот в моей оболочке

Адриан Авила
источник
0

Я добавил <preference name="android-minSdkVersion" value="19" /> в свой, conf.xmlи сборка прошла успешно.

Нарек Тоотикян
источник
0

Решение этого вопроса здесь https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -тестирование /

Пожалуйста, выполните следующие действия и решите вашу проблему.

Пакет Android SDK содержит компонент, называемый инструментами компиляции. Для мобильного теста требуется как минимум версия 19.0.1, 19.1.0 или 20.0.0.

Если эти версии не установлены с вашим пакетом ADT, вы можете получить сообщение об ошибке при создании мобильного актива на рабочей станции DevTest:

Джуниор Плачидо
источник
0

Mac IOS

Отредактируйте ~ / .bash_profile с помощью vi или другого редактора оболочки

vi ~/.bash_profile

Добавьте следующие строки:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:~/Software/android-sdk-macosx/tools:~/Software/android-sdk-macosx/platform-tools"

(сохраните файл и выйдите) загрузите эти обновленные переменные env в текущую оболочку env:

. ~/.bash_profile
  • Если по какой-то причине у вас старая версия инструментов сборки, вы можете обновить их в студии разработки Android:
  • Настроить -> Диспетчер SDK -> выберите "Android SDK Build-Tools
  • Отметьте «Показать детали пакета»
  • проверьте версии этого пакета, при необходимости обновите
Эял с
источник
0

Многие люди дают свой ответ, некоторые ответы одинаковы, некоторые - разные. Я пробую много ответов, но они не сработали для меня, конечно, я тоже пытаюсь ответить сверху, но не решил мою проблему. И я не знаю почему, но у меня такая же ошибка, даже моя проблема решена этим ОТВЕТОМ . Я просто хочу написать, это может быть кому-то полезно.

user9088454
источник
0

Я пробовал все вышеперечисленные решения. Ничего не работает. Пока я не был связан с https://forum.ionicframework.com/t/ionic-v4-no-installed-build-tools-found/152150.

Судя по всему, вы должны запускать команду как root. Судо недостаточно. Вам необходимо перейти на пользователя root, прежде чем вы сможете запускать все команды.

Апит Джон Исмаил
источник
0

Я решил эту проблему, выполнив следующие действия:

  1. Перейдите в файл cordova.gradle (платформа / android / cordovaLib / cordova.gradle)
  2. Найдите метод getAndroidSdkDir ()
  3. Теперь просто замените System.getenv ("ANDROID_HOME") на реальный путь к Android SDK.
Ракшита
источник
0

Откройте командную строку. Проверьте путь ANDROID_HOME с помощью SET ANDROID_HOME, если он не установлен, установите с помощью команды ниже.

 SET ANDROID_HOME="C:\Users\VenkateshMogili\AppData\Local\Android\Sdk"

ИЛИ откройте переменные среды системы и создайте новую переменную как

 Variable Name: ANDROID_HOME
 Variable Value: C:\Users\VenkateshMogili\AppData\Local\Android\Sdk

и откройте файл cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) и найдите метод getAndroidSdkDir () и замените путь ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) вместо System.getenv ("ANDROID_HOME")

Если возникает проблема с лицензией, введите команду ниже, открыв командную строку в C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin.

  sdkmanager "build-tools;27.0.3"  //<-that will create build-tools folder and licenses folder.

Меня устраивает.

ВенкатешМогили
источник
Разве пятая строка журнала OP опубликована уже не показывает, что ANDROID_HOMEустановлено (на /opt/android-sdk)?
LWChris
После проверки в вашем домашнем каталоге, в основном он может присутствовать в Home / home / username / Android / sdk. Попробуйте установить это, если он найден. вставьте строку ниже в конец файла .bashrc (в домашнем каталоге) export ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili
0

Предупреждение для разработчиков, использующих виртуальные машины

Я очень долго пытался решить эту проблему. Я перепробовал все в этом посте и многие другие решения в Интернете. Однако после многих сбоев и прохождения того, о чем говорили все в Интернете, я все еще не мог решить проблему на моей виртуальной машине, которая представляет собой образ Windows 10 на VMWare Workstation.

После просмотра всех решений и описаний машин / операционных систем, которые разрабатывали люди, я обнаружил явную разницу в моей настройке: я разрабатывал виртуальную машину.

Решение: я вытащил весь свой код на хост-машину (ОС Windows 10), переустановил все зависимости и, черт возьми, все сработало, сначала обойду. После долгих исследований я обнаружил несколько предупреждений о том, что у Android Studio есть известные проблемы с правильной установкой на некоторых виртуальных машинах. Итак, если вы были похожи на меня и пробовали все решения (много раз), и ничего не работало, но вы находитесь в виртуальной машине, вам может потребоваться рассмотреть возможность создания на своем хосте (или другой физической машине).

маршалл легенда
источник
0

Эту проблему я решил с помощью следующей детали: каким-то образом Android SDK manage установил все зависимости и необходимые файлы, но забыл об этих `templates`файлах, где находятся шаблоны> gradle> wrapper. Этот набор файлов отсутствует.

Снимок экрана

Путь в Mac /Users/giogio/Library/Android/sdk/tools/templates

Джованни Камана
источник
0

Эта проблема также возникает, если вы обновляете установку Cordova.

Проверьте, есть ли в вашей ошибке журнала что-то вроде:

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting) <-------------
ANDROID_HOME=/{path}/android-sdk-linux (DEPRECATED)
Using Android SDK: /usr/lib/android-sdk
Starting a Gradle Daemon (subsequent builds will be faster)

В таком случае просто измените ANDROID_HOMEна ANDROID_SDK_ROOTв своем ~/.bashrc или подобном конфигурационном файле.

Где раньше был:

export ANDROID_HOME="/{path}/android-sdk-linux"

Сейчас:

export ANDROID_SDK_ROOT="/{path}/android-sdk-linux"

Не забывайте, что это источник: $ . ~/.bashrcпосле издания.

Игорь Парра
источник
-1

Перейдите в D: Android sdk \ Android SDK и нажмите SDK Manager и проверьте, установлены ли инструменты сборки или нет, если они не установлены, затем установите эти инструменты.

Рошани
источник
-1
This is very irritating error and i wasted my almost 9 hours to solve this.

Steps to solve:

Notice **ANDROID_HOME** while you run **ionic cordova build android** . command i. for example in my case it was pointing to some other android sdk which i uninstalled and then it started pointing to right sdk.
**In my case i uninstalled :**

brew cask uninstall android-sdk
brew cask uninstall android-platform-tool


then i ran **ionic cordova build android**

> cordova build android
ANDROID_HOME=/Users/anand/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home


Then it might say lineces not accepted then run below command :

cd /Users/Android/sdk/tools/bin/
then run ./sdkmanager --licenses
accepts all with y option


Then it might say unable to download jars then go to platform android and build.gradle

and search for buildscript and inside that reverse the order 


repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

Thats it . Enjoy huh
Ананд_5050
источник