简体   繁体   中英

“cordova platform add android” fails with unexpected error

i am trying to install Phonegap on Ubuntu 13.04, i have installed the Android SDK with all available Packages, but running the following command:

cordova platform add android

fails with an unexpected error:

[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...

I have set the PATH Variables for Android (tools / platform-tools) and java and ant are installed.

Why does this happen? How can i get a more detailed error message?

have you tried running command with sudo? it could be a permissions issue.

If still not working, try running it using verbose mode ie sudo -d cordova...

In case this is due to activity name whitespaces, see comments for this answer.

There is an issue reported in https://issues.apache.org/jira/browse/CB-4198 , for which I've sent a pull request to remove whitespaces https://github.com/phonegap/phonegap/pull/39 .

As @José said, the "hello" example doesn't work because spaces are not allowed. Changing it to "HelloWorld" solves the problem.

remove the space in between name tags in config.xml

MyAppName< name>

In my case, using debian wheezy, the example from: http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface does not work with this error:

[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... ]

After adding $JAVA_HOME (Java sun, with openjdk did't work) and $PATH the andriod sdk path to .../sdk/platform-tools:../sdk/tool

The solution in my case was the project name:

The example that doesn't work:

cordova create HelloWorld com.example.hello "Hello World"

THIS works:

cordova create HelloWorld com.example.hello HelloWorld

Make sure your package and project names are correct, following the com.mycompanyname.myappname format without any numbers or dashes.

Here's the issue being tracked by PhoneGap .

If you open up the create file (phonegap-2.7.0/lib/android/bin/create) with textEdit, there is a line that lists

ANDROID_BIN=”${ANDROID_BIN:=$( which android )}” .

The “which android” is the cause of the issue

If you replace this line with the full path to your android tools (SDK), it should resolve the issue. It looked like this:

ANDROID_BIN=/Users/cswjs/Documents/Dev/adt-bundle/sdk/tools/android

OR try modify ~/.bash_profile using open ~/.bash_profile to full PATH

export PATH=${PATH}:/Users/cswjs/Documents/Dev/adt-bundle/sdk/platform-tools:/Users/cswjs/Documents/Dev/adt-bundle/sdk/tools

And use cordova create foo com.example.foo foo to create new project named foo. Make sure project name should be same.

Hope this could help someone!

IN my case there are many places in create script where u need to remove >null to see real logs. and i finally resolved my issues by sudo chown -R sachinsharma ~/.cordova

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM