Changes

Jump to navigation Jump to search
m
Line 1: Line 1: −
This page contains notes regarding the development of the Open Food Facts mobile apps.<br><br>
+
This page contains notes regarding the development of the Open Food Facts mobile apps (Cordova version).<br><br>
 
[https://github.com/openfoodfacts/cordova-app Source code]<br><br>
 
[https://github.com/openfoodfacts/cordova-app Source code]<br><br>
   Line 5: Line 5:     
== Installing Cordova on your machine ==
 
== Installing Cordova on your machine ==
Cordova: http://cordova.apache.org/
+
* Cordova: http://cordova.apache.org/
 
+
* Installing Cordova 3.6 : http://cordova.apache.org/docs/en/3.6.0/guide_overview_index.md.html
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.
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 ==
 
== Installing Node.js ==
Line 29: Line 26:  
<pre>npm install -g cordova</pre>
 
<pre>npm install -g cordova</pre>
   −
cordova -v : 3.6.3-0.2.13
+
<pre>cordova -v : 3.6.3-0.2.13</pre>
    +
Use cordova platform to know which platform you can install.
 +
<pre>cordova platform</pre>
 
Install your platforms
 
Install your platforms
 
<pre>
 
<pre>
Line 37: Line 36:  
</pre>
 
</pre>
   −
* "error android_home is not set and android command not in your path" when doing "cordova platform add android"
+
=== Possible errors ===
 +
 
 +
==== "error android_home is not set and android command not in your path" when doing "cordova platform add android" ====
 +
 
 
**Install Eclipse ADT  (Note : for win8 32bit/64bit install 32bit ADT)
 
**Install Eclipse ADT  (Note : for win8 32bit/64bit install 32bit ADT)
 
**Setup Environment Variables :
 
**Setup Environment Variables :
Line 45: Line 47:  
*** C:\Users\Stéphane\AppData\Roaming\npm;C:\Users\Stéphane\AppData\Local\Android\android-sdk\tools;C:\Users\Stéphane\AppData\Local\Android\android-sdk\tools;C:\Users\Stéphane\AppData\Local\Android\android-sdk\platform-tools
 
*** C:\Users\Stéphane\AppData\Roaming\npm;C:\Users\Stéphane\AppData\Local\Android\android-sdk\tools;C:\Users\Stéphane\AppData\Local\Android\android-sdk\tools;C:\Users\Stéphane\AppData\Local\Android\android-sdk\platform-tools
   −
"error failed to run javac -version make sure"
+
===="error failed to run javac -version make sure" ====
    
Java JDK
 
Java JDK
Line 66: Line 68:  
Run SDK Manager, install Android build tools.
 
Run SDK Manager, install Android build tools.
   −
== Android version code ==
+
== Get the source code ==
 +
 
 +
Clone the Open Food Facts Cordova repository
 +
<pre>git clone https://github.com/openfoodfacts/cordova-app.git</pre>
 +
 
 +
== iOS specific issues ==
    +
== Android specific issues ==
 +
=== 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
 
in config.xml : http://stackoverflow.com/questions/23001780/how-to-get-cordova-3-4-0-to-set-android-version-name-code-on-build
    +
== Cordova plugins ==
   −
=== Install Moodstocks ===
+
* http://plugins.cordova.io/#/package/com.phonegap.plugins.barcodescanner
 +
 
 +
=== Camera, File, File transfer plugins ===
 +
Install the various plugins
 +
<pre>
 +
cordova plugin add org.apache.cordova.camera
 +
cordova plugin add org.apache.cordova.file
 +
cordova plugin add org.apache.cordova.file-transfer
 +
</pre>
 +
 
 +
New names for plugins:
 +
 
 +
<pre>
 +
biz_000@Colibri MINGW64 ~/Desktop/cordova-app (master)
 +
$ cordova -v
 +
6.4.0
 +
 
 +
biz_000@Colibri MINGW64 ~/Desktop/cordova-app (master)
 +
$ cordova plugins
 +
cordova-plugin-barcodescanner 0.7.0 "BarcodeScanner"
 +
cordova-plugin-camera 2.3.0 "Camera"
 +
cordova-plugin-compat 1.0.0 "Compat"
 +
cordova-plugin-file 4.3.0 "File"
 +
cordova-plugin-file-transfer 1.6.0 "File Transfer"
 +
cordova-plugin-whitelist 1.3.0 "Whitelist"
 +
 
 +
</pre>
 +
 
 +
=== Barcode scanning plugin ===
 +
You may also have to install Apache Cordova plugin for barcode scanning.
 +
<pre>
 +
cordova plugin add com.phonegap.plugins.barcodescanner
 +
</pre>
 +
 
 +
=== Moodstocks ===
 +
==== Install Moodstocks ====
    
* 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 not up to date for Cordova 3.6. This might be an up to date 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 95: Line 140:  
</pre>
 
</pre>
   −
== Cordova plugins ==
+
==== Moodstocks Bugs ====
 
  −
* http://plugins.cordova.io/#/package/com.phonegap.plugins.barcodescanner
  −
* https://moodstocks.com/docs/phonegap/using-the-moodstocks-sdk-in-your-phonegap-application/
  −
 
  −
=== Bugs ===
  −
 
  −
2nd scan with Moodstocks:
      +
The following pops up on the 2nd scan with Moodstocks:
 +
<pre>
 
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.
 +
</pre>
 +
-> Problem with jQuerymobile not "exiting" properly from scan when clicking on "Back" ?
   −
-> Problem with jQuerymobile not "exiting" properly from scan when clicking on "Back" ?
+
==== Moodstocks plugin tutorial ====
 +
* https://moodstocks.com/docs/phonegap/using-the-moodstocks-sdk-in-your-phonegap-application/
 +
== Firefox OS ==
 +
[https://openfoodfacts.slack.com/messages/firefoxos See #firefoxos on Slack]
 +
<br>
 +
A port of the app was initiated on Firefox OS. The main issues were with the barcode scanner and the lack of Cordova feature parity for the platform.
   −
=== Import on Google Play ===
+
=== Notes from the Hackathon ===
 +
[[File:Porting Open Food Facts on Firefox OS.011.jpeg|thumbnail]]
 +
[[File:Porting_Open_Food_Facts_on_Firefox_OS.010.jpeg|thumbnail]]
 +
* Hackpad: https://lite5.framapad.org/p/hack@moz
 +
* PDF presentation: [[File:Porting OFF on Firefox OS.pdf]]
 +
* https://github.com/gasolin/qrcode_scanner/
 +
* https://github.com/SunboX/QR-Reader
   −
* "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."
+
=== How to hack it / install it ===
 +
==== Get the source code ====
 +
Clone the Open Food Facts Firefox OS Cordova repository
 +
<pre>git clone https://github.com/openfoodfacts/openfoodfacts-ffos.git</pre>
 +
Github repo with the app debugged during the Hackathon
   −
=== Camera, File, File transfer plugins ===
+
==== Install the App Manager ====
Install the various plugins
+
* https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager
<pre>
  −
cordova plugin add org.apache.cordova.camera
  −
cordova plugin add org.apache.cordova.file
  −
cordova plugin add org.apache.cordova.file-transfer
  −
</pre>
     −
== Firefox OS ==
+
==== Install it on your device ====
   −
* https://developer.mozilla.org/en-US/Firefox_OS/Using_the_App_Manager
+
== Windows Phone ==
* https://github.com/gasolin/qrcode_scanner/
+
See [https://openfoodfacts.slack.com/messages/windowsphone #windowsphone on Slack]
* https://github.com/SunboX/QR-Reader
+
* [http://www.windowsphone.com/fr-fr/store/app/openfoodfacts/5d7cf939-cfd9-4ac0-86d7-91b946f4df34 Listing on the Windows Phone store]
    
== Ubuntu OS ==
 
== Ubuntu OS ==
Separate application and codebase. See #ubuntu on Slack
+
Separate application and codebase. See [https://openfoodfacts.slack.com/messages/ubuntu #ubuntu on Slack]
   −
== Publishing ==
+
== Publishing on App Stores ==
* See [[Project:AppStores]]
+
* See [[Mobile App/AppStores]]
* Contact Stéphane, Vince or Pierre on Slack
      
== May be of interest for future apps ==
 
== May be of interest for future apps ==

Navigation menu