25

cordova build android 给了我以下错误

node_modules/q/q.js:126 throw e; (*error details)

之前已经问过这个问题,但是关于 PATH 和 ANDROID_HOME 的典型答案对我不起作用。

我已将其放入代码片段以避免 SO 提交问题

export HOME="/Users/rover"
export ANDROID_SDK="$HOME/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk"
export ANDROID_HOME="$ANDROID_SDK/tools"
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$ANDROID_SDK/build-tools:$PATH"
export ANT_HOME="/usr/local/bin/ant"
#export PATH="$PATH:$ANT_HOME/bin"

我的环境变量:

$ 设置 | grep "安卓\|路径"

ANDROID_HOME=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools ANDROID_PLATFORM_TOOLS=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk /platform-tools ANDROID_SDK=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk PATH=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702 /sdk/tools:/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/platform-tools:/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64 -20140702/sdk/build-tools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

$ which ant
/usr/local/bin/ant
$ ls /usr/local/bin/ant
/usr/local/bin/ant

$ cordova --version
4.0.0

$ ant -v
Apache Ant(TM) version 1.9.4

我在 Mac OSX 10.10 (Yosemite) 上,Java 8 可能有问题。这有关系吗?

$ java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02,混合模式)

$ ant --execdebug
exec "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/bin/java" -classpath "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant-launcher.jar" -Dant.home="/usr/local/Cellar/ant/1.9.4/libexec" -Dant.library.dir="/usr/local/Cellar/ant/1.9.4/libexec/lib" org.apache.tools.ant.launch.Launcher -cp ""

(*error details)

BUILD FAILED
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:653: The following error occurred while executing this line:
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:698: null returned: 1

Total time: 1 second

/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: debug,-f,/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/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:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

关于解决这个问题的任何想法?

4

8 回答 8

20

我把头撞在墙上好几个小时,最终想出了一个简单的解决方案。我进入项目目录并发出两个命令:

cordova platform remove android
cordova platform add android

用“cordova build android”重新编译,它就像一个魅力。

我认为科尔多瓦想要更新一些文件。

===== Ionic 更新 ========

如果您使用的是 ionic 框架,那么这些是您的救援命令:

ionic platform remove android
ionic platform add android

我注意到这通常发生在您中断(Ctrl-C)编译过程时。

于 2015-01-02T07:34:19.037 回答
9

我注意到您的 ANDROID_HOME 变量可能设置不正确 - 据我所知,它应该设置为 SDK 文件夹的根目录(您将 ANDROID_SDK 设置为),尝试一下(并确保您仍然拥有 $ ANDROID_HOME/tools 和 $ANDROID_HOME/platform-tools 在您的路径上)。

于 2014-11-06T21:08:12.673 回答
2

我遇到了同样的问题,并通过在config.xml. 特别是name属性:

<name>Temps d'espera</name>

我将其更改为:

<name>Temps d\'espera</name>

然后它完美运行。希望能帮助到你。

于 2015-03-15T19:50:55.333 回答
1

@mylord I had similar error and it was due to invalid debug certificate. On Linux Delete ~/.android debug.keystore file.

The next time you build, the build tools will regenerate a new keystore and debug key.

This solved for me. I hope this helps.

于 2014-11-11T22:39:36.683 回答
1

我在运行“phonegap serve”时遇到了同样的问题,但解决方案非常不同。我注意到当我重新启动计算机时该操作会起作用。以防其他人遇到这个问题。这是 Ubuntu 15 上的解决方案

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

取自 stackoverflow 线程Grunt watch error - Waiting...Fatal error: watch ENOSPC

除了海报错误之外,我还有错误

at exports._errnoException (util.js:856:11)
at FSWatcher.start (fs.js:1313:19)
at Object.fs.watch (fs.js:1341:11)

再向下。

于 2016-02-18T19:46:15.147 回答
0

我遇到过同样的问题。这是由于在源自 Google Play 商店(它是我们的 Beta 版本)的 Android 设备上安装了一个具有相同名称(在我的情况下是相同的反向样式域名)的应用程序。

于 2015-02-27T15:36:56.273 回答
0

在更改任何内容之前,先创建一个空的 cordova 项目并尝试构建它,然后您就可以确定问题是否特定于项目。

在我做了很多改变之后,我发现我们不应该有两个同名的文件夹:jqueryjQuery

于 2015-02-18T12:14:36.900 回答
0

我遇到同样的错误信息,但我的 ANDROID_HOME 设置是正确的。我发现错误是由于我在 \platforms\android\ant-build 文件夹中打开一个 .apk 文件引起的。在我关闭占用 .apk 文件的 7zip 后,ant build 通过了。

于 2015-01-13T09:03:43.273 回答