The Android app can be built on any OS which can run the Android development tools. However, the following automated process is available for Linux x86-64:
If necessary, install Docker using the instructions on its website.
Copy your release key to keystore.jks
in this directory. It must contain a key with the
following configuration:
keyAlias "key0"
keyPassword "android"
storePassword "android"
Run build.sh
. The APK will be generated in release
in this directory.
Between builds it may be helpful to free up disk space with the command docker system prune
.
To start developing the app, just open this directory in Android Studio.
For user interface text, the app uses the standard Android string resource system. The
strings.xml
files are generated by the Gradle task generateStrings
, which in turn calls the
script contrib/make_locale
to obtain strings from elsewhere in the repository and Crowdin.
Android-specific strings should be added to
app/src/main/python/electroncash_gui/android/strings.py
.
generateStrings
is run automatically the first time you build the app, and whenever you edit
strings.py
. If you need to pick up new strings from any of the other source files, run the
task regenerateStrings
.
The Android string IDs are generated from the first 2 words of each string, plus as many more words as necessary to make them unique. So if any of the source strings change, you may need to update ID references in the code.