build: fastlane setup

Fastlane is a toolkit to automate various processes.
Our first usecase is deploying automatically binaries to the Play store.
fastlane works with a Fastfile containing the different 'lanes'.
This commit adds the first lane:

- beta: sign, zipalign and upload to the Play Store beta channel a
  provided apk

This lane needs two custom 'actions'

- sign_apk: use a provided keystore and key to sign the apk
- zipalign: android tool performing an operation on the apk before
uploading it

These two actions are versioned in the fastlane/actions/ folder.
The deployment to the Google Developer Console is done by fastlane and
accessed is granted using a provided api access file.

Change-Id: Ie89b31f08828809887847178c5116deb06ff6d31
49 files changed
tree: f5fd788136f8b7afc35730f385c2e4cabf926972
  1. .tx/
  2. docker/
  3. ring-android/
  4. .gitignore
  5. .gitreview
  6. build-daemon.sh
  7. compile.sh
  8. configure.sh
  9. COPYING
  10. gen-env.sh
  11. Makefile
  12. README.md
  13. update-translations.sh
README.md

Ring Android

This repository is meant for the porting of Ring to Android.

AppCIPackaging
Download on the Play Store Download on F-DroidBuild StatusBuild Status

Environment

Clone this as a submodule of: https://gerrit-ring.savoirfairelinux.com/#/admin/projects/ring-project to obtain the required Ring daemon source.

You can also manually clone the daemon and override the DAEMON_DIR during compilation

Make sure you have the android-ndk and android-sdk, and you'll want something like this in your .bashrc (or equivalent):

export ANDROID_NDK=$HOME/src/android-ndk
export ANDROID_NDK_ROOT=$ANDROID_NDK
export ANDROID_SDK=$HOME/src/android-sdk-linux
export ANDROID_HOME=$ANDROID_SDK
export PATH=$ANDROID_SDK/platform-tools:${PATH}

install swig-2.0.6 or later and python-2.7 or later on your system

Build instructions

Supported archs are: armeabi-v7a and x86

Example:

ANDROID_ABI="armeabi-v7a x86"

Then:

./compile.sh

If you cloned the daemon in a custom directory (other than ../daemon), you can specify it using an absolute path:

DAEMON_DIR=custom_path ./compile.sh

When all else fails:

git clean -dfx
cd ../daemon (or custom_path)
git clean -dfx

And start again.

Update translations

Update translations using the Transifex client (tx) :

./update-translations.sh

Debugging

Retrieve client log from device (client must be running before executing this)

adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > logring.txt

Common issues

  • Makeinfo issue makeinfo: command not found WARNING: 'makeinfo' is missing on your system. Solution: Install texinfo package containing makeinfo dep.

  • Unable to locate tools.jar Solution: Your java installation is not pointing to a JDK. Install one, or make JAVA_HOME point to it.

  • When building the apk error in build-tools error while loading shared libraries: libstdc++.so.6 Solution: Install lib32stdc++6 lib32z1-dev