"cordova platform add android"失败并出现意外错误



我正在尝试在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"解决了这个问题。

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

MyAppName<name>

在我的例子中,使用debian喘息,示例来自:http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-第%20行接口无法使用此错误:

[错误:创建android子项目时出错。出现意外错误:"$android_BIN"create project--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.exampleHelloWorld

确保您的包和项目名称是正确的,遵循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

或者尝试使用open ~/.bash_profile将~/.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~/.codova

最新更新