【问题标题】:ionic build android failed -- no build-tools foundionic build android 失败——找不到构建工具
【发布时间】:2016-07-12 22:44:13
【问题描述】:

我有一个 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 API? 22、23 有吗?
  • @DivyeshSavaliya 是的,我已经编辑了帖子并添加了 android sdk 图像
  • 我在你的 android sdk 中看到只有 API19 可用.. 所以请更新你的 sdk 并安装 API 23
  • 我安装了 api 23 仍然出现同样的错误。
  • 我也有同样的问题,你解决了吗?

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


【解决方案1】:

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

检查您的 ANDROID_HOME: 回声 $ANDROID_HOME

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

【讨论】:

    【解决方案2】:

    我确实安装了最新的 android studio

    然后从 ionic 项目中删除平台文件夹,然后运行:

    1 - npm update -g ionic cordova
    2 - ionic state reset --plugins
    3 - cordova telemetry on
    4 - ionic platform add android
    5 - ionic build android
    

    终于生成了apk文件!

    【讨论】:

    • 我会测试这个方法并让你知道它是否有效,我希望它有效!
    • 你还需要添加android-23平台并安装jdk
    猜你喜欢
    • 1970-01-01
    • 2023-02-10
    • 2022-10-24
    • 2021-02-27
    • 2018-11-20
    • 2020-07-02
    • 1970-01-01
    • 2018-03-19
    • 2014-10-12
    相关资源
    最近更新 更多