离子构建Android |错误:未找到已安装的构建工具。请安装Android构建工具

问题描述 投票:65回答:20

当我在离子项目的根目录中运行ionic build android命令时,我收到此错误:

FAILURE:构建因异常而失败。

  • 其中:脚本'/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我有:

export PATH = $ PATH:/ opt / android-sdk / tools

export PATH = $ PATH:/ opt / android-sdk / platform-tools

export PATH = $ PATH:/ opt / node / bin

export JAVA_HOME = / usr / lib / jvm / default-java

export ANDROID_HOME = / opt / android-sdk

$ PATH是:

在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏中:/ opt / Android的SDK /工具中:/ opt / Android的SDK /平台工具中:/ opt /节点/箱

重要问题:

在文件中:/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

android cordova ubuntu ionic-framework ionic
20个回答
35
投票

我通过使用sdkmanager下载名为platform-tools和buid-tools的sdk软件包来解决这个问题。您可以使用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 androidionic build android

注意:通过将sdkmanager~\AppData\Local\Android\sdk\tools添加到环境变量中来全局化~\AppData\Local\Android\sdk\tools\bin命令。


3
投票

在命令行上键入android并安装“Android SDK Build-tools”


3
投票

2018

The "android" command is deprecated.

尝试

sdkmanager "build-tools;27.0.3"

正如#Fadhil所说,这对我有用


2
投票

FOR WINDOW:我遇到过这种类型的问题。但经过探索,它解决了我的情况。我正在使用窗口10.只需按照以下几个步骤操作:

  1. 下载适用于Windows的Android SDK Manager。 qazxsw poi在本页末尾。它是zip文件。解压缩后会显示工具目录。
  2. 转到驱动器C:\创建新文件夹'android-sdk'。复制工具文件夹和过去 C:\ Android的SDK
  3. 以管理员身份打开命令提示转到cd“c:\ android-sdk \ tools \ bin”。 sdkmanager将在这里展示。键入skdmanager,它会像这样显示[=======================================] 100 %计算更新......
  4. 在那个类型“sdkmanager platform-tools”之后,它将在C:\ android-sdk中创建platform-tools目录
  5. 现在设置系统环境变量:右键单击PC选择属性。系统设置将弹出。单击>环境变量。环境变量将弹出。
  6. 在这个窗口系统变量就像这样。 C:\ android-sdk \ platform-tools和C:\ android-sdk \ tools \ bin
  7. 运行命令来构建工具sdkmanager“build-tools; 27.0.3” 还要确保定义了java路径。我希望它能解决问题。

0
投票

我将https://developer.android.com/studio添加到我的<preference name="android-minSdkVersion" value="19" />并且构建成功了。


0
投票

这个问题的解决方案是conf.xml

请按照以下步骤操作,并解决您的问题。

Android SDK包中包含一个名为compile tools的组件。移动测试至少需要19.0.1,19.1.0或20.0.0版本。

如果这些版本未随ADT软件包一起安装,则在DevTest Workstation中创建移动资产时可能会收到错误消息:


0
投票

Mac IOS

使用vi或其他shell编辑器编辑〜/ .bash_profile

https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile-testing/

添加以下行:

vi ~/.bash_profile

(保存文件,然后退出)将这些更新的env变量加载到当前shell env:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:~/Software/android-sdk-macosx/tools:~/Software/android-sdk-macosx/platform-tools"
  • 如果由于某种原因你有一个旧版本的构建工具,你可以从android开发工作室更新它们:
  • 配置 - > SDK Manager - >选择“Android SDK Build-Tools
  • 查看“显示套餐详情”
  • 查看此软件包的版本,如果需要,请进行更新

0
投票

在我的情况下,问题是ANDROID_HOME由于某种原因指向. ~/.bash_profile 。正确的道路是~/Library/Android/


-1
投票

转到D:Android sdk \ Android SDK并单击SDK Manager并检查是否安装了Build Tools(如果未安装)然后安装这些工具


-1
投票

这个问题我解决了以下细节,不知何故android SDK管理安装了所有的依赖项和必要的文件,但忘记了这个~/Library/Android/sdk文件,其中找到了templates> gradle> wrapper。缺少这组文件.`templates`。 mac / Users / giogio / Library / Android / sdk / tools / templates中的路径


-1
投票

这适合我!小心新的java版本,因为它们会导致错误,请检查是否已安装所有内容并在特定目录中,

我没有使用openJDK

enter image description here

Linux 4.14.39-1-MANJARO#1 SMP PREEMPT Wed May 2 19:03:39 UTC 2018 x86_64 GNU / Linux

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


27
投票

你缺少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

-1
投票
see the screenshot in my shell

18
投票

请安装Android构建工具版本19.1.0或更高版本。

以下命令可以快速更新Ubuntu上的Android SDK并修复上述错误:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20

18
投票

因为错误显示“没有找到已安装的构建工具”,这意味着

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:然后打开终端并写入HALF TEXT'$和'并点击标签。在点击标签上你应该看到完整的'$ android'名称。这证明所有路径都是正确的

5:在终端写$ android并点击回车


14
投票

我通过将错误的先前目录中的ANDROID_HOME更改为C:\ Users \ Gebru \ AppData \ Local \ Android \ Sdk来修复错误。


12
投票

对我来说运行这三个命令可以解决我在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

6
投票

我知道这看起来并不相关,特别是在给出错误消息的情况下,但我通过安装更新​​版本的Android SDK Build工具来解决这个问题。


4
投票

在我的例子中,环境变量ANDROID_HOME被指向错误的(旧)目录。我分配纠正一个。就我而言

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


4
投票

对我来说,问题是ANDROID_HOME指向旧的Android SDK路径。安装Android Studio之后,我不得不相应更新〜/ .bash_profile for MAC(El Capitan)

export ANDROID_HOME =“/ Users / corneliusparkin / Library / Android / sdk”

记得在更新〜/ .bash_profile后重新启动终端或运行此命令

source~ / .bash_profile

© www.soinside.com 2019 - 2024. All rights reserved.