resurrect mysu and update monero to v0.18.3.4

This commit is contained in:
- 2024-09-08 13:30:36 +02:00
parent b939d52665
commit 9833adee01
14 changed files with 112 additions and 105 deletions

View file

@ -3,15 +3,14 @@ apply plugin: "androidx.navigation.safeargs"
apply plugin: 'kotlin-android'
android {
compileSdkVersion 34
buildToolsVersion '30.0.3'
ndkVersion '17.2.4988734'
ndkVersion '27.1.12297006'
defaultConfig {
applicationId "net.mynero.wallet"
minSdkVersion 22
targetSdkVersion 34
versionCode 50800
versionName "0.5.8 'Fluorine Fermi'"
compileSdk 34
versionCode 50900
versionName "0.5.9 'Fluorine Fermi'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
@ -114,17 +113,17 @@ static def getId(name) {
dependencies {
// Android stuff
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.2'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.5'
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.5'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.5'
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.8.0'
implementation 'androidx.core:core-ktx:1.13.1'
// Slide to Send tx sliders
implementation 'com.ncorti:slidetoact:0.9.0'

View file

@ -9,6 +9,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name=".MoneroApplication"

View file

@ -36,7 +36,7 @@
<string name="street_mode">Street mode (hide balances)</string>
<string name="option_hide_xmrchan">Show Monerochan</string>
<string name="option_donate_per_tx">Add occasional donation</string>
<string name="option_donate_per_tx_desc">When enabled, there is a 10% chance when sending coins to add a 0.5%-3% donation to Mysu. These transaction fingerprints and donation amounts are randomized to preserve anonymity and privacy.</string>
<string name="option_donate_per_tx_desc">When enabled, there is a 10%% chance when sending coins to add a 0.5%%-3%% donation to Mysu. These transaction fingerprints and donation amounts are randomized to preserve anonymity and privacy.</string>
<string name="display_recovery_phrase">Display wallet keys</string>
<string name="tor_switch_label">SOCKS Proxy</string>
<string name="connection_failed">Failed to connect. Retrying…</string>

View file

@ -1,13 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.9.21'
ext.kotlin_version = '2.0.20'
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.3'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.2"
classpath 'com.android.tools.build:gradle:8.5.2'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.8.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
@ -21,8 +21,8 @@ allprojects {
}
}
task clean(type: Delete) {
delete rootProject.buildDir
tasks.register('clean', Delete) {
delete rootProject.layout.buildDirectory
}
ext {

View file

@ -10,17 +10,17 @@
## Building:
1. Clone the Monero repo required for this app to function. A specific fork for UTXO management is hosted here: http://4hsesnr6mjb4qrflgf5gezjaszzoqnnisin7ywzbsv6pgcxysiaq.b32.i2p/pokkst/monero.git
Clone a specific branch, and shorten I2P download time with `git clone -b release-v0.18.3.1-mysu --single-branch --depth 1 http://4hsesnr6mjb4qrflgf5gezjaszzoqnnisin7ywzbsv6pgcxysiaq.b32.i2p/pokkst/monero.git`
1. Clone the Monero repo required for this app to function. A specific fork for UTXO management is hosted here: https://codeberg.org/anoncontributorxmr/monero
Clone a specific branch, and shorten I2P download time with `git clone -b v0.18.3.4-mysu --single-branch --depth 1 https://codeberg.org/anoncontributorxmr/monero`
2. Change current directory to the monero repo: `cd monero`
3. Update submodules: `git submodule update --init --force`.
4. Then go into the mynero repo folder, then external-libs. Here you need to create symbol link to `monero` folder:
4. Then go into the mysu repo folder, then external-libs. Here you need to create symbol link to `monero` folder:
Linux: `ln -s ~/monero ~/mysu/external-libs/monero`
Windows: `mklink /D "C:\Users\<USERNAME>\mysu\external-libs\monero" "C:\Users\<USERNAME>\monero"`
5. Start Docker and then run `sudo make` in `external-libs` folder. It will fail at end on Windows, but if `wallet2_api.h` exists in `include` folder, the build was successful.
5. Start Docker and then run `sudo make` (with podman sudo is not necessary) in `external-libs` folder. It will fail at end on Windows, but if `wallet2_api.h` exists in `include` folder, the build was successful.

View file

@ -5,7 +5,7 @@
## What features does it have?
- Uses Monero v0.18.3.1
- Uses Monero v0.18.3.4
- Support for Android >= 5.0
- Generate new wallets
- Recover wallets from mnemonic seed

View file

@ -1,36 +1,42 @@
FLAVOUR = monero
NPROC=16
all: arm64-v8a armeabi-v7a x86_64 x86 include/wallet2_api.h VERSION
all: arm64-v8a armeabi-v7a x86_64 include/wallet2_api.h VERSION
debug: arm64-v8a armeabi-v7a include/wallet2_api.h VERSION
arm64-v8a: $(FLAVOUR) android64.Dockerfile
-rm -rf arm64-v8a
-docker container rm $(FLAVOUR)-android-arm64 -f
docker build -f android64.Dockerfile -t $(FLAVOUR)-android-arm64 $(FLAVOUR)
docker build -f android64.Dockerfile -t $(FLAVOUR)-android-arm64 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-arm64 $(FLAVOUR)-android-arm64 bash
mkdir arm64-v8a
docker cp $(FLAVOUR)-android-arm64:/opt/android/prefix/lib/. arm64-v8a/
docker cp $(FLAVOUR)-android-arm64:/src/build/release/lib/. arm64-v8a/$(FLAVOUR)
armeabi-v7a: $(FLAVOUR) android32.Dockerfile
-rm -rf armeabi-v7a
-docker container rm $(FLAVOUR)-android-arm32 -f
docker build -f android32.Dockerfile -t $(FLAVOUR)-android-arm32 $(FLAVOUR)
docker build -f android32.Dockerfile -t $(FLAVOUR)-android-arm32 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-arm32 $(FLAVOUR)-android-arm32 bash
mkdir armeabi-v7a
docker cp $(FLAVOUR)-android-arm32:/opt/android/prefix/lib/. armeabi-v7a
docker cp $(FLAVOUR)-android-arm32:/src/build/release/lib/. armeabi-v7a/$(FLAVOUR)
x86_64: $(FLAVOUR) android64_x86.Dockerfile
-rm -rf x86_64
-docker container rm $(FLAVOUR)-android-x86_64 -f
docker build -f android64_x86.Dockerfile -t $(FLAVOUR)-android-x86_64 $(FLAVOUR)
docker build -f android64_x86.Dockerfile -t $(FLAVOUR)-android-x86_64 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-x86_64 $(FLAVOUR)-android-x86_64 bash
mkdir x86_64
docker cp $(FLAVOUR)-android-x86_64:/opt/android/prefix/lib/. x86_64
docker cp $(FLAVOUR)-android-x86_64:/src/build/release/lib/. x86_64/$(FLAVOUR)
x86: $(FLAVOUR) android32_x86.Dockerfile
-rm -rf x86
-docker container rm $(FLAVOUR)-android-x86 -f
docker build -f android32_x86.Dockerfile -t $(FLAVOUR)-android-x86 $(FLAVOUR)
docker build -f android32_x86.Dockerfile -t $(FLAVOUR)-android-x86 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-x86 $(FLAVOUR)-android-x86 bash
mkdir x86
docker cp $(FLAVOUR)-android-x86:/opt/android/prefix/lib/. x86
docker cp $(FLAVOUR)-android-x86:/src/build/release/lib/. x86/$(FLAVOUR)
@ -65,4 +71,4 @@ distclean: clean
$(FLAVOUR):
$(error Please ln -s $(FLAVOUR))
.PHONY: all clean distclean
.PHONY: all clean distclean

View file

@ -1 +1 @@
MONERUJO_monero main with monero release-v0.18.2.2-mysu
MONERUJO_monero main with monero v0.18.3.4-mysu

View file

@ -1,11 +1,11 @@
FROM debian:stable
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python-is-python3 libtool libtinfo5
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python3 python-is-python3 libtool libtinfo5 yacc
WORKDIR /opt/android
## INSTALL ANDROID SDK
ENV ANDROID_SDK_REVISION 4333796
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
ENV ANDROID_SDK_REVISION=4333796
ENV ANDROID_SDK_HASH=92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
RUN set -x \
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
@ -13,20 +13,20 @@ RUN set -x \
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
## INSTALL ANDROID NDK
ENV ANDROID_NDK_REVISION 17c
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
ENV ANDROID_NDK_REVISION=17c
ENV ANDROID_NDK_HASH=3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
RUN set -x \
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
ENV WORKDIR /opt/android
ENV ANDROID_SDK_ROOT ${WORKDIR}/tools
ENV ANDROID_NDK_ROOT ${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX /opt/android/prefix
ENV WORKDIR=/opt/android
ENV ANDROID_SDK_ROOT=${WORKDIR}/tools
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX=/opt/android/prefix
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain
ENV TOOLCHAIN_DIR=${WORKDIR}/toolchain
RUN set -x \
&& ${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py \
--arch arm \
@ -43,7 +43,7 @@ RUN set -x \
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
ENV PATH /usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
ENV PATH=/usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
## Boost
ARG BOOST_VERSION=1_70_0
@ -57,14 +57,14 @@ RUN set -x \
&& cd boost_${BOOST_VERSION} \
&& ./bootstrap.sh --prefix=${PREFIX}
ENV HOST_PATH $PATH
ENV PATH $TOOLCHAIN_DIR/arm-linux-androideabi/bin:$TOOLCHAIN_DIR/bin:$PATH
ENV HOST_PATH=$PATH
ENV PATH=$TOOLCHAIN_DIR/arm-linux-androideabi/bin:$TOOLCHAIN_DIR/bin:$PATH
ARG NPROC=4
# Build iconv for lib boost locale
ENV ICONV_VERSION 1.16
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
ENV ICONV_VERSION=1.16
ENV ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
RUN set -x \
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
@ -80,8 +80,8 @@ RUN set -x \
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
# download, configure and make Zlib
ENV ZLIB_VERSION 1.3.1
ENV ZLIB_HASH 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
ENV ZLIB_VERSION=1.3.1
ENV ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
RUN set -x \
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
@ -190,4 +190,4 @@ RUN set -x \
RUN set -x \
&& cd /src/build/release \
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;

View file

@ -1,11 +1,11 @@
FROM debian:stable
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python-is-python3 libtool libtinfo5
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python3 python-is-python3 libtool libtinfo5
WORKDIR /opt/android
## INSTALL ANDROID SDK
ENV ANDROID_SDK_REVISION 4333796
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
ENV ANDROID_SDK_REVISION=4333796
ENV ANDROID_SDK_HASH=92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
RUN set -x \
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
@ -13,20 +13,20 @@ RUN set -x \
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
## INSTALL ANDROID NDK
ENV ANDROID_NDK_REVISION 17c
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
ENV ANDROID_NDK_REVISION=17c
ENV ANDROID_NDK_HASH=3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
RUN set -x \
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
ENV WORKDIR /opt/android
ENV ANDROID_SDK_ROOT ${WORKDIR}/tools
ENV ANDROID_NDK_ROOT ${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX /opt/android/prefix
ENV WORKDIR=/opt/android
ENV ANDROID_SDK_ROOT=${WORKDIR}/tools
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX=/opt/android/prefix
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain
ENV TOOLCHAIN_DIR=${WORKDIR}/toolchain
RUN set -x \
&& ${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py \
--arch x86 \
@ -43,7 +43,7 @@ RUN set -x \
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
ENV PATH /usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
ENV PATH=/usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
## Boost
ARG BOOST_VERSION=1_70_0
@ -57,14 +57,14 @@ RUN set -x \
&& cd boost_${BOOST_VERSION} \
&& ./bootstrap.sh --prefix=${PREFIX}
ENV HOST_PATH $PATH
ENV PATH $TOOLCHAIN_DIR/i686-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ENV HOST_PATH=$PATH
ENV PATH=$TOOLCHAIN_DIR/i686-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ARG NPROC=4
# Build iconv for lib boost locale
ENV ICONV_VERSION 1.16
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
ENV ICONV_VERSION=1.16
ENV ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
RUN set -x \
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
@ -80,8 +80,8 @@ RUN set -x \
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
# download, configure and make Zlib
ENV ZLIB_VERSION 1.3.1
ENV ZLIB_HASH 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
ENV ZLIB_VERSION=1.3.1
ENV ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
RUN set -x \
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
@ -190,4 +190,4 @@ RUN set -x \
RUN set -x \
&& cd /src/build/release \
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;

View file

@ -1,11 +1,11 @@
FROM debian:stable
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python-is-python3 libtool libtinfo5
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python3 python-is-python3 libtool libtinfo5 yacc
WORKDIR /opt/android
## INSTALL ANDROID SDK
ENV ANDROID_SDK_REVISION 4333796
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
ENV ANDROID_SDK_REVISION=4333796
ENV ANDROID_SDK_HASH=92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
RUN set -x \
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
@ -13,20 +13,20 @@ RUN set -x \
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
## INSTALL ANDROID NDK
ENV ANDROID_NDK_REVISION 17c
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
ENV ANDROID_NDK_REVISION=17c
ENV ANDROID_NDK_HASH=3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
RUN set -x \
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
ENV WORKDIR /opt/android
ENV ANDROID_SDK_ROOT ${WORKDIR}/tools
ENV ANDROID_NDK_ROOT ${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX /opt/android/prefix
ENV WORKDIR=/opt/android
ENV ANDROID_SDK_ROOT=${WORKDIR}/tools
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX=/opt/android/prefix
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain
ENV TOOLCHAIN_DIR=${WORKDIR}/toolchain
RUN set -x \
&& ${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py \
--arch arm64 \
@ -43,7 +43,7 @@ RUN set -x \
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
ENV PATH /usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
ENV PATH=/usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
## Boost
ARG BOOST_VERSION=1_70_0
@ -57,14 +57,14 @@ RUN set -x \
&& cd boost_${BOOST_VERSION} \
&& ./bootstrap.sh --prefix=${PREFIX}
ENV HOST_PATH $PATH
ENV PATH $TOOLCHAIN_DIR/aarch64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ENV HOST_PATH=$PATH
ENV PATH=$TOOLCHAIN_DIR/aarch64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ARG NPROC=4
# Build iconv for lib boost locale
ENV ICONV_VERSION 1.16
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
ENV ICONV_VERSION=1.16
ENV ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
RUN set -x \
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
@ -80,8 +80,8 @@ RUN set -x \
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
# download, configure and make Zlib
ENV ZLIB_VERSION 1.3.1
ENV ZLIB_HASH 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
ENV ZLIB_VERSION=1.3.1
ENV ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
RUN set -x \
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
@ -148,7 +148,7 @@ RUN set -x \
&& make install
# libunbound
ARG LIBUNBOUND_VERSION=branch-1.16.1
ARG LIBUNBOUND_VERSION=release-1.16.1
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
RUN set -x \
@ -190,4 +190,4 @@ RUN set -x \
RUN set -x \
&& cd /src/build/release \
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;

View file

@ -1,11 +1,11 @@
FROM debian:stable
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python-is-python3 libtool libtinfo5
RUN set -x && apt-get update && apt-get install -y unzip automake build-essential curl file pkg-config git python3 python-is-python3 libtool libtinfo5 yacc
WORKDIR /opt/android
## INSTALL ANDROID SDK
ENV ANDROID_SDK_REVISION 4333796
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
ENV ANDROID_SDK_REVISION=4333796
ENV ANDROID_SDK_HASH=92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
RUN set -x \
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
@ -13,20 +13,20 @@ RUN set -x \
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
## INSTALL ANDROID NDK
ENV ANDROID_NDK_REVISION 17c
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
ENV ANDROID_NDK_REVISION=17c
ENV ANDROID_NDK_HASH=3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
RUN set -x \
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
ENV WORKDIR /opt/android
ENV ANDROID_SDK_ROOT ${WORKDIR}/tools
ENV ANDROID_NDK_ROOT ${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX /opt/android/prefix
ENV WORKDIR=/opt/android
ENV ANDROID_SDK_ROOT=${WORKDIR}/tools
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
ENV PREFIX=/opt/android/prefix
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain
ENV TOOLCHAIN_DIR=${WORKDIR}/toolchain
RUN set -x \
&& ${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py \
--arch x86_64 \
@ -43,7 +43,7 @@ RUN set -x \
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
ENV PATH /usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
ENV PATH=/usr/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
## Boost
ARG BOOST_VERSION=1_70_0
@ -57,14 +57,14 @@ RUN set -x \
&& cd boost_${BOOST_VERSION} \
&& ./bootstrap.sh --prefix=${PREFIX}
ENV HOST_PATH $PATH
ENV PATH $TOOLCHAIN_DIR/x86_64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ENV HOST_PATH=$PATH
ENV PATH=$TOOLCHAIN_DIR/x86_64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
ARG NPROC=4
# Build iconv for lib boost locale
ENV ICONV_VERSION 1.16
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
ENV ICONV_VERSION=1.16
ENV ICONV_HASH=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
RUN set -x \
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
@ -80,8 +80,8 @@ RUN set -x \
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
# download, configure and make Zlib
ENV ZLIB_VERSION 1.3.1
ENV ZLIB_HASH 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
ENV ZLIB_VERSION=1.3.1
ENV ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
RUN set -x \
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
@ -148,7 +148,7 @@ RUN set -x \
&& make install
# libunbound
ARG LIBUNBOUND_VERSION=branch-1.16.1
ARG LIBUNBOUND_VERSION=release-1.16.1
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
RUN set -x \
@ -190,4 +190,4 @@ RUN set -x \
RUN set -x \
&& cd /src/build/release \
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
&& find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;

View file

@ -1,6 +1,6 @@
#Fri Feb 10 17:24:42 CST 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

View file

@ -7,3 +7,4 @@ for the purpose of processing transactions in the Monero Network in encrypted fo
- INTERNET : Connect to the Monero Network via Monero Daemon Node
- READ_EXTERNAL_STORAGE : Read wallets
- CAMERA : Scan QR Codes
- POST_NOTIFICATIONS : Required by Tor dependency