Twitter: raymondcamden


Address: Lafayette, LA, USA

PhoneGap 3.0 Released - Things You Should Know

07-19-2013 67,023 views Mobile, JavaScript 94 Comments

Today at PhoneGap Day version 3.0 was released. This is a pretty significant release in terms of the underlying architecture and there are some things you should know.

First - let's start with a few links you should read:

Adobe PhoneGap 3.0 Released
What's New in Cordova iOS 3
Introducing Cordova 3 for Android

Second - there is a new command line tool you will use (or can use I should say, the cordova-cli still works), phonegap. The installation for this is rather trivial if you've got npm already installed:

sudo npm install -g phonegap

This may seem obvious, but phonegap cli is different from cordova cli. Be sure to use the built-in help and sniff around a bit so you see how it does things compared to cordova. This shouldn't take more than a few minutes and you will probably trip up a few times. Thank you, muscle memory.

One of the coolest aspects of the new command line though is that it fully supports PhoneGap Build. What this means is that you can use the command line to build via your terminal with and without the SDKs. Or heck, even if you do have the SDKs and want to use PhoneGap Build, the new PhoneGap cli makes this trivial.

Another useful feature is that if you run phongap as is, you get a quick checklist of what SDKs/platforms you can use locally:

OK - READ THIS CAREFULLY

This is the number one thing that I think will trip people up. One of the new things in PhoneGap 3 is a revised plugin architecture. All of the previously core features, like the Camera for example, are plugin based.

When I realized this, my first question was whether a virgin project would include support for the core stuff and expect developers to strip things out (if they cared) or if you would need to implicitly add in support for what you want to use.

Turns out - you need to add in what you want to use. What does that mean practically? As an example, if you try to use navigator.camera.getPicture it will fail with the "out of the box" project made at the command line.

To fix this you can add in the plugin of course. This takes two seconds and can be done via the CLI. This may not be very clear via the docs. First, the command line docs do talk about the core features as plugins and give you the commands to use... but for cordova, not phonegap.

So as an example, this is the cordova way to add the plugin: cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git

And this is how you would do it via phonegap: phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git

