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

时间:2015-07-02 16:49:21

标签: android cordova ubuntu ionic-framework ionic

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

  

失败:构建因异常而失败。

     
      
  • 其中:Script' /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle'   line: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

     

导出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 /游戏:在/ usr /本地/游戏中:/ opt / android- SDK /工具:/选择/ Android的SDK /平台的工具:/选择/节点/ 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

28 个答案:

答案 0 :(得分:32)

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

答案 1 :(得分: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

答案 2 :(得分: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

答案 3 :(得分:18)

错误显示 &#39;未找到已安装的构建工具&#39; 这意味着

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&#39; $和&#39;并点击标签。在点击标签上你应该看到完整的&#39; $ android&#39; name.this verifys所有路径都是正确的

5:在终端写$ android并按回车

答案 4 :(得分:13)

我通过将 ANDROID_HOME 更改为来修正错误 错误的上一个目录中的 C:\ Users \ Gebru \ AppData \ Local \ Android \ Sdk

答案 5 :(得分:10)

对我来说,运行这三个命令可以解决我在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 :(得分:6)

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

答案 7 :(得分:4)

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

导出ANDROID_HOME =“/ Users / corneliusparkin / Library / Android / sdk”

请记住在更新〜/ .bash_profile

后重新启动终端或运行此命令

source~ / .bash_profile

答案 8 :(得分:4)

就我而言,Enviroument Variable ANDROID_HOME被指向错误的(旧)目录。我重新分配以纠正一个。在我的情况下

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

答案 9 :(得分:3)

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

答案 10 :(得分:3)

2018

The "android" command is deprecated.

尝试

sdkmanager "build-tools;27.0.3"

就像#Fadhil所说的那样,这对我有用

答案 11 :(得分:1)

我搜索了几天这个问题。...希望它会有用

最终解决方案: (我假设您已经安装了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

答案 12 :(得分:1)

对于窗口:我已经遇到过此类问题。但经过探索,在我看来情况已解决。我正在使用窗口10。只需执行以下几个步骤:

  1. 下载适用于Windows的Android SKD Manager。 https://developer.android.com/studio在 页面末尾。这是zip文件。提取后将显示工具目录。
  2. 转到驱动器C:\,创建新文件夹“ android-sdk”。复制工具文件夹和过去的记录
    C:\ android-sdk
  3. 以管理员身份打开命令提示符。转到cd“ c:\ android-sdk \ tools \ bin”。 sdkmanager将显示在这里。类型 skdmanager,它将显示为 [======================================] 100%正在计算更新...
  4. 在键入“ sdkmanager platform-tools”之后,将创建platform-tools目录 在C:\ android-sdk
  5. 现在设置系统环境变量:右键单击PC选择 属性。系统设置将会弹出。单击>环境变量。环境 变量将弹出。

  6. 在此窗口中,系统变量如下所示。 C:\ android-sdk \ platform-tools和 C:\ android-sdk \ tools \ bin

  7. 运行命令以构建工具sdkmanager“ build-tools; 27.0.3”

    还要确保定义了Java路径。我希望它能解决问题。

答案 13 :(得分: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

答案 14 :(得分:0)

检查您是否已将 android SDK 路径添加到环境文件 (.bash_profile) 中。如果您使用默认路径安装了 android studio,请将以下几行添加到您的环境文件中。就我而言,我使用的是 bash,所以我更新了 .bash_profile

export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd

答案 15 :(得分:0)

使用虚拟机的开发人员警告

我花了很长时间尝试解决此问题。我尝试了本文中的所有内容以及网络上的更多解决方案。但是,在经历了许多失败之后,浏览了网络上每个人都说的话,我仍然无法解决我的VM上的问题-VMWare Workstation上的Windows 10映像。

在查看了所有机器/操作系统的解决方案和说明之后,人们在我在VM中进行开发的过程中,与我的设置明显不同的是。

解决方案::我将所有代码拉到主机(Windows 10 OS)上,重新安装了所有依赖项,并确保首先解决所有问题。经过大量研究,我发现一些警告,表明Android Studio在某些VM中正确安装存在一些已知问题。因此,如果您像我一样并且尝试了所有解决方案(多次),但没有任何效果,但是您在虚拟机中,则可能需要考虑在主机(或其他物理机)上构建

答案 16 :(得分:0)

打开命令提示符,使用SET ANDROID_HOME检查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.

对我有用。

答案 17 :(得分:0)

我已通过以下步骤解决了这个问题:

  1. 转到cordova.gradle文件 (platform / android / cordovaLib / cordova.gradle)
  2. 搜索getAndroidSdkDir()方法
  3. 现在只需将System.getenv(“ ANDROID_HOME”)替换为您真正的Android SDK路径

答案 18 :(得分:0)

我已经尝试了以上所有解决方案。没有办法。 直到我链接到https://forum.ionicframework.com/t/ionic-v4-no-installed-build-tools-found/152150.

显然,您必须以root用户身份运行命令。 Sudo还不够。您需要先更改为root用户,然后才能运行所有命令。

答案 19 :(得分:0)

很多人给出答案,有些答案相同,有些答案ID不同。我尝试了很多答案,但是它们对我没有用,当然我也从上面的答案尝试了但没有解决我的问题。而且我不知道为什么,但是即使我的问题已通过此ANSWER解决,我仍然遇到相同的错误。我只想写这可能对某人有用。

答案 20 :(得分:0)

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

答案 21 :(得分:0)

Mac IOS

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

vi ~/.bash_profile

添加以下几行:

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

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

. ~/.bash_profile
  • 如果出于某种原因您拥有旧版本的构建工具,则可以从android development studio更新它们:
  • 配置-> SDK管理器->选择“ Android SDK构建工具
  • 检查“显示包裹详细信息”
  • 查看此软件包的版本,如有需要,请更新

答案 22 :(得分:0)

此问题的解决方案在这里 https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile-testing/

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

Android SDK软件包包含一个称为编译工具的组件。移动测试至少需要版本19.0.1、19.1.0或20.0.0。

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

答案 23 :(得分:0)

我添加了<preference name="android-minSdkVersion" value="19" /> 到我的conf.xml,构建成功。

答案 24 :(得分:-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

答案 25 :(得分:-1)

这对我有用!小心新的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

see the screenshot in my shell

答案 26 :(得分:-1)

这个问题我解决了以下细节,不知何故android SDK管理安装了所有依赖项和必要文件,但忘了这个*left文件,其中找到了模板&gt; &的gradle GT;包装。缺少这组文件。enter image description here。 mac中的路径 /用户/ giogio /库/ Android设备/ SDK /工具/模板

答案 27 :(得分:-1)

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