Version 24 (modified by Fran Boon, 4 years ago) ( diff )


Development Environment

Table of Contents

    Eden Mobile is built on the Apache Cordova platform (sometimes known as Adobe PhoneGap).

    1. Cordova runs on NodeJS. If your OS distribution does not provide a NodeJS bundle, you can get one from here:
    1. Use the NodeJS package manager npm to install Cordova (9.0.0 currently):
    npm install -g cordova 

    See also:

    1. If you want to build and test EdenMobile, you also need
    1. You can fork/clone EdenMobile from here:

    For some reason sqlite-native-driver.jar is not in the repo, so download from:

    & extract this to plugins\cordova-sqlite-storage\node_modules\cordova-sqlite-storage-dependencies\libs

    1. Run the application
    • You cannot run in the 'browser' platform as it doesn't support the local database
    • It is easier to run on a real device than the emulator
    • to run on a real device, you need to enable 'Developer Options' by tapping 7 times on the 'Build Number' in the About section ( and then open the new Developer Options panel & enable USB Debugging to allow access in Chrome's Developer Tools (More | Remote Devices | Inspect) NB Do NOT 'reconnect dev-tools' when reinstalling, close window & 'inspect' again, otherwise you will have lots of browser windows left open)
    • to run on emulator you need to create an avd: android avd
      cd eden_mobile
      npm install q-io
      cp default.config.xml config.xml # or <appname>.config.xml
      cordova platform add android
      cordova plugin add cordova-sqlite-storage # Reinstall needed for some reason (even though 'cordova plugin' shows it installed)
      # Needed on some platforms anyway, on others just to clear data, when-desired:
      adb uninstall org.sahanafoundation.eden_mobile # or org.sahanafoundation.eden_mobile.<appname>
      cordova run android # Builds apk & adb install platforms\android\build\outputs\apk\android-debug.apk
    1. Accessing your developer PC's version of Sahana Eden.

    Uisng Chrome Tools' Port Forwarding, you can redirect e.g. localhost:8000 on the Android device to localhost:8000 on your Developer PC when connected via USB. This allows you to use that in your Sync Settings.

    1. jshint is a tool recommended to ensure Code Quality:

    npm install -g jshint

    Suggested .jshintrc attached (store in the folder just up from eden_mobile):

    1. Some developers may have problems with settings being retained even when uninstalled due to cloud backup (, in which case adjust platforms/Android/AndroidManifest.xml:
      <application android:allowBackup="false"
    1. Currently only Android 6.0 Marshmallow,or later, is supported. Configure the targeted platform in platform/android/
      # 6.0 Marshmallow

    Cordova still supports down to 4.4 KitKat:
    However, many of our plugins require a minimum of Build.VERSION_CODES.M (i.e. Marshmallow)

    Attachments (1)

    Download all attachments as: .zip

    Note: See TracWiki for help on using the wiki.