The net result is that when you start your PhoneGap project, you will want to think ahead of time about the features you need - the previously "just there" features - and add them via the CLI. (As an FYI, it is super easy to remove these plugins too. So if you added the Camera and realize you don't need it, you can quickly remove it.)

For a full list of these plugins, see below. I copied this directly from the link above, so it may change, so please see the link for the most up-to-date version.

Basic device information:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

Network and battery status:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git

Accelerometer, compass, and geolocation:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git

Camera, media capture, and media playback:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git

Access files on device or network:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git

Notifications via dialog box or vibration:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git
https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git

Contacts:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git

Globalization:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git

Splash Screen:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git

In-app browser:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

Debug console:
https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git

p.s. I've not no idea what the debug console is. Going to research.

94 Comments

  • Demas #
    Commented on 07-20-2013 at 5:09 PM
    Shorten url for repo would be nice :)
  • Tony Hursh #
    Commented on 07-20-2013 at 6:17 PM
    Agreed. It should just default to https://git-wip-us.apache.org/repos/asf/ unless another prefix is specified.

    It'd also be nice if it recognized the Github logins. :-)
  • samy omar #
    Commented on 07-21-2013 at 9:10 AM
    I got an exception when tried to build or run from phonegap CLI
    I followed theses steps:

    I installed NodeJS successfully on my mac os
    on the shell --> $ sudo npm install -g phonegap
    then I tried build the app but I got this exception
    Here is the code sample

    $ phonegap create my-app
    $ cd my-app
    $ phonegap run android
    $ phonegap run android
    [phonegap] detecting Android SDK environment...
    [phonegap] using the local environment
    [phonegap] adding the Android platform...
    [error] An error occured during creation of android sub-project. /bin/sh: /Users/mac/.cordova/lib/android/cordova/3.0.0/bin/create: No such file or directory

    Phonegap version is
    Macs-MacBook-Pro:hello mac$ phonegap --version
    3.0.0-0.14.0
    Any suggestions ?
  • Commented on 07-21-2013 at 12:45 PM
    Not sure. I'd suggest posting to the Google Group. If you get an answer, let us know.
  • pmarsh #
    Commented on 07-21-2013 at 4:08 PM
    Thanks for the article, you mention using :

    $ phonegap local plugin add

    But then list all the plugins using the cordova CLI. Any reason for the switch? Should users be using the phonegap CLI or stick with the cordova one?
  • pmarsh #
    Commented on 07-21-2013 at 4:13 PM
    Nevermind, missed the "I copied this directly from the link above, so it may change"
  • Commented on 07-21-2013 at 4:58 PM
    So to be clear, the plugin list is what you want, not the CLI you see me using there. I'm going to edit the list now and remove that so it is more clear.
  • pmarsh #
    Commented on 07-22-2013 at 8:19 PM
    At first glance the debugger plugin let's you log messages using console.log. Don't want to forget that one!
  • Commented on 07-22-2013 at 8:23 PM
    Yeah, that makes sense. Seems odd we need a plugin for that.
  • Todd Hensley #
    Commented on 07-25-2013 at 8:05 AM
    I'm completely new to PhoneGap, and I'm not totally clear about this.

    When I installed PhoneGap 3 on my Mac (from http://phonegap.com/install/) That gave me the "phonegap" cli, but all the documentation at http://docs.phonegap.com all refers to the "cordova" cli which I don't seem to have.

    Can the two cli tools work side by side? On the same project? How would I get the "cordova" cli?
  • Commented on 07-25-2013 at 11:14 AM
    The docs are still being updated. Yes both can be used - but "typically" you wouldn't need to worry about using both. I'd just use the PhoneGap CLI. I'm finding it simpler and more direct.
  • Adrian Parker #
    Commented on 07-26-2013 at 4:48 AM
    OMG I want to have your babies. I have lost the best part of a day wondering why nothing that touches navigator. works in Phonegap 3 when it worked just peachy in Phonegap 2.9.

    Thank you so much for this post.
  • Commented on 07-26-2013 at 8:36 AM
    @Adrian: Heh, you are most welcome. :)
  • Commented on 07-27-2013 at 11:30 AM
    Thanks for the tutorial. I have a question just in case you came across same thing. on installing phonegap with npm I got the [warning] missing library cordova/android/3.0.0 and indeed after creating an ecplise project org.apache.cordova could not be resolved. Any idea where to get the usual jar file?
  • Commented on 07-27-2013 at 12:16 PM
    After some digging I found a solution to my problem. Just in case it helps some other person (asuming apache ant and phonegap relating things have all been installed):

    1. Change into C:\Users\Cyril\.cordova\lib\android\cordova\3.0.0rc1\framework
    2. Run 'ant jar'
    3. Fix if it fails (most probably JAVA_HOME error - jdk not found)
    4. Change into your project C:\my-app
    5. Delete your project Android platform C:\my-app\platforms\android
    6. Rebuild with phonegap --verbose build android
  • Commented on 07-27-2013 at 12:24 PM
    Thanks for sharing what you found, Cyril. I rarely use Eclipse now for PG development.
  • Commented on 07-29-2013 at 11:46 AM
    Is DW or will it soon be ready for PhoneGap 3 dev?

    What tools do you use?
  • Commented on 07-29-2013 at 12:34 PM
    In theory, DW's use of PGB means that once PGB (PhoneGap Build) supports 3.0 then it should "just work". I don't use DW for PG dev so I can't comment more than that. I use the CLI and my favorite editor - Brackets.
  • milo #
    Commented on 07-30-2013 at 7:17 AM
    I'm having trouble installing plugins using CLI
    if I use:
    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-pl...
    i get error:
    "git" command line tool is not installed: make sure it is accessible on your PATH.
    I managed to install it using:
    $ cordova plugin add device
    but I have no idea how to install Connection plugin.
    Any suggestions?
  • Commented on 07-30-2013 at 8:15 AM
    First - you probably need to install the Git command line anyway.

    Secondly - this post is about the phonegap CLI (well, somewhat), not the cordova CLI.

    Third - the Connection API is documented in the usual place. Did you check there?
  • Juan #
    Commented on 07-31-2013 at 11:42 AM
    Hi there.
    Nice post!
    Can you tell me what is the difference between the phonegap CLI and the cordova CLI.

    I installed tow phonegap apps one using 'phonegap create test' and other using 'cordova create test com.test "HelloWorld"'.
    I see the create a file phonegap.js and cordova.js but they are actually the same.
  • Commented on 07-31-2013 at 1:14 PM
    Currently the best "docs" is at the command line. Type phonegap and then phonegap help X for docs.
  • Commented on 08-05-2013 at 11:47 PM
    Hi there. How about fastcanvas plugin? What is the .git link?
  • barzo #
    Commented on 08-06-2013 at 6:26 AM
    Cyril thanks for the tip.
  • Commented on 08-06-2013 at 6:28 AM
    @RomV: https://github.com/phonegap/phonegap-plugin-fast-c...
  • Erik #
    Commented on 08-09-2013 at 7:49 AM
    Is it possible to make a Phonegap 3 app with push notifications? I don't see any push plugins listed at https://git-wip-us.apache.org/repos/asf
  • Commented on 08-09-2013 at 8:18 AM
    The plugins there are core plugins, stuff for PG core features like globalization (which is broken unfortunately) and other things. It isn't for user submitted plugins.
  • Erik #
    Commented on 08-09-2013 at 8:27 AM
    Ok. Guess I have to wait for this issue to get resovled: https://github.com/phonegap-build/PushPlugin/issue...
  • Commented on 08-09-2013 at 8:28 AM
    To be clear, that appears to be for PGBuild. If you aren't using Build, then it isn't a problem. (If the core plugin itself was updated for PG 3.)
  • Jessica Kennedy #
    Commented on 08-16-2013 at 12:19 PM
    I, also, volunteer to have your babies! Why would they release such a huge change and not make it exceptionally clear what was going on? Thank you!!
  • Commented on 08-16-2013 at 12:38 PM
    Heh thanks Jessica. No need to have my babies - I've got 3 and they were delivered by airplane. ;)
  • Michael #
    Commented on 08-16-2013 at 2:20 PM
    Hello Raymond. Invading your blog again. So I have moved all my development to a Mac since that seems to be what all the PG people are doing. I have been able to create both an Android and an iOS Hello World project. Open one in Eclipse and other in Xcode and they both work. Woohoo.

    My question is in CLI do we add the plugins when we are cd into the individual project folder or does "phonegap local plugin add..." add the plugin to all projects.

    Additionally, if we have existing plugins we are using like Analytics and Push can you point me to where we would add those or even how?

    Thanks for your help.
  • Commented on 08-16-2013 at 2:26 PM
    You are supposed to do it once - not once per platform - and when you build it should do the right thing to copy over. Should.

    "Additionally, if we have existing plugins we are using like Analytics and Push can you point me to where we would add those or even how?"

    Sorry - that I don't know how to do just yet.
  • Michael #
    Commented on 08-16-2013 at 6:08 PM
    Now I just get:

    Me$ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-pl...
    [error] project directory could not be found
  • Michael #
    Commented on 08-16-2013 at 6:22 PM
    I ran from in the project root folder and it worked.
  • Commented on 08-28-2013 at 11:28 PM
    Thanks for the post, it was a big help as I struggled all day to move up to cordova 3. I know you are not an Eclipse person, but what I do not get is why the documentation says to create an Android project from existing code, and use the platforms/android directory as the root of the project (http://cordova.apache.org/docs/en/3.0.0/guide_plat...). In cordova 3 I should be editing the top-level www folder files and using prepare or build to push the entries down to my target platforms no? Seems like I am losing the main advantage of the new process - to edit files in one place?
  • Commented on 08-29-2013 at 6:36 AM
    You are right. Can I ask you file a documentation bug for it at issues.cordova.io?
  • Analytics plugin in Cordova 3.0 #
    Commented on 09-05-2013 at 5:57 AM
    Hi Raymond, I'd really like to know how to install Google Analytics plugin in my Phonegap 3.0 project.

    I can't believe they would just launch a new version and not have this stuff available. Where's the source? Where's the manual? Where's the reference in the docs?

    Thanks for any pointers!
  • Commented on 09-05-2013 at 6:44 AM
    To be clear, plugins like this are NOT built by the PG/Cordova team. They are built by people in the community. You can't blame the PG team for this as it is up to the plugin author to ensure their code works with the latest version.

    I assume your question about the manual/docs are referring to the plugin docs, and again, that is not the responsibility of the PG team. You need to find the plugin home and check there.
  • Analytics plugin in Cordova 3.0 #
    Commented on 09-05-2013 at 6:50 AM
    Fair enough, thanks for the perspective Raymond!

    I agree that 3rd party plugin builders should keep their code up to speed. But what's missing from the Cordova docs is any kind of explanation about how plugins for 3.0 are to be installed. At least, I am assuming that this has changed since Cordova's own plugins (for things like Camera) have been completely redesigned.
  • Commented on 09-05-2013 at 6:55 AM
    I haven't yet done a custom plugin with PG3. It may/should work the same as built in plugins - ie you use the phonegap CLI to install it.
  • Michael #
    Commented on 09-05-2013 at 10:26 AM
    I kind of disagree a little with, "You can't blame the PG team for this as it is up to the plugin author to ensure their code works with the latest version."

    I understand what you are saying, but 3.0 changed so much that the huge repository of plugins that add significant value to using PhoneGap became useless. That doesn't seem like a smart move. It seems PhoneGap could proactively work with these plugins to bring them up to snuff, especially the ones that are used a lot like analytics. Taking the stance of, "hey it's not our problem none of the stuff you use doesn't work" doesn't really help people use PG.

    Doesn't the ratio of plugins updated to 3.0 seem like a sad commentary on what the development community thinks?
  • Commented on 09-05-2013 at 10:41 AM
    I think it depends on how big those changes were. I do not write plugins so I can't comment on how difficult the process was. I'd be happy to hear from any plugin dev who wants to comment on the process. I do develop plugins (well, extensions) for other projects and when the API changes, I try to make changes to ensure my code works. At the end of the day though it is my responsibility.
  • dhwnaik gandhi #
    Commented on 09-16-2013 at 1:37 AM
    is there any possibilities for launching of CORDOVA-3.0.0 AND CORDOVA-3.0.0.JAR ??
  • Commented on 09-16-2013 at 8:54 AM
    I'm sorry but I have no idea what you mean.
  • Qrux #
    Commented on 09-18-2013 at 1:00 AM
    Thank you for your guide. It looks to have been really helpful for many people. I got lucky and found this information elsewhere, but indeed, it is critical to know.

    On the subject of critical-to-know information, I have no idea how to get 3rd party plugins working on 3.0.0.

    I installed plugman. I think I "installed" the plugin I want (BarcodeScanner). And my app stopped working.

    From there, I proceeded to take out all the references to the plugin (the new <feature> tag in the config.xml, the <script> tag that refers to barcodescanner.js). And even then, none of the JS in my app appears to be working. I will keep trying to figure this out.

    In the meantime, is there any place to get good, authoritative--and confirmed--information on using 3rd party plugins with PG-3.0.0? My app is darn near useless without it, and I'd love to see the docs. At the very very least, it'd be nice to know the roadmap for docs.

    On a software engineering note, I disagree that the plugin situation is entirely, as you seemed to imply, in the hands of the plugin devs. Every platform knows it would be immediately dead-in-the-water without 3rd party apps. It's why they have "Early Developer" releases and "pre-launch SDKs" and all other manner of things of this sort. To simply put one's hands up and say that it's someone else's responsibility is a terrifying attitude for a platform to have.

    Imagine if PS or LR immediately broke all their plugin compatibility with a new release without a pre-release period where their plugin developers could make their code work. That'd be pretty appalling. I realize that PhoneGap/Cordova (could someone straighten this naming out, BTW?) is all 2.0/social-media/Millennial dev-style, but on the surface, this seems to be an unhealthy regard for the 3rd party developer community. Until Adobe is writing all the plugin content, it would seem unwise.

    Having said that, I'm sure that wasn't your intent. It just came off callous. I'd appreciate, again, any information you have that would help us all use 3rd party plugins with PhoneGap 3.0.0.

    Thank you.
  • Qrux #
    Commented on 09-18-2013 at 2:19 AM
    Here's an update to my previous post. I was able to resolve some issues, specifically the part where I said "none of the JS in my app appears to be working".

    The recap goes like this. While installing the 3rd party plugin specifically for iOS, I used plugman incorrectly from the command line. Unfortunately, it did not make me aware of the fact that it destroyed my core plugin specification file. This seems like a very very bad side-effect from a possibly common user-error. Seems like some guards would be useful here.

    I discovered this when, out of pure frustration, I switched over to my Git window to change repos (get my mind off the immediate problem). I noticed that a file I was unfamiliar with changed. In that file were all the core plugins I had installed (via phonegap local plugin add ...). And, that file had no entries where the there were entries before. I used Git to restore the file, and...voila! JS is working, and now I'm on the next step, debugging why the barcode scanner isn't working quite right. That may prove to be actual user error.

    I hope this can help someone.
  • Commented on 09-19-2013 at 9:10 AM
    Qrux, I had problems with plugins in 3.0 as well: http://www.raymondcamden.com/index.cfm/2013/9/6/Wo...
  • Commented on 09-24-2013 at 8:00 PM
    About the error
    [error] An error occured during creation of android sub-project. /bin/sh: /Users/mac/.cordova/lib/android/cordova/3.0.0/bin/create: No such file or directory

    I went into the finder and looked for the path, there is a directory "cordova-ios-3.0.0-26df4e2" (I was configuring ios platform, and come across this issue), and the bin directory is in this directory. so I move all file of cordova-ios-3.0.0-26df4e2 into directory 3.0.0, and it works.
  • daryl #
    Commented on 10-09-2013 at 11:37 AM
    Just installed node, ant, jdk, etc.
    Everything works great unitl i try to add plugin.

    C:\test1>phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-pl... -V
    [phonegap] adding the plugin: https://git-wip-us.apache.org/repos/asf/cordova-pl...
    [phonegap] Calling plugman.fetch on plugin "https://git-wip-us.apache.org/repos/asf/cordova-pl..."" target="_blank">https://git-wip-us.apache.org/repos/asf/cordova-pl...;
    [error] Error fetching plugin: Error: failed to get the plugin via git from URL https://git-wip-us.apache.org/repos/asf/cordova-pl..., output: Cl
    oning into 'plugman-tmp1381333976632'...
    fatal: unable to access 'https://git-wip-us.apache.org/repos/asf/cordova-pl.../" target="_blank">https://git-wip-us.apache.org/repos/asf/cordova-pl...': Failed connect to git-wip-us.apache.org:443; No error

    Have tried numerous variations. All fail.
    phonegap can connect over https without any issues. It successfully connects and downloaded a missing package. I believe this means it can get through our proxy server OK.

    Any help would be greatly appreciated.
  • Commented on 10-09-2013 at 3:03 PM
    Are you on VPN? My corporate VPN blocks access to some Git servers.
  • Analytics plugin in Cordova 3.0 #
    Commented on 10-10-2013 at 12:27 AM
    Figured one easy way: ignore the "installation" process for plugins, and just download the files, then place them in the right subdirs.

    platforms/android/src/com/org/apache/cordova/plugin/
    platforms/ios/MyAppName/Plugins/org.apache.cordova.plugin/

    Both these folders are siblings of folders that contain the native plugin, but this folder will be the one where you put all your custom plugins.

    Then, for Android, add a "feature" to the config.xml file, but not the one in /www.

    The correct folder is:
    platforms/android/res/xml

    In my case, the feature is called SoftKeyBoard. The format of the feature is as follows (it uses the Java filename):

    <feature name="SoftKeyBoard">
    <param name="android-package" value="org.apache.cordova.plugin.SoftKeyBoard" />
    </feature>

    I haven't repeated this step for iOS, but using your powers of deduction you might get quite far.

    Good luck!
    Wytze
  • daryl #
    Commented on 10-10-2013 at 8:42 AM
    Hi Ray,

    I am not on a VPN.

    We discovered yesterday that the git clone can download the packages without issue. We can then use phonegap to add the local packages without issue.

    I believe the problem is in the scripting that phonegap uses to access the packages through https.

    In any event, we have documented the process for internal use and can move forward with our migration project.

    Thanks for the blog. It is helpful to understand how others solve their problems.

    Daryl
  • Commented on 10-15-2013 at 6:49 PM
    after I run this two command lines:
    phonegap local plugin add https://git-wip-us.apache.org/...
    phonegap local plugin add https://git-wip-us.apache.org/...
    the plugins folder is still empty! How can I know if the plugins added? is there any changes at config.xml should appears?
  • Commented on 10-15-2013 at 8:59 PM
    Did you see any errors? Any result at all after running the command?
  • J. Blake Harris #
    Commented on 10-16-2013 at 1:02 AM
    I'm at the end of my rope. I've rebuilt both Phonegap and Cordova 3.1.0 projects repeatedly in Xcode 5, and everything is great except sound. I've tried the Media plugin and LowLatencyAudio and they both freeze without any error codes, with MP3s and MP4s. My question is do some plugins such as the CDVSound (Media plugin) require other plugins? Nothing at all is being logged so I am assuming the file can't be located for some reason.
  • Commented on 10-16-2013 at 8:39 AM
    Both of those plugins may not be updated for 3.0. Have you checked with their authors? I hate to sound like I'm saying "Go away", but technically, for stuff like this, external plugins, your best option is to always check with the individual authors.

    Also - check with my coworker and buddy Andrew Trice (http://www.tricedesigns.com/), I spoke with him a few days ago and he was doing something with an audio plugin. I don't know if it is the exact same plugin, but it may be related.
  • J. Blake Harris #
    Commented on 10-16-2013 at 10:10 AM
    The CDVMedia plugin is not an external plugin.

    My question was really if some of the plugins could be broken without other plugins. Could the CDVMedia plugin fail to locate a resource because the CDVFile plugin is not installed, for example.

    Thanks.
  • Commented on 10-16-2013 at 10:15 AM
    I'm sorry J, I didn't recognize the name. I think you are absolutely right - that it may need the file plugin. Obviously it should be quick to test, right?
  • J. Blake Harris #
    Commented on 10-16-2013 at 10:25 AM
    That is where I am now. The CDVFile plugin has about 20 javascript files and not a lot of documentation. Thanks again.
  • Commented on 10-16-2013 at 1:09 PM
    I'm using Windows 8, and when I put this at command:
    phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-pl...
    I got this :
    Error fetching plugin: Error: "git" command line tool is not installed: make sure it is accessible on your PATH.
    somebody says that I've to download git:
    http://git-scm.com/download/win
    but the same result at output.
  • Commented on 10-16-2013 at 1:14 PM
    continue:
    when I put
    local plugin list
    nothing appears
  • Commented on 10-16-2013 at 4:39 PM
    After you downloaded git, did you remember to rerun the plugin add call?
  • Commented on 10-17-2013 at 4:03 AM
    yes I tried
    this is an image:
    https://d2r1vs3d9006ap.cloudfront.net/s3_images/97...
  • Commented on 10-17-2013 at 5:46 AM
    It looks like you did not install Git correctly. I'd do so again. If you can't type "git" in your command window and not get an error, then you aren't ready yet.
  • Krish #
    Commented on 10-22-2013 at 4:59 AM
    Hi,
    Struggling a bit to get an app running on Ripple emulator with PhoneGap 3.0 - it's not calling the deviceready event. Any suggestion?
    Kind Regards, Krish
  • Commented on 10-22-2013 at 5:01 AM
    Ripple is currently broken for PG 3 (well, PG2.7 and higher). I'm on the developer list (it is an open list at Apache) and an update is coming soon. When it does - I'll blog here.
  • Paul de Jong #
    Commented on 11-06-2013 at 4:27 AM
    Don't know if this has been posted yet but adding plugins can be done without full git repo urls as follows:

    phonegap local plugin add org.apache.cordova.file

    lookup de plugin id (e.g. org.apache.cordova.file) at http://plugins.cordova.io/

    Works great, just like a package manager!
  • Michael #
    Commented on 11-06-2013 at 10:53 AM
    I don't get the organization of http://plugins.cordova.io It just seems like anyone can add whatever in there. Like what is error: forbidden or com.zjf?
  • Commented on 11-06-2013 at 12:58 PM
    Michael, I believe the developers are working on some updates to the site to make it a bit more sensible.
  • samy omar #
    Commented on 11-08-2013 at 12:47 PM
    replying to my post above, I have fixed my issue buy uninstalling node from my mac then reinstalled it again following thes instructions
    http://stackoverflow.com/questions/11177954/how-do...

    I dont know exactly where is the root cause, but I think it was an issue in the node.js cashing for phonegap.
  • Charan Giri #
    Commented on 02-10-2014 at 10:37 PM
    I'm an iOS developer, new to phone gap i have followed Cordova cli , when i try to add android platform i get below error , how to fix it i struck here for last 2 days can you help me with this please.


    cordova platform add android
    Error: ENOENT, no such file or directory '/Users/charan.pathapati/.cordova/lib/android/cordova/3.3.0/VERSION'
    at Object.fs.openSync (fs.js:427:18)
    at Object.fs.readFileSync (fs.js:284:15)
    at /usr/local/lib/node_modules/cordova/src/platform.js:257:42
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:821:14
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)
    at Function.Module.runMain (module.js:499:11)


    $ cordova emulate android

    Error: The provided path "/Users/charan.pathapati/hello/platforms/android" is not an Android project.
    at Object.android_parser (/usr/local/lib/node_modules/cordova/src/metadata/android_parser.js:37:15)
    at /usr/local/lib/node_modules/cordova/src/prepare.js:50:23
    at Array.map (native)
    at Object.prepare (/usr/local/lib/node_modules/cordova/src/prepare.js:48:35)
    at /usr/local/lib/node_modules/cordova/src/emulate.js:93:42
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
  • Commented on 02-11-2014 at 3:36 PM
    I assume you've followed everything in the platform guide, right?
  • Michael #
    Commented on 02-13-2014 at 2:16 PM
    Here is an odd one.

    I ran a Cordova update and now see:
    cordova -v
    3.3.1-0.4.2

    I go into a project root folder and do:
    cordova platform update ios
    ios updated to 3.3.0

    Um.....?
  • Commented on 02-13-2014 at 2:21 PM
    *boggle* got me there. Report it on the Google group?
  • Commented on 02-18-2014 at 12:47 PM
    Hi Raymond
    I have problem with the recent cordova version.Previously i mde cordova projects from th bin folder and any kind of plugins through cordova plugin add and phonegap local plugin add command.But not when i create a project in new cordova version it includes many extra folders and a cordovaLib folder dependency which is creating the problem i think.

    And for push plugin previously i used phonegap but now when it is showing project folder not found.
    So i don't know what is going on after the updation of cordova and phonegap.Can you help me out.

    Thanks in advance
  • Commented on 02-19-2014 at 2:28 PM
    @Satyanarayan - I honestly don't understand what you are saying. When I use cordova create, I get folders: hooks, merges, platforms, plugins, and www.
  • Commented on 02-19-2014 at 10:11 PM
    @Raymond i am extremely sorry for my confusing questions.but i got my issue and degrade my phonegap and cordova version so that now i can install plugins easily through command line.
    But one thing i marked in cordova 3.3 is it creates a .staging folder and cordovaLibs folder within platform>android folder which was not there in case of cordova 3.2.

    i suspect about that .staging folder which is creating the bugs.So can you tell me about the new .staging folder

    Thanks
  • Commented on 02-20-2014 at 4:31 PM
    Not sure what to say - when I make a new Cordova project I only see what I told you above.
  • Eni #
    Commented on 03-13-2014 at 11:52 AM
    When I try to install the plugin in my cordova project i get the following error :
    Error: Command failed: Cloning into 'C:\Users\Enedia\AppData\Local\Temp\plugman-tmp1394732645631'...
    fatal: unable to access 'https://git-wip-us.apache.org/repos/asf/cordova-pl...': Could not resolve proxy: proxy
    I am trying to test it locally, so what should be the proxy settings?
  • Commented on 03-13-2014 at 3:53 PM
    It sounds like git is failing to load the repo. Do you have a firewall?
  • Eni #
    Commented on 03-13-2014 at 5:34 PM
    Yes I have the firewall its active.Should I deactivate it?
  • Eni #
    Commented on 03-13-2014 at 5:45 PM
    firewall is not the issue because i disabled it and I still get the same error. :/
  • Eni #
    Commented on 03-13-2014 at 7:01 PM
    nevermind, i fixed it with this command git config --global --unset http.proxy
    thanx :)
  • Commented on 03-13-2014 at 8:36 PM
    I like how you thank me even though you fixed it yourself. ;) Seriously though - thanks for sharing what worked for you!
  • Mitresh Joshi #
    Commented on 04-03-2014 at 12:04 AM
    when i add a plugin via CLI it gets added in the plugin folder which is a subdirectory under "myapp" folder. However there are two www folder. One under "myapp" and other is created under platforms/ios/www/plugins. for example when i add device plugin, the Device.m and .h files are actually under myapp/plugins/src/ but under xcode on the left panel under plugins it shows both the files as red (not found) cos the path they pick is myapp/platform/ios/www/plugin

    plugins are added automatically under myapp/plugins/, but then why xcode is pointing to the plugin folder under platforms/ios.

    also the index file under platforms/ios is considered, then why it creates www outside as well under myapp/www
  • Commented on 04-03-2014 at 5:40 AM
    "owever there are two www folder. One under "myapp" and other is created under platforms/ios/www/plugins"

    I do not see this. I do see a www folder under the root of my project. I do not see a www folder under /platforms/ios/www/plugins. Instead I see the plugin folder. Maybe you misspoke?

    "also the index file under platforms/ios is considered, then why it creates www outside as well under myapp/www"

    This makes absolutely no sense to me.

    Best I can suggest is ensure you are running the latest Cordova. It works for me, and has for a while now.
  • Rafael Cereceda #
    Commented on 04-07-2014 at 7:00 AM
    Hi Raymond,
    First of all, thanks for all your good work.
    I've made an app in Cordova 2.9 for iOS and Android. In each of them I used some specific features for each platform. For instance, I've included Google Analytics in both platforms but with a different way of doing it. And, in Android I customized the main activity so I could access to preferences in a native way... things like that. But in both versions, the www folder contains the same files, so when I wanted to modify something in the html/javascript code, I had to copy it to the www folder of the other platform,...

    With the new structure of Cordova, I guess that the way of working with it should be:
    1. Create a new app.
    2. Place your html/javascript code in the www folder of the app.
    3. Build the app for each platform you want.
    4. Customize each platform.

    Now, I'd like to know how would be the process from that point, when I only want to update my html/javascript code (Have I to do it only in the main www folder? or, in each of the platform www folder?), without losing the changes in the customized "native" code of each platform.

    I hope the question would be clear enough. If not, just let me know it.
    Thank you very much in advance,
    Rafael
  • Commented on 04-07-2014 at 7:06 AM
    What about using the merges folder? This is documented here - http://cordova.apache.org/docs/en/3.4.0/guide_cli_...
  • Rafael Cereceda #
    Commented on 04-07-2014 at 9:08 AM
    Thanks for your quick response!

    It's not exactly what I was thinking of. It customizes the code in the main www folder for each platform and what I want is to update all of each platform www folder with the same content, but preserving the Java code I've modified in the Android/iOS platform files.

    Reading the site you mentioned, raised another question or, prehaps, the same question: The command "cordova platform update android",
    is only used to upgrade to new versions of Cordova?
    can it be used to copy the files in main www folder (with the correspondent differences made through "merges" ) to each platform ones?
    how does it affect to the changes I've made in the Java files for each platform?
  • Commented on 04-07-2014 at 9:32 AM
    I think you are right about merges, and if so, sorry for the misdirect there. If you are planning on customizing your platforms, you may want to skip using the cordova CLI to do builds as it will blow away your mods. You could write your own shell script to copy just the www bits perhaps?

    "The command "cordova platform update android",
    is only used to upgrade to new versions of Cordova?
    can it be used to copy the files in main www folder (with the correspondent differences made through "merges" ) to each platform ones?"

    Um, I believe the answer to the first one is yes. For the second one, I don't think it works that way.
  • Rafael Cereceda #
    Commented on 04-07-2014 at 12:22 PM
    Raymond, thanks a lot for your interest and your answer. It gives me a hint of what can I expect and what I shouldn't do... I'll keep looking for an answer to my last question, because the it bothers me the possibility of missing all I've done, in the platform level, when upgrading to a new version of Cordova.

    Thanks again!
  • Commented on 06-08-2014 at 5:41 PM
    Hello,
    I am creating an app and adding the https://build.phonegap.com/plugins/261 plugin.
    but I cant use when I try with "phonegap developer app"

    I am using build service, but after that I want to make local test with phonegap developer app what should I do?
  • Commented on 06-08-2014 at 6:57 PM
    Custom plugins (ie, outside the core) are not supported.

Post Reply

Please refrain from posting large blocks of code as a comment. Use Pastebin or Gists instead. Text wrapped in asterisks (*) will be bold and text wrapped in underscores (_) will be italicized.

Leave this field empty