首页 文章

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

提问于
浏览
46

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

FAILURE:构建因异常而失败 . 其中: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 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 / games:/ usr / local / games:/ opt / android-sdk /工具中:/ opt / Android的SDK /平台工具中:/ opt /节点/箱

Important issue:

in file: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | line 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

17 回答

  • 7

    2018

    The "android" command is deprecated.
    

    尝试

    sdkmanager "build-tools;27.0.3"
    

    正如#Fadhil所说,这项工作对我而言

  • 2

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

  • 0

    对我来说,问题是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

  • 1

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

  • 13

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

  • 0

    在我的例子中,Enviroument变量ANDROID_HOME被指向错误的(旧)目录 . 我重新分配以纠正一个 . 在我的情况下

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

  • 4

    对我来说,运行这三个命令解决了我在Mac上的问题:

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

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

    请安装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
    
  • 25

    我通过使用 sdkmanager 下载名为 platform-toolsbuid-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 .

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

  • 0

    因为错误说 'No installed build tools found' 意味着

    1:它真的真的没有找到构建工具

    2:要让他找到构建工具,您需要正确定义这些路径

    PATH IS SAME FOR UBUNTU(.bashrc) AND 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: IMPORTANT IMPORTANT 一旦设置了环境变量,就需要重新加载环境变量 .

    //For ubuntu
    $source .bashrc 
    
    //For macos
    $source .bash_profile
    

    4: Then check in terminal

    $printenv ANDROID_HOME
    $printenv PATH
    

    注意:如果你没有在printenv中找到你的更改,那么重新启动电脑并再试一次printenv PATH,printenv ANDROID_HOME . 还有命令重新加载环境变量 .

    4 : then open terminal and write HALF TEXT '$and' and hit tab. On hitting tab you should see full '$android' name.this verifys all paths are correct

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

  • 9

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

  • 17
    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
    
  • 4

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

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

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

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

  • -1

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

  • -1

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

  • -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

相关问题