android - ionic 构建 android 失败——未找到构建工具

标签 android cordova ionic-framework android-sdk-tools

我有一个 ionic/cordova 项目,我想通过模拟器模拟该项目,所以我使用“ionic platform add android”命令添加了 android 平台,然后我尝试运行“ionic build android”命令,但它失败了并且输出是:

ionic build android

Running command: "C:\Program Files\nodejs\node.exe" "D:\web development\My-Stuff                                                                                                                s\ionic\Learn ionic by building apps\mynote\hooks\after_prepare\010_add_platform                                                                                                                _class.js" "D:/web development/My-Stuffs/ionic/Learn ionic by building apps/myno                                                                                                                te"
add to body class: platform-android
ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_80
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configur                                                                                                                ation failure takes precedence.
java.lang.IllegalStateException: buildToolsVersion is not specified.
        at com.google.common.base.Preconditions.checkState(Preconditions.java:17                                                                                                                6)
        at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.jav                                                                                                                a:599)
        at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:566)
        at com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:563)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.ja                                                                                                                va:55)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.ja                                                                                                                va:47)
        at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:562)
        at com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:559)
        at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatc                                                                                                                h(BroadcastDispatch.java:109)
        at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatc                                                                                                                h(BroadcastDispatch.java:98)
        at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java                                                                                                                :83)
        at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java                                                                                                                :31)
        at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocat                                                                                                                ionHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy13.afterEvaluate(Unknown Source)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfte                                                                                                                rEvaluate(LifecycleProjectEvaluator.java:79)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(L                                                                                                                ifecycleProjectEvaluator.java:65)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProj                                                                                                                ect.java:504)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProj                                                                                                                ect.java:83)
        at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(Task                                                                                                                PathProjectEvaluator.java:42)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuil                                                                                                                dConfigurer.java:35)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(Default                                                                                                                GradleLauncher.java:129)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradle                                                                                                                Launcher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaun                                                                                                                cher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildCon                                                                                                                troller.run(InProcessBuildActionExecuter.java:80)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.jav                                                                                                                a:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.jav                                                                                                                a:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce                                                                                                                ssBuildActionExecuter.java:36)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce                                                                                                                ssBuildActionExecuter.java:26)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBu                                                                                                                ild.java:47)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build                                                                                                                CommandOnly.java:34)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(                                                                                                                WatchForDisconnection.java:35)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute                                                                                                                (ResetDeprecationLogger.java:24)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execut                                                                                                                e(StartStopIfBuildAndStop.java:33)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(Forw                                                                                                                ardClientInput.java:71)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(Forw                                                                                                                ardClientInput.java:69)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(For                                                                                                                wardClientInput.java:69)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClien                                                                                                                t.java:60)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build                                                                                                                CommandOnly.java:34)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBu                                                                                                                ild(EstablishBuildEnvironment.java:70)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build                                                                                                                CommandOnly.java:34)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(Da                                                                                                                emonHygieneAction.java:39)
        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed                                                                                                                (DaemonCommandExecution.java:119)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.                                                                                                                run(StartBuildOrRespondWithBusy.java:46)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(Daemon                                                                                                                StateCoordinator.java:246)
        at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecut                                                                                                                orImpl$1.run(DefaultExecutorFactory.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.                                                                                                                java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor                                                                                                                .java:615)
        at java.lang.Thread.run(Thread.java:745)

FAILURE: Build failed with an exception.

* Where:
Script 'D:\web development\My-Stuffs\ionic\Learn ionic by building apps\mynote\p                                                                                                                latforms\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 mins 16.86 secs
ERROR building one of the platforms: Error code 1 for command: cmd with args: /s                                                                                                                ,/c,""D:\web development\My-Stuffs\ionic\Learn ionic by building apps\mynote\pla                                                                                                                tforms\android\gradlew" cdvBuildDebug -b "D:\web development\My-Stuffs\ionic\Lea                                                                                                                rn ionic by building apps\mynote\platforms\android\build.gradle" -Dorg.gradle.da                                                                                                                emon=true -Pandroid.useDeprecatedNdk=true"
You may not have the required environment or OS to build this project
Error: Error code 1 for command: cmd with args: /s,/c,""D:\web development\My-St                                                                                                                uffs\ionic\Learn ionic by building apps\mynote\platforms\android\gradlew" cdvBui                                                                                                                ldDebug -b "D:\web development\My-Stuffs\ionic\Learn ionic by building apps\myno                                                                                                                te\platforms\android\build.gradle" -Dorg.gradle.daemon=true -Pandroid.useDepreca                                                                                                                tedNdk=true"

我的系统信息:

Cordova CLI: 6.0.0
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
OS: Windows 7 SP1
Node Version: v4.4.0

该错误表明您没有构建工具,但我有一个! 我的安卓sdk: android sdk

最佳答案

我正面临这个问题。问题是我的 ANDROID_HOME 路径指向 Android Studio 的文件夹。我将其更改为指向我的 Android SDK 文件夹,问题得到解决。

检查您的 ANDROID_HOME: 回显$ANDROID_HOME

它应该指向 Android SDK 文件夹: 导出 ANDROID_HOME="your-android-sdk-folder"

关于android - ionic 构建 android 失败——未找到构建工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36215499/

相关文章:

android - 我们如何以编程方式检测能够移动到 SD 卡(外部存储)中的应用程序名称?

Android 隐藏操作栏和工具栏

ios - ionic 应用程序的 Xcode 7.2 build设置不断重置

ajax - 如何使用 AJAX 从 Phonegap 移动应用程序上传图片?

android - Ionic 应用程序在 Android 模拟器和设备上崩溃

java - Android 按钮在启动线程后不显示

java - 如何根据屏幕尺寸动态改变高度?

ios - 与 SQLite 相关的 Phonegap 构建错误

javascript - 如何使用按钮栏作为 ionic 导航选项卡

javascript - 访问 firebase 存储试图获取文件 url 时出现错误 400