【问题标题】:Cordova build android failedCordova 构建 android 失败
【发布时间】:2016-04-23 14:01:01
【问题描述】:

我正在使用 linux 14.04 操作系统并使用 Cordova 开发跨平台移动应用程序

我的系统信息是

Cordova CLI:6.1.1
Ionic CLI 版本:1.7.14
离子应用程序库版本:0.7.0
操作系统:发行商 ID:Ubuntu 描述:Ubuntu 14.04.4 LTS
节点版本:v5.10.1

我为 API 20、21、22、23 和 24 安装了所有 android sdk 所需的工具

然后我运行以下

 cordova platform add android
 cordova build android

每次我都遇到同样的错误

未能通知 ProjectEvaluationListener.afterEvaluate(),但主要配置失败优先。 java.lang.IllegalStateException:未指定 buildToolsVersion。 在 com.google.common.base.Preconditions.checkState(Preconditions.java:176) 在 com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:599) 在 com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:566) 在 com.android.build.gradle.BasePlugin$10$1.call(BasePlugin.java:563) 在 com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55) 在 com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47) 在 com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:562) 在 com.android.build.gradle.BasePlugin$10.execute(BasePlugin.java:559) 在 org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:109) 在 org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:98) 在 org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83) 在 org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31) 在 org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) 在 com.sun.proxy.$Proxy13.afterEvaluate(未知来源) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:79) 在 org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:65) 在 org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:504) 在 org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:83) 在 org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42) 在 org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129) 在 org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) 在 org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80) 在 org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) 在 org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) 在 org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69) 在 org.gradle.util.Swapper.swap(Swapper.java:38) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39) 在 org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119) 在 org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46) 在 org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) 在 org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)

FAILURE:构建失败并出现异常。

  • 在哪里: 脚本 '/vagrant_data/newApp/platforms/android/CordovaLib/cordova.gradle' >line: 64

  • 出了什么问题: 评估根项目“android”时出现问题。 未找到已安装的构建工具。请安装 Android 构建工具 >19.1.0 或更高版本。

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 -->debug 选项运行以获得更多日志输出。

构建失败

总时间:1.929 秒 错误:命令的错误代码 1:>/vagrant_data/newApp/platforms/android/gradlew with args:cdvBuildDebug,->b,/vagrant_data/newApp/platforms/android/build.gradle,->Dorg.gradle.daemon=true ,-Pandroid.useDeprecatedNdk=true

这是我的路径

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
~/android-sdk-linux:
~/android-sdk-linux/tools:
~/android-sdk-linux/platforms:
~/android-sdk-linux/platform-tools:
~/android-sdk-linux/build-tools: 
/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin

任何帮助将不胜感激谢谢!

【问题讨论】:

  • 你为什么写cordova platform build android而不是cordova build android
  • @SimonSchüpbach 抱歉,我刚刚在问题中输入不正确,但我使用的是 cordova build android
  • 你的问题一定是android sdk的问题。您确定您的安装正确并且ANDROID_HOME 设置为正确的sdk 目录吗?
  • 确保当我运行 android list target sdks 时正确显示并且完全没有错误出现

标签: android linux cordova phonegap-build


【解决方案1】:

我认为您应该为工具、构建工具、平台工具删除 ~/android-sdk-linux/platforms 提供路径:尝试一次,我没有得到您添加该 java 路径的位置,就像我添加了 JAVA_HOME= C:\Program Files\Java\jdk

【讨论】:

  • 工具被添加到路径中,java的路径在最后一行...请再检查一遍!
猜你喜欢
  • 2018-10-07
  • 2021-11-22
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
相关资源
最近更新 更多