I Am upgrading my phonegap project(s) from phonegap 2.9.0 to the latest one, phonegap 3.3.0. Because it has a lot of big improvements.
It's about an android project, but soon to be ios as well
However, I Am struggling with it a few days, and still no working code.
I have done this:
Installed phonegap and creted a new project like the the manual: http://phonegap.com/install/
After this I slowly inserted my old code into the www folder and installed the plugins on the new 3.0 way.
But whatever I do... I get this annoying:
Error initializing Cordova: Class not found
Because I used to run it in eclipse and use this debugging console (And did not find out how tot get the debuging from the cli to work... some more investigation to do there), I tried to get it working in eclipse.
But there, it does not have the cordova jar, and I can't find it anywhere. I used to add the cordova-2.9.0.jar to the build path, but there is no cordova-3.3.0.jar. I saw an answer abouyt creating it yourselve: but this was later remarked as not the proper way (ans since in no phonegap documentation this is mentioned... i cannot imagine that's the way)
In eclipse, this is causing the error: import org.apache.cordova.*;
So like I said... no cordova jar... hwo do you resolve this?
So a few questions all at once...
None of the related questions gave a solution for me...
Edit I was just going add, the steps in more detail, like I floowed this step: http://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface
but than I noticed... this command:
sudo npm install -g cordova
which I thought I had done, but I had done:
sudo npm install -g phonegap
But this does not make any difference.
Running it with: `
phonegap run android -V --device
`Gives:
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Compiling app on platform "android" via command "/Path to my app/platforms/android/cordova/build"
[phonegap] Platform "android" compiled successfully.
[phonegap] successfully compiled Android app
[phonegap] installing app onto device
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Running app on platform "android" via command "/Path to my app/platforms/android/cordova/run" --device
[phonegap] Platform "android" ran successfully
but still gives the error as before. And in eclipse still need to add the cordova jar, which is nowhere to be found..
Edit 2
I created a new project, just to see what happened when adding this to eclipse.. and it seemed to work. So I removed the project from ecplise... and added it (floowing the phonegap docs for thsi: new android project; Add from existing code). And now it creates a new jar named - cordova-lib.jar in the folder platforms/CordovaLib/bin
and this seems to work for eclipse... still the same error in the cli run command. But now I can try to run it from eclipse and find out more... (I will post it as soon as I find out what is the error)
Edit 3
running it in eclipse shows the error (weird that this is not shown in the -V mode of phonegap):
01-05 09:04:16.557: D/CordovaLog(698): file:///android_asset/www/phonegap.js: Line 1544 : Could not find cordova.js script tag. Plugin loading may fail.
01-05 09:04:16.567: I/Web Console(698): Could not find cordova.js script tag. Plugin loading may fail. at file:///android_asset/www/phonegap.js:1544
But why isn't this js file there....
EDIT 16-jan-2014
This is becoming a popular question too look at. So I am not the only one struggling with phonegap 3.x And here is another yet unsolved question: https://stackoverflow.com/questions/20953653/config-xml-phonegap-3-3-0-ignores-name-and-description
EDIT 21-jan-2014 Important note (see a lot of questions about this): the config.xml in the blueprint www folderis not the same as described in the phonegap docs. It has another schema, and is the blueprint for both the config.xml per platform, as a lot of other things and files (androoid manifest xml files, icons etc.). Unfortunately I have not found a proper description (besides the schema) of this config.xml file (only a good descrition of the platform dependent targets config.xml file) in the phonegap docs yet. And it is very confusing they choose the same name for a very different file...
EDIT 12-feb-2014 This might be helpfull... since I still cannot find a proper description of this so called blueprint config.xml on the phonegap pages: https://github.com/phonegap/phonegap-start/blob/master/www/config.xml
Edit 5 may 2014
Due to all problems in phonegap, the benefits of the principle behind phonegap has gone for me. (I still believe in potential phonegap can be the solution... but for now it's to premature). So I Am sorry i have to leave the phonegap path. I let this answer open for the ones still searching for answers... but do not expect any answers or the 'acceptance of the right answer' from me.
Apache Cordova versus Adobe PhoneGap The same is true here: Cordova is the open source version of the framework, while PhoneGap is the Adobe-branded version.
Update Cordova CLI, cordova Then compare the returned version number to the output of npm info cordova version (You can also check manually for the newest available version on npm or GitHub). Run cordova -v again after the update to make sure the update worked and it now returns the current version.
We have integrated the Android 12 SplashScreen API including the compatibility library into the core of the Cordova-Android platform to provide support for Android API 22+.
Because it kept complaining about the classes not being found, I suspected this was about the plugin classes. So I removed them all and reisntalled them, now it's working.
Remove all plugins and reinstall them
phonegap plugin list
[phonegap] org.apache.cordova.camera
[phonegap] org.apache.cordova.console
[phonegap] org.apache.cordova.device
[phonegap] org.apache.cordova.device-motion
[phonegap] org.apache.cordova.device-orientation
[phonegap] org.apache.cordova.dialogs
[phonegap] org.apache.cordova.file
[phonegap] org.apache.cordova.file-transfer
[phonegap] org.apache.cordova.geolocation
[phonegap] org.apache.cordova.inappbrowser
[phonegap] org.apache.cordova.media
[phonegap] org.apache.cordova.media-capture
[phonegap] org.apache.cordova.network-information
[phonegap] org.apache.cordova.splashscreen
phonegap plugin help
for all installs I did this (I couldnot find a * to deinstall them all at once)
phonegap plugin remove org.apache.cordova.device
and after that I reinstalled them, so for all plugins:
phonegap plugin add org.apache.cordova.device
This did the trick for me....
Edit
By the way, a few days later I found out that in case you run things in eclipse. You should add 2 projects. One of the complete project (as a general project, not android). There you can edit the code in the blue print WWW folder. And after editing, you run the cli (command line interface) command: 'cordova build' and than you can run it from the second project (you add the platforms/android folder as a android project, using add from existing code).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With