android\cordova\build.bat:在多个项目中命令失败,退出代码为8

android\cordova\build.bat:在多个项目中命令失败,退出代码为8,android,cordova,build.gradle,Android,Cordova,Build.gradle,我正试图在一个项目中完成“cordova构建android”。 项目结构如下: android(MainApp) |-- build.gradle |-- setting.gradle |-- gradle.properties |--LibProject1 |-- build.gradle |-- setting.gradle |-- gradle.properties |--LibProject2 |-- build.gradle |-- setting.gra

我正试图在一个项目中完成“cordova构建android”。 项目结构如下:

android(MainApp)
|-- build.gradle
|-- setting.gradle
|-- gradle.properties
|--LibProject1
   |-- build.gradle
   |-- setting.gradle
   |-- gradle.properties
|--LibProject2
   |-- build.gradle
   |-- setting.gradle
   |-- gradle.properties
   |--LibProject2_1
      |-- build.gradle
      |-- setting.gradle
      |-- gradle.properties
“cordova prepare android”和“cordova plugins”成功运行,但“cordova build android”在很长很奇怪的错误中失败:

Running command: ******\platforms\android\cordova\build.bat
ANDROID_HOME=*****
JAVA_HOME=*****
Running: ******android\gradlew cdvBuildDebug -b ****platforms\android\build.gradle -Dorg.gradle.daemon=true
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes
precedence.
java.lang.IllegalStateException: buildToolsVersion is not specified.
    at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
    at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.groovy:444)
    at com.android.build.gradle.BasePlugin$_createTasks_closure13_closure17.doCall(BasePlugin.groovy:415)
    at com.android.build.gradle.BasePlugin$_createTasks_closure13_closure17.doCall(BasePlugin.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)

FAILURE: Build failed with an exception.

* Where:
Build file '*****platforms\android\LibProject1\build.gradle' line: 49

* What went wrong:
A problem occurred evaluating project ':LibProject1'.
> Project with path ':LibProject2' could not be found in project ':LibProject1'.

* 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: 2.142 secs

******platforms\android\cordova\node_modules\q\q.js:126
                throw e;
                      ^
Error code 1 for command: cmd with args: /s /c "******\platforms\android\gradlew cdvBuildDebug -b 
******\platforms\android\build.gradle -Dorg.gradle.daemon=true"
Error: ******platforms\android\cordova\build.bat: Command failed with exit code 8
      at ChildProcess.whenDone (****AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:135:23)
      at ChildProcess.emit (events.js:98:17)
      at maybeClose (child_process.js:766:16)
      at Process.ChildProcess._handle.onexit (child_process.js:833:5)
似乎它说我的LibProject1/build.gradle有一些错误,但“gradle build”成功了,我正常运行了apk

最后,我发现运行“cordova build android”时,文件LibProject1/build.gradle正在自动更改。例如:

dependencies{
 compile project(':LibProject1')
}
改为

dependencies{
 debugCompile project(path: ":LibProject1", configuration: "debug")
 releaseCompile project(path: ":LibProject1", configuration: "release")
}
我真的不明白这个问题。
有人能帮我吗?感谢您阅读了这么长时间

有时Gradle和Android工具的版本不兼容,所以请下载最新的Gradle(),运行Android SDK管理器并更新软件包。文件build.gradle中的版本号必须与Android SDK构建工具的版本号匹配。请务必设置GRADLE_HOME(我在您的日志中没有看到),并更新PATH变量。您好,谢谢您的回复。我将Android SDK Buil tools更新为23.0.0,我使用的是最新的gradle v2.4。事实上,我已经在系统中设置了GRADLE_主页,但我不知道为什么它不会显示在运行消息中。我使用的是JDK1.7。在这些更新之后,我再次运行了“cordova build”,但仍然出现了相同的错误,build.gradle仍然更改为strangelyOk,所以这不是原因;)。您是否在整个目录内容中搜索字符串“LibProject2”?有时Gradle和Android工具的版本不匹配,所以下载最新的Gradle()并运行Android SDK管理器并更新软件包。文件build.gradle中的版本号必须与Android SDK构建工具的版本号匹配。请务必设置GRADLE_HOME(我在您的日志中没有看到),并更新PATH变量。您好,谢谢您的回复。我将Android SDK Buil tools更新为23.0.0,我使用的是最新的gradle v2.4。事实上,我已经在系统中设置了GRADLE_主页,但我不知道为什么它不会显示在运行消息中。我使用的是JDK1.7。在这些更新之后,我再次运行了“cordova build”,但仍然出现了相同的错误,build.gradle仍然更改为strangelyOk,所以这不是原因;)。您是否在整个目录内容中搜索字符串“LibProject2”?在一种配置中,必须存在这种不匹配。