Android &引用;cordova平台添加安卓系统“;失败并出现意外错误

Android &引用;cordova平台添加安卓系统“;失败并出现意外错误,android,ubuntu,cordova,Android,Ubuntu,Cordova,我试图在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 --p

我试图在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(工具/平台工具)设置了路径变量,并且安装了java和ant


为什么会发生这种情况?如何获取更详细的错误消息?

请确保您的包和项目名称正确无误,并遵循
com.mycompanyname.myappname
格式,不带任何数字或破折号


.

你试过用sudo运行命令吗? 这可能是权限问题

如果仍然无法工作,请尝试使用详细模式运行它,即sudo-d cordova

如果这是由于活动名称空白造成的,请参阅此答案的注释

中报告了一个问题,为此我发送了一个删除空格的请求。

正如@José所说,“hello”示例不起作用,因为不允许使用空格。
将其更改为“HelloWorld”可以解决此问题。

如果使用textEdit打开创建文件(phonegap-2.7.0/lib/android/bin/create),则会有一行列出

ANDROID\u-BIN=“${ANDROID\u-BIN:=$(哪个ANDROID)}”

“哪个安卓”是问题的原因

如果用android工具(SDK)的完整路径替换这一行,应该可以解决这个问题。看起来是这样的:

ANDROID_BIN=/Users/cswjs/Documents/Dev/adt-bundle/sdk/tools/android
或者尝试使用
open ~/.bash\u profile
将~/.bash\u 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的新项目。确保项目名称应相同


希望这能帮助别人

在我的例子中,使用debian wheezy,来自的示例不适用于此错误:

[错误:在创建android子项目期间发生错误。出现意外错误:“$android_-BIN”创建项目--目标$target--路径“$project_-path”--包$package--活动$activity&>/dev/null以1退出 正在删除项目。。。 ]

在添加$JAVA_HOME(JAVA sun,使用openjdk时不起作用)和$PATH之后,andriod sdk路径将指向
../sdk/platform tools:../sdk/tool

我的解决方案是项目名称:

不起作用的示例:

cordova create HelloWorld com.example.hello“hello World”

这是有效的:

cordova create HelloWorld com.example.hello HelloWorld


在我的例子中,create脚本中有很多地方需要删除>null才能看到真正的日志。我最终通过以下方式解决了我的问题
sudo chown-R sachinsharma~/.cordova

删除config.xml中名称标记之间的空格


MyAppName

包名的可能重复项是正确的,我使用的是hello world示例:cordova create hello com.example.hello“hello world”。同样感谢github链接,但他们似乎没有找到解决方案。我试过sudo,但没有帮助。但是phonegap包(lib/android/bin/create)中的创建工具可以工作,所以我现在可以享受html/js应用程序的乐趣。谢谢Ryan和José的回答。如果你使用hello world的例子,我认为其中有一个问题。我只是想复制,发现它试图创建一个以Hello World为名称的活动。。。这是最后一个错误,我必须让它工作。(在权限问题之后)我所做的是,将脚本更改为使用HelloWorld作为活动名称。你是对的,它在没有空格的情况下工作,愚蠢的,愚蠢的事情。对问题或拉动请求发表评论可能是个好主意。。。或者两者都有,所以修复也包括在内。谢谢你,其他答案说要删除空白,只有你的答案说在哪里做