URI: 
       tandroid build: persist debug keystore - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit baa02936207e5fdfbad446bf635d5d032f7cb398
   DIR parent 0fafd8c0a776336d59db1f1effbdbf143e036fc5
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 27 Jun 2019 07:08:03 +0200
       
       android build: persist debug keystore
       
       so that we can upgrade debug installations on the phone and keep the datadir
       
       Diffstat:
         M .gitignore                          |       1 +
         M contrib/make_apk                    |      11 +++++++++++
         M electrum/gui/kivy/Readme.md         |      23 ++++++++++++++++++++++-
         M electrum/gui/kivy/tools/Dockerfile  |       2 ++
       
       4 files changed, 36 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/.gitignore b/.gitignore
       t@@ -30,3 +30,4 @@ contrib/build-wine/tmp/
        contrib/build-wine/fresh_clone/
        contrib/build-linux/appimage/build/
        contrib/build-linux/appimage/.cache/
       +contrib/android_debug.keystore
   DIR diff --git a/contrib/make_apk b/contrib/make_apk
       t@@ -30,6 +30,17 @@ if [[ -n "$1"  && "$1" == "release" ]] ; then
            export P4A_RELEASE_KEYALIAS=electrum
            make release
        else
       +    export P4A_DEBUG_KEYSTORE="$CONTRIB"/android_debug.keystore
       +    export P4A_DEBUG_KEYSTORE_PASSWD=unsafepassword
       +    export P4A_DEBUG_KEYALIAS_PASSWD=unsafepassword
       +    export P4A_DEBUG_KEYALIAS=electrum
       +    if [ ! -f "$P4A_DEBUG_KEYSTORE" ]; then
       +        keytool -genkey -v -keystore "$CONTRIB"/android_debug.keystore \
       +            -alias "$P4A_DEBUG_KEYALIAS" -keyalg RSA -keysize 2048 -validity 10000 \
       +            -dname "CN=mqttserver.ibm.com, OU=ID, O=IBM, L=Hursley, S=Hants, C=GB" \
       +            -storepass "$P4A_DEBUG_KEYSTORE_PASSWD" \
       +            -keypass "$P4A_DEBUG_KEYALIAS_PASSWD"
       +    fi
            make apk
        fi
        
   DIR diff --git a/electrum/gui/kivy/Readme.md b/electrum/gui/kivy/Readme.md
       t@@ -81,13 +81,34 @@ $ sudo docker run -it --rm \
        ```
        
        
       -### How do I get more verbose logs?
       +### How do I get more verbose logs for the build?
        See `log_level` in `buildozer.spec`
        
        
       +### How can I see logs at runtime?
       +This should work OK for most scenarios:
       +```
       +adb logcat | grep python
       +```
       +Better `grep` but fragile because of `cut`:
       +```
       +adb logcat | grep -F "`adb shell ps | grep org.electrum.electrum | cut -c14-19`"
       +```
       +
       +
        ### Kivy can be run directly on Linux Desktop. How?
        Install Kivy.
        
        Build atlas: `(cd electrum/gui/kivy/; make theming)`
        
        Run electrum with the `-g` switch: `electrum -g kivy`
       +
       +### debug vs release build
       +If you just follow the instructions above, you will build the apk
       +in debug mode. The most notable difference is that the apk will be
       +signed using a debug keystore. If you are planning to upload
       +what you build to e.g. the Play Store, you should create your own
       +keystore, back it up safely, and run `./contrib/make_apk release`.
       +
       +See e.g. [kivy wiki](https://github.com/kivy/kivy/wiki/Creating-a-Release-APK)
       +and [android dev docs](https://developer.android.com/studio/build/building-cmdline#sign_cmdline).
   DIR diff --git a/electrum/gui/kivy/tools/Dockerfile b/electrum/gui/kivy/tools/Dockerfile
       t@@ -152,6 +152,8 @@ RUN cd /opt \
            && git cherry-pick d7f722e4e5d4b3e6f5b1733c95e6a433f78ee570 \
               # fix gradle "versionCode" overflow:
            && git cherry-pick ed20e196fbcdce718a180f88f23bb2d165c4c5d8 \
       +       # gradle: persist debug keystore:
       +    && git cherry-pick aaa0d5d0e7a334631df71e0a9bf127817e0ab9ab \
            && python3 -m pip install --user -e .
        
        # build env vars