我正在尝试在Ubuntu 13.04上安装Phonegap,我已经安装了包含所有可用软件包的Android SDK,但运行以下命令:
cordova platform add android
因意外错误而失败:
[Error: An error occured during creation of android sub-project. An unexpected error occurred: "$ANDROID_BIN" create project --target $TARGET --path "$PROJECT_PATH" --package $PACKAGE --activity $ACTIVITY &>/dev/null exited with 1
Deleting project...
我已经为Android设置了PATH变量(工具/平台工具),并安装了java和ant。
为什么会这样?如何获得更详细的错误消息?
答案 0 :(得分:8)
你试过用sudo运行命令吗? 它可能是一个权限问题。
如果仍然无法正常工作,请尝试使用详细模式运行它,即sudo -d cordova ...
如果这是由活动名称空格引起的,请参阅此答案的评论。
https://issues.apache.org/jira/browse/CB-4198报告了一个问题,我已发送拉取请求以删除空格https://github.com/phonegap/phonegap/pull/39。
答案 1 :(得分:4)
正如@José所说,“hello”示例不起作用,因为不允许使用空格。 将其更改为“HelloWorld”解决了这个问题。
答案 2 :(得分:2)
删除config.xml中名称标记之间的空格
MyAppName<名称>
答案 3 :(得分:1)
在我的情况下,使用debian wheezy,来自http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface的示例不适用于此错误:
[错误:在创建android子项目期间发生错误。发生意外错误:“$ ANDROID_BIN”创建项目--target $ TARGET --path“$ PROJECT_PATH” - package $ PACKAGE --activity $ ACTIVITY&> / dev / null退出1 删除项目...... ]
添加$ JAVA_HOME(Java sun,openjdk无效)和$ PATH andriod sdk路径.../sdk/platform-tools:../sdk/tool
我的案例中的解决方案是项目名称:
不起作用的示例:
cordova创建HelloWorld com.example.hello“Hello World”
这可行:
cordova创建HelloWorld com.example.hello HelloWorld
答案 4 :(得分:0)
确保您的包裹和项目名称正确无误,遵循com.mycompanyname.myappname
格式,没有任何数字或破折号。
答案 5 :(得分:0)
如果用textEdit打开创建文件(phonegap-2.7.0 / lib / android / bin / create),则会有一行列出
ANDROID_BIN=”${ANDROID_BIN:=$( which android )}”
。
“哪个android”是问题的原因
如果将此行替换为Android工具(SDK)的完整路径,则应解决此问题。它看起来像这样:
ANDROID_BIN=/Users/cswjs/Documents/Dev/adt-bundle/sdk/tools/android
或者尝试使用open ~/.bash_profile
修改〜/ .bash_profile到完整路径
export PATH=${PATH}:/Users/cswjs/Documents/Dev/adt-bundle/sdk/platform-tools:/Users/cswjs/Documents/Dev/adt-bundle/sdk/tools
使用cordova create foo com.example.foo foo
创建名为foo的新项目。确保项目名称应该相同。
希望这可以帮助别人!
答案 6 :(得分:0)
在我的情况下,创建脚本中有很多地方需要删除> null来查看真实日志。我终于解决了我的问题 sudo chown -R sachinsharma~ / .cordova