-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failures, how to compile the app in linux container? #16
Comments
Hi! Thanks for reaching out and the research. We're really close to officially supporting reproducible builds, our next release will include it. It will include better instructions and a (Disclaimer: I haven't run your steps, but the errors look eerily similar to the ones I had when crafting the Dockerfile)
|
BTW, the release should be in the next few days! If you have any feedback once it's out I'd love to hear it. |
Thanks, it's kinda worked, shame that I didn't try the
and then
but
and many many other warnings, which you should take a look at if they happen on the soon to be released version. The resulted APK is not reproducible (diffs in PNG files & resources.arsc & classes.dex & classes2.dex) |
There is now Dockerfile in FROM frolvlad/alpine-glibc
RUN set -ex; \
apk update; \
apk add --no-cache \
openjdk11 \
bash \
git \
go; \
adduser -D appuser;
USER appuser
ENV ANDROID_SDK_ROOT="/app/sdk" \
ANDROID_HOME="/app/sdk"
COPY --chown=appuser:root . /app/munn/
RUN set -ex; \
mkdir -p "/app/sdk/licenses"; \
printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "/app/sdk/licenses/android-sdk-license"; \
cd /app/sdk/; \
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip; \
unzip commandlinetools-linux-6858069_latest.zip; \
rm commandlinetools-linux-6858069_latest.zip; \
/app/sdk/cmdline-tools/bin/sdkmanager --sdk_root=/app/sdk/ --install "ndk-bundle" "platforms;android-28";
WORKDIR /app/munn/
ENV ANDROID_NDK_HOME="/app/sdk/ndk/22.0.7026061/" \
PATH="$PATH:/usr/lib/jvm/java-11-openjdk/bin/:/home/appuser/go/bin"
RUN set -ex; \
mkdir -p /app/munn/android/apollo/libs; \
./tools/bootstrap-gomobile.sh; \
./tools/libwallet-android.sh; \
./gradlew :android:apollo:libwallet; \
./gradlew :android:apolloui:assembleProdRelease; APK file will be in: |
Tried to build the latest commit and check if the build is reproducible & if not what the diff are.
Containerfile used is:
Run:
git clone https://github.com/muun/apollo --depth 1 cd apollo
Add above Containerfile, Run:
podman build --rm -t munn_build_apk . podman run --rm --name munn_built_apk -ti munn_build_apk
Then running
./tools/libwallet-android.sh
result in error:running: (from README.md)
GO111MODULE=off go run golang.org/x/mobile/cmd/gomobile bind -target=android -o android/apollo/libs/libwallet.aar github.com/muun/muun/libwallet
result in:So then running
go get golang.org/x/mobile/cmd/gomobile
and trying above command again, result in error:also running
./gradlew :android:apollo:assembleProdRelease
result in error (from: #12)but running
./gradlew assembleRelease
works, and fail with libwallet error:What is needed in order to compile the app, can you publish a Containerfile/Dockerfile?
The text was updated successfully, but these errors were encountered: