Mycelium Review WIP
Below Containerfile will build latest commit: (which currently at time of writing this it's the 3.8.9.0 version)
Build with: podman build --rm -t mycelium_build_apk . APK file at: /home/appuser/app/mycelium/wallet-android/mbw/build/outputs/apk/prodnet/release/mbw-prodnet-release.apk
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