Mobile App/Cordova Development Notes: Difference between revisions

From Open Food Facts wiki
No edit summary
No edit summary
Line 2: Line 2:


The current Open Food Facts apps for iOS, Android and Windows Phone use Apache Cordova (previously known as Phonegap).
The current Open Food Facts apps for iOS, Android and Windows Phone use Apache Cordova (previously known as Phonegap).


== Installing Cordova on your machine ==
== Installing Cordova on your machine ==
Line 20: Line 19:




== Install git client ==
== Install Git client ==


* http://git-scm.com/
* http://git-scm.com/
Line 55: Line 54:


which java
which java
--> un vieux java dans C:\Windows\System32 Ă©tait la cause du problĂšme.. :-(
--> an old version of java in C:\Windows\System32 was causing the issue.. :-(


http://stackoverflow.com/questions/24493693/cordova-android-revision-to-low
http://stackoverflow.com/questions/24493693/cordova-android-revision-to-low
Line 70: Line 69:
* https://moodstocks.com/docs/phonegap/using-the-moodstocks-sdk-in-your-phonegap-application/
* https://moodstocks.com/docs/phonegap/using-the-moodstocks-sdk-in-your-phonegap-application/


Instructions pas Ă  jour pour cordova 3.6 on dirait, par contre il y a un autre example :
Instructions pas Ă  jour pour Cordova 3.6 on dirait, par contre il y a un autre example :


* https://github.com/Moodstocks/moodstocks-phonegap-plugin/blob/master/src/android/Demo.java
* https://github.com/Moodstocks/moodstocks-phonegap-plugin/blob/master/src/android/Demo.java
Line 97: Line 96:
=== Bugs ===
=== Bugs ===


2Ăšme scan avec Moodstocks:
2nd scan with Moodstocks:


java.lang.RuntimeException : Unable to start activity ComponentInfo ... The specified child already has a parent. You must call removeView() on the child's parent first.
java.lang.RuntimeException : Unable to start activity ComponentInfo ... The specified child already has a parent. You must call removeView() on the child's parent first.


-> pb de jquerymobile qui "sort" pas proprement du scan lorsqu'on clique sur "back" ?
-> Problem with jQuerymobile not "exiting" properly from scan when clicking on "Back" ?


=== Import sur Google Play ===
=== Import on Google Play ===


* "Vous avez importé un fichier APK qui n'est pas aligné au format zip. Veuillez exécuter un utilitaire d'alignement zipalign sur votre fichier APK, puis le réimporter."
* "You have imported an APK file which is not zip-aligned. Veuillez exécuter un utilitaire d'alignement zipalign sur votre fichier APK, puis le réimporter."


=== Camera, File, File transfer plugins ===
=== Camera, File, File transfer plugins ===

Revision as of 14:34, 9 September 2015

This page contains notes regarding the development of the Open Food Facts mobile apps.

The current Open Food Facts apps for iOS, Android and Windows Phone use Apache Cordova (previously known as Phonegap).

Installing Cordova on your machine

Cordova: http://cordova.apache.org/

Installing Cordova 3.6 : http://cordova.apache.org/docs/en/3.6.0/guide_overview_index.md.html

http://cordova.apache.org/docs/en/3.6.0/guide_cli_index.md.html#The%20Command-Line%20Interface

Following notes are for the Windows Platform, but most of it probably applies for Mac or Linux.

Installing Node.js

Install Node.js


Install Git client

Install Cordova

in git-bash client:

  • npm install -g cordova

cordova -v : 3.6.3-0.2.13

  • "error android_home is not set and android command not in your path" when doing "cordova platform add android"

"error failed to run javac -version make sure"

Java JDK

ANT

"Error: Failed to run "java -version"

which java --> an old version of java in C:\Windows\System32 was causing the issue.. :-(

http://stackoverflow.com/questions/24493693/cordova-android-revision-to-low

Run SDK Manager, install Android build tools.

Android version code

in config.xml : http://stackoverflow.com/questions/23001780/how-to-get-cordova-3-4-0-to-set-android-version-name-code-on-build


Install Moodstocks

Instructions pas Ă  jour pour Cordova 3.6 on dirait, par contre il y a un autre example :

public class Demo extends CordovaActivity {

  private boolean scanActivityStarted = false;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.init();
    // Set by <content src="index.html" /> in config.xml
    super.loadUrl(Config.getStartUrl());
    //super.loadUrl("file:///android_asset/www/index.html")
  }

Cordova plugins

Bugs

2nd scan with Moodstocks:

java.lang.RuntimeException : Unable to start activity ComponentInfo ... The specified child already has a parent. You must call removeView() on the child's parent first.

-> Problem with jQuerymobile not "exiting" properly from scan when clicking on "Back" ?

Import on Google Play

  • "You have imported an APK file which is not zip-aligned. Veuillez exĂ©cuter un utilitaire d'alignement zipalign sur votre fichier APK, puis le rĂ©importer."

Camera, File, File transfer plugins

cordova plugin add org.apache.cordova.camera cordova plugin add org.apache.cordova.file cordova plugin add org.apache.cordova.file-transfer

Firefox OS

May be of interest for future apps