在Ubuntu 12.10上,我尝试根据此处http://docs.phonegap.com/en/2.3.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android的说明设置cordova 2.3.0(PhoneGap)。
但是当我运行脚本时,我收到以下错误:
An unexpected error occurred: [ ! -e "$BUILD_PATH"/framework/libs/commons-codec-1.7.jar ]
exited with 1
Deleting project...
我查了一下commons-codec-1.7.jar,它出现在应该的位置:
-rw-r--r-- 1 user user 259600 Jan 21 15:32 framework/libs/commons-codec-1.7.jar
我尝试对路径进行硬编码,但仍然得到相同的错误。为什么我会看到这个错误。
这里有什么可能错误或缺失的想法?
提前谢谢
答案 0 :(得分:7)
这很可能是因为没有正确安装Java和/或Apache Ant。在使用以下命令安装Oracle JDK和Ant之前,我遇到了同样的问题:
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java6-installer
sudo apt-get install ant
答案 1 :(得分:6)
我建议让create
脚本输出更详细,以研究构建问题。所以你可以编辑这一行:
(cd "$BUILD_PATH"/framework && ant jar &> /dev/null )
到
(cd "$BUILD_PATH"/framework && ant jar )
这有助于我确定我的问题:
makk@localhost:~/projects/eclipse/cordova-android/bin$ ./create ~/projects/eclipse/plackarta com.MyApp MyApp
Buildfile: build.xml
BUILD FAILED
/home/makk/projects/eclipse/cordova-android/framework/build.xml:33: The required minimum version of ant is 1.8.0, you have Apache Ant version 1.7.1 compiled on September 8 2010
Total time: 0 seconds
您可以根据自己的操作系统修复此问题。在现代系统上,你可能会在fiznool回答后获得好运。您也可以尝试这个解决方案(风险自负!):https://askubuntu.com/questions/55488/install-upgrade-to-apache-ant-1-8-2。在http://ant.apache.org/bindownload.cgi上也有现成的二进制文件(帮助我使用旧的10.04 Ubuntu)。
答案 2 :(得分:2)
我遇到了同样的问题,我不知道到底是什么解决了这个问题,但这里列出了我所做的事情。
我应该尝试在每一步之后运行命令以查明问题。如果你确切地知道解决了什么,请告诉你。
答案 3 :(得分:1)
我也有同样的问题。安装Apache Ant固定的az fiznool为我建议。
答案 4 :(得分:1)
我遇到了同样的问题。
删除&> /dev/null
后,我发现了实际发生的事情。
commons-codec-1.7.jar
脚本返回以下错误:
Error: JAVA_HOME is not defined correctly.
所以我只需要在我的JAVA_HOME
文件中添加变量.bashrc
,如下所示:
export JAVA_HOME=/usr/lib/jvm/java-6-oracle/
之后一切正常。
谢谢!
答案 5 :(得分:1)
在我的情况下,我使用“sudo cordova platform add android”,它就像一个魅力
答案 6 :(得分:0)
我安装了Android 4.2(API 17)并解决了错误
答案 7 :(得分:0)
尝试:
chown -R xxxx:xxxx /path_to_cordova
它对我有用!!
答案 8 :(得分:0)
正如其他地方所提到的,如果您在项目名称中创建了一个带有空格的项目(即使您将整个名称放在引号之间),添加Android也会失败。短划线( - )会导致同样的问题。