我正在尝试在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。
为什么会这样?如何获得更详细的错误消息?
你试过用sudo运行命令吗?
它可能是一个权限问题。
如果仍然无法正常工作,请尝试使用详细模式运行它,即sudo -d cordova ...
如果这是由活动名称空格引起的,请参阅此答案的评论。
报告中存在一个问题 https://issues.apache.org/jira/browse/CB-4198,我为此发送了拉取请求以删除空格 https://github.com/phonegap/phonegap/pull/39。
正如@José所说,“hello”示例不起作用,因为不允许使用空格。
将其更改为“HelloWorld”解决了这个问题。
在我的例子中,使用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
请确保您的包和项目名称正确无误 com.mycompanyname.myappname
格式没有任何数字或破折号。
这是PhoneGap正在跟踪的问题。
如果用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
或者尝试使用修改〜/ .bash_profile open ~/.bash_profile
完全PATH
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的新项目。确保项目名称应相同。
希望这可以帮助别人!
在我的情况下,在创建脚本中有很多地方你需要删除> null来查看真实的日志。我终于解决了我的问题
sudo chown -R sachinsharma~ / .cordova