іонна збірка Android | помилка: Встановлених інструментів збірки не знайдено. Будь ласка, встановіть інструменти збірки Android


95

Коли я запускаю команду ionic build android у кореневій частині ionic project, я отримую таку помилку:

ПОМИЛКА: Помилка побудови за винятком.

  • Де: Сценарій '/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 / platform-tools: / 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


Його робота для мене перевірити stackoverflow.com/questions/38660955 / ...
— Винод

Відповіді:


54

Я виправляю це, завантажуючи пакет sdk, який називається platform-tools та buid-tools using 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команду, додавши ~\AppData\Local\Android\sdk\toolsі ~\AppData\Local\Android\sdk\tools\binдо змінної середовища.


2
Не забудьте запустити cmd від імені адміністратора, щоб уникнути помилок. Я зіткнувся з попередженням: Помилка "Не вдалося прочитати або створити файл властивостей встановлення"
— neustart47

Дякую, це був важливий крок для мене у процесі збірки.
— BarryMode

відкрив термінал у папці bin: каже sdkmanager: команду не знайдено
— MJ Montes

@LasLemieux, будь ласка, перевірте, чи правильно ви встановили CLI SDK. Якщо ви використовуєте Windows, там повинен бути файл із назвою sdkmanage.exe.
— Фадха

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

Вам не вистачає інструментів Android SDK. Спробуйте наступне:

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 тощо
— andersі

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: потім відкрийте термінал і напишіть ПОЛОВИННУ ТЕКСТ "$ and" і натисніть вкладку. На вкладці натискання ви повинні побачити повне ім'я "$ 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

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
— контракт,

У мене те саме, крім того, що я зупинився раніше / Sdk. Здається, що-небудь не так з цим рядком розриває
— низький рівень

6

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


6

У моєму випадку змінна середовища ANDROID_HOME була вказана на неправильний (старий) каталог. Я перерозподілив виправлення. У моєму випадку

ANDROID_HOME = F: \ Файли програм (x86) \ Android \ android-sdk


1
Спасибі, це я вказав на андроїд-студію, яка була запропонована десь ще.
— jcubic

5

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

експортувати ANDROID_HOME = "/ Користувачі / corneliusparkin / Бібліотека / 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. Сподіваюся, це вирішить проблему.


У пункті № 3 у вас є орфографічна помилка "skdmanager" Має бутиsdkmanager
— Сантош,


3

Введіть android у своєму командному рядку та встановіть "Інструменти збірки Android SDK"


2
У моєму випадку ви мали рацію. Я забув встановити інструменти Android SDK Build з диспетчера SDK. Дякую!
— tuchi35

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

1

У моєму випадку проблема полягала в тому, що ANDROID_HOME вказував з ~/Library/Android/якихось причин. Правильний шлях~/Library/Android/sdk


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 Wed May 2 19:03:39 UTC 2018 x86_64 GNU / Linux

див. скріншот в моїй оболонці



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
  • Позначте пункт "Показати деталі пакету"
  • перегляньте версії цього пакету, оновіть, якщо потрібно

0

Ну, багато людей дають свою відповідь, деякі відповідають однаково, інші відповідають інакше. Я намагаюся відповісти на багато, але вони не працюють для мене, звичайно, я намагаюся відповісти також зверху, але не вирішив мого питання. І я не знаю чому, але у мене така сама помилка, навіть моя проблема вирішена цим ВІДПОВІДОМ . Я просто хочу написати, що це може бути корисно для когось.


0

Я спробував усі вищезазначені рішення. Жоден не працює. Поки мене не зв’язали з https://forum.ionicframework.com/t/ionic-v4-no-installed-build-tools-found/152150.

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


0

Я вирішив цю проблему, виконавши такі дії:

  1. Перейдіть до файлу cordova.gradle (platform / android / cordovaLib / cordova.gradle)
  2. Шукайте метод getAndroidSdkDir ()
  3. Тепер просто замініть System.getenv ("ANDROID_HOME") на ваш справжній шлях до SDK для Android

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.

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


Хіба п’ятий рядок журналу ОП, розміщений вже не показує, що ANDROID_HOMEвстановлено (до /opt/android-sdk)?
— LWChris

Одного разу перевіривши свій домашній каталог, здебільшого він може бути присутнім у Home / home / username / Android / sdk Спробуйте встановити це, якщо він знайдений. вставте рядок нижче в кінець файлу .bashrc (у домашній директорії) export ANDROID_HOME = $ HOME / Android / Sdk
— VenkateshMogili

0

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

Я дуже довго намагався вирішити цю проблему. Я спробував усе в цій публікації та багато інших рішень в Інтернеті. Однак після багатьох невдач і перебору того, що говорили всі в Інтернеті, я все ще не міг вирішити проблему на своїй віртуальній машині - це образ Windows 10 на робочій станції VMWare.

Ознайомившись із усіма рішеннями та описами машин / операційних систем, люди розробляли явну різницю в моїй установці: я розробляв у ВМ.

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


0

Цю проблему я вирішив з наступними деталями, так чи інакше, андроїд SDK управляв встановив усі залежності та необхідні файли, але забув ці `templates`файли, де знайдено 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 і перевірте, чи встановлені інструменти побудови чи ні, якщо вони не встановлені, то встановіть ці інструменти


-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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.