іонна збірка 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.