You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
SomberNight dd7b356fcc
kivy wizard: fix #5333
7 years ago
..
data android: runtime permission dialog for camera 7 years ago
nfc_scanner fix import error 7 years ago
theming/light remove generated kivy theming 7 years ago
tools buildozer: add tests to exclude_dirs 7 years ago
uix kivy wizard: fix #5333 7 years ago
Makefile android docker build 7 years ago
Readme.md kivy build: test and document that make_locale is to be run first 7 years ago
__init__.py file reorganization with top-level module 8 years ago
i18n.py file reorganization with top-level module 8 years ago
main.kv kivy: use on_state instead of on_release 7 years ago
main_window.py synchronizer: show progress in GUI 7 years ago

Readme.md

Kivy GUI

The Kivy GUI is used with Electrum on Android devices. To generate an APK file, follow these instructions.

Android binary with Docker

This assumes an Ubuntu host, but it should not be too hard to adapt to another similar system. The docker commands should be executed in the project's root folder.

  1. Install Docker

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    $ sudo apt-get update
    $ sudo apt-get install -y docker-ce
    
  2. Build image

    $ sudo docker build -t electrum-android-builder-img electrum/gui/kivy/tools
    
  3. Build locale files

    $ ./contrib/make_locale
    
  4. Prepare pure python dependencies

    $ ./contrib/make_packages
    
  5. Build binaries

    $ sudo docker run -it --rm \
        --name electrum-android-builder-cont \
        -v $PWD:/home/user/wspace/electrum \
        -v ~/.keystore:/home/user/.keystore \
        --workdir /home/user/wspace/electrum \
        electrum-android-builder-img \
        ./contrib/make_apk
    

    This mounts the project dir inside the container, and so the modifications will affect it, e.g. .buildozer folder will be created.

  6. The generated binary is in ./bin.

FAQ

I changed something but I don't see any differences on the phone. What did I do wrong?

You probably need to clear the cache: rm -rf .buildozer/android/platform/build/{build,dists}

How do I deploy on connected phone for quick testing?

Assuming adb is installed:

$ adb -d install -r bin/Electrum-*-debug.apk
$ adb shell monkey -p org.electrum.electrum 1

How do I get an interactive shell inside docker?

$ sudo docker run -it --rm \
    -v $PWD:/home/user/wspace/electrum \
    --workdir /home/user/wspace/electrum \
    electrum-android-builder-img

How do I get more verbose logs?

See log_level in buildozer.spec

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