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"
我的环境变量:
$set|grep"ANDROID\|PATH"
ANDROID_HOME=/Users/rover/Documents/Dev/ANDROID/adt-bundle-mac-x86_64-20140702/sdk/toolsANDROID_PLATFORM_TOOLS=/Users/rover/Documents/Dev/ANDROID/adt-bundle-mac-x86_64-20140702/sdk/平台工具ANDROID_SDK=/Users/rover/Documents/Dev/ANDROID/adt-bundle-mac-x86_64-20140702/SDKPATH=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools:/Users/rover/Documents/Dev/Android/att-bundle-mac-x86_64-20140702/sdk/platform tools:/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-2040702/sdk/build tools:/usr/local/bin:/usr/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-版本java版本"1.8.0_05"Java(TM)SE运行时环境(版本1.8.0_05-b13)Java HotSpot(TM)64位服务器虚拟机(内部版本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)
有什么解决办法吗?
我的头撞在墙上好几个小时,最终想出了一个简单的解决方案。我进入项目目录,发出了两个命令:
cordova platform remove android
cordova platform add android
用"cordova build android"重新编译,它就像一个魅力。
我想科多瓦可能想更新一些文件。
=====Ionic=====更新
如果你正在使用离子框架,那么以下是救援命令:
ionic platform remove android
ionic platform add android
我注意到,当您中断(Ctrl-C)编译过程时,通常会发生这种情况。
我注意到您的ANDROID_HOME变量可能设置不正确-据我所知,它应该设置为您的SDK文件夹的根目录(您将ANDROID_SDK设置为),尝试一下(并确保您的路径上仍然有$ANDROID_HOME/工具和$ANDROID_HOME/平台工具)。
我遇到了同样的问题,并通过转义config.xml
中的非字母字符来解决它。name
属性的特殊性:
<name>Temps d'espera</name>
我把它改成:
<name>Temps d'espera</name>
然后它就完美地运行了。希望能有所帮助。
@mylord我也有类似的错误,这是由于调试证书无效。在Linux上删除~/.androiddebug.keystore文件。
下次构建时,构建工具将重新生成一个新的密钥库和调试密钥。
这对我来说解决了。我希望这能有所帮助。
我在运行"phonegap serve"时遇到了同样的问题,但解决方案非常不同。当我重新启动电脑时,我注意到这个操作是有效的。以防其他人遇到这个问题。以下是Ubuntu 15 上的解决方案
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
这是从stackoverflow线程Grunt手表错误-等待。。。致命错误:观看ENOSPC
除了海报错误,我有错误
at exports._errnoException (util.js:856:11)
at FSWatcher.start (fs.js:1313:19)
at Object.fs.watch (fs.js:1341:11)
再往下走。
我遇到了同样的错误消息,但我的ANDROID_HOME设置是正确的。我发现这个错误是由我打开\platforms\android\ant构建文件夹中的.apk文件引起的。在我关闭占用.apk文件的7zip之后,ant构建通过了。
在更改任何内容之前,制作一个空的cordova项目并尝试构建它,您可以确定问题是否特定于项目。
在我做了很多更改之后,我发现我们不应该有两个同名的文件夹:jquery
和jQuery
!
我遇到了同样的问题。这是因为在源自Google Play商店的Android设备上安装了一个同名应用程序(在我的情况下是相同的反向风格域名)(这是我们的Beta版本)。