Mycelium Review WIP
Below Containerfile will build latest commit: (which currently at time of writing this it's the 22.214.171.124 version)
podman build --rm -t mycelium_build_apk . APK file at:
FROM frolvlad/alpine-glibc RUN set -ex; \ apk update; \ apk add --no-cache \ git \ openjdk8; \ adduser -D appuser; USER appuser ENV ANDROID_SDK_ROOT="/home/appuser/app/sdk" \ ANDROID_HOME="/home/appuser/app/sdk" RUN set -ex; \ mkdir -p "/home/appuser/app/sdk/licenses" "/home/appuser/app/mycelium/"; \ printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "/home/appuser/app/sdk/licenses/android-sdk-license"; \ cd "/home/appuser/app/mycelium/"; \ git clone --depth 1 https://github.com/mycelium-com/wallet-android; \ cd wallet-android; \ git clone --depth 1 https://github.com/mycelium-com/wallet-android-modularization-tools.git; \ git submodule update --init --recursive; \ ./gradlew clean :mbw:assProdRel
But the result is not reproducible (diffs in classes*.dex files), the instructions require using disorderfs for reproducible-builds, will try it later with above alpine container and maybe also new one based on debian/ubuntu, thus WIP, will edit later.
Also opened issues in repo:
"Use /bin/sh instead of /bin/bash when possible" - https://github.com/mycelium-com/wallet-android/issues/597 which not affected the compilation as it's worked without bash installed.
"Broken link to direct APK download in README" - https://github.com/mycelium-com/wallet-android/issues/598 APK download link is broken
"Building instructions contain old versions" - https://github.com/mycelium-com/wallet-android/issues/599
"Publish apksigner output" - https://github.com/mycelium-com/wallet-android/issues/600 To verify the downloaded APK signature.
"Website shows older version for google-play & direct download" - https://github.com/mycelium-com/wallet-android/issues/601