android\cordova\build.bat:在多个项目中命令失败,退出代码为8
我正试图在一个项目中完成“cordova构建android”。 项目结构如下: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
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”?在一种配置中,必须存在这种不匹配。