tandroid build: update p4a, buildozer, base ubuntu - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 528c8c674c9c610ec1513c121f73cba51195194d DIR parent 9547a4e60cf4ee8a05a48c96fb8694ff8f3cb767 HTML Author: SomberNight <somber.night@protonmail.com> Date: Tue, 30 Jun 2020 20:18:22 +0200 android build: update p4a, buildozer, base ubuntu also, pull in upstream p4a dockerfile changes https://github.com/kivy/python-for-android/pull/2231 https://github.com/kivy/python-for-android/pull/2218 Diffstat: M contrib/android/Dockerfile | 45 +++++++++++++++----------------- M contrib/android/Readme.md | 2 +- 2 files changed, 22 insertions(+), 25 deletions(-) --- DIR diff --git a/contrib/android/Dockerfile b/contrib/android/Dockerfile t@@ -1,6 +1,8 @@ # based on https://github.com/kivy/python-for-android/blob/master/Dockerfile -FROM ubuntu:18.04 +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME="/opt/android" t@@ -38,10 +40,11 @@ RUN curl --location --progress-bar \ ENV ANDROID_SDK_HOME="${ANDROID_HOME}/android-sdk" # get the latest version from https://developer.android.com/studio/index.html -ENV ANDROID_SDK_TOOLS_VERSION="4333796" -ENV ANDROID_SDK_BUILD_TOOLS_VERSION="28.0.3" -ENV ANDROID_SDK_TOOLS_ARCHIVE="sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip" +ENV ANDROID_SDK_TOOLS_VERSION="6514223" +ENV ANDROID_SDK_BUILD_TOOLS_VERSION="29.0.3" +ENV ANDROID_SDK_TOOLS_ARCHIVE="commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip" ENV ANDROID_SDK_TOOLS_DL_URL="https://dl.google.com/android/repository/${ANDROID_SDK_TOOLS_ARCHIVE}" +ENV ANDROID_SDK_MANAGER="${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME}" # download and install Android SDK RUN curl --location --progress-bar \ t@@ -58,15 +61,15 @@ RUN mkdir --parents "${ANDROID_SDK_HOME}/.android/" \ # accept Android licenses (JDK necessary!) RUN apt -y update -qq \ - && apt -y install -qq --no-install-recommends openjdk-8-jdk \ + && apt -y install -qq --no-install-recommends openjdk-13-jdk \ && apt -y autoremove -RUN yes | "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" --licenses > /dev/null +RUN yes | ${ANDROID_SDK_MANAGER} --licenses > /dev/null # download platforms, API, build tools -RUN "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "platforms;android-24" > /dev/null && \ - "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "platforms;android-28" > /dev/null && \ - "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "build-tools;${ANDROID_SDK_BUILD_TOOLS_VERSION}" > /dev/null && \ - "${ANDROID_SDK_HOME}/tools/bin/sdkmanager" "extras;android;m2repository" > /dev/null && \ +RUN ${ANDROID_SDK_MANAGER} "platforms;android-24" > /dev/null && \ + ${ANDROID_SDK_MANAGER} "platforms;android-28" > /dev/null && \ + ${ANDROID_SDK_MANAGER} "build-tools;${ANDROID_SDK_BUILD_TOOLS_VERSION}" > /dev/null && \ + ${ANDROID_SDK_MANAGER} "extras;android;m2repository" > /dev/null && \ chmod +x "${ANDROID_SDK_HOME}/tools/bin/avdmanager" # download ANT t@@ -96,14 +99,6 @@ RUN apt -y update -qq \ software-properties-common libssl-dev \ && apt -y autoremove -# install kivy -RUN add-apt-repository ppa:kivy-team/kivy \ - && apt -y update -qq \ - && apt -y install -qq --no-install-recommends python3-kivy \ - && apt -y autoremove \ - && apt -y clean -RUN python3 -m pip install image - # build dependencies # https://buildozer.readthedocs.io/en/latest/installation.html#android-on-ubuntu-16-04-64bit RUN dpkg --add-architecture i386 \ t@@ -111,7 +106,7 @@ RUN dpkg --add-architecture i386 \ && apt -y install -qq --no-install-recommends \ build-essential ccache git python3 python3-dev \ libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 \ - libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 \ + libidn11:i386 \ zip zlib1g-dev zlib1g:i386 \ && apt -y autoremove \ && apt -y clean t@@ -140,9 +135,11 @@ RUN chown ${USER} /opt USER ${USER} -RUN python3 -m pip install --upgrade cython==0.28.6 -RUN python3 -m pip install --upgrade pip -RUN python3 -m pip install --user wheel +RUN python3 -m pip install --user --upgrade pip +RUN python3 -m pip install --user --upgrade wheel +RUN python3 -m pip install --user --upgrade cython==0.29.19 +RUN python3 -m pip install --user --pre kivy +RUN python3 -m pip install --user image # prepare git RUN git config --global user.name "John Doe" \ t@@ -154,7 +151,7 @@ RUN cd /opt \ && cd buildozer \ && git remote add sombernight https://github.com/SomberNight/buildozer \ && git fetch --all \ - && git checkout "d0323c165dd5d9aa23d5eb01044474fe006c3420^{commit}" \ + && git checkout "94cfcb8d591c11d6ad0e11f129b08c1e27a161c5^{commit}" \ && python3 -m pip install --user -e . # install python-for-android t@@ -163,7 +160,7 @@ RUN cd /opt \ && cd python-for-android \ && git remote add sombernight https://github.com/SomberNight/python-for-android \ && git fetch --all \ - && git checkout "cef08b92268fe69ef331699c2205cbb091e730f0^{commit}" \ + && git checkout "257cfacbdd523af0b5b6bb5b2ba64ab7a5c82d58^{commit}" \ && python3 -m pip install --user -e . # build env vars DIR diff --git a/contrib/android/Readme.md b/contrib/android/Readme.md t@@ -63,7 +63,7 @@ folder. ## 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}` +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?