diff --git a/android/README.md b/android/README.md index b05c260a..b058230b 100644 --- a/android/README.md +++ b/android/README.md @@ -22,7 +22,7 @@ Copyright (c) 2014-2017, The Monero Project # Get the apk - docker cp monero-gui-android:/opt/android/monero-core/build/release/bin/bin/QtApp-debug.apk . + docker cp monero-gui-android:/opt/android/monero-gui/build/release/bin/bin/QtApp-debug.apk . ## Deployment @@ -31,7 +31,7 @@ Copyright (c) 2014-2017, The Monero Project First, see section [Enable adb debugging on your device](https://developer.android.com/studio/command-line/adb.html#Enabling) The only place where we are allowed to play is `/data/local/tmp`. So : - adb push /opt/android/monero-core/build/release/bin/bin/QtApp-debug.apk /data/local/tmp + adb push /opt/android/monero-gui/build/release/bin/bin/QtApp-debug.apk /data/local/tmp adb shell pm install -r /data/local/tmp/QtApp-debug.apk - Troubleshooting: diff --git a/android/docker/Dockerfile b/android/docker/Dockerfile index 5f1b1e53..286e3baf 100644 --- a/android/docker/Dockerfile +++ b/android/docker/Dockerfile @@ -88,21 +88,20 @@ APP_CFLAGS += -target armv7-none-linux-androideabi -fexceptions -fstack-protect && android update project --path . -t "${ANDROID_API}" \ && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ ant -Dndk.dir=${ANDROID_NDK_ROOT} -Diconv.src=${WORKDIR}/libiconv-${ICONV_VERSION} zbar-clean zbar-ndk-build -#Can't directly call build.sh because of env variables -RUN git clone https://github.com/monero-project/monero-core.git \ - && cd monero-core \ - && git submodule update \ - && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ BOOST_ROOT=/opt/android/boost_1_62_0 BOOST_LIBRARYDIR=${WORKDIR}/boost_${BOOST_VERSION}/android32/lib/ OPENSSL_ROOT_DIR=${WORKDIR}/openssl/ ./get_libwallet_api.sh release-android - RUN cp openssl/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib RUN cp boost_${BOOST_VERSION}/android32/lib/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib RUN cp ZBar/android/obj/local/armeabi-v7a/lib* ${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm/usr/lib -ENV PATH $ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:${WORKDIR}/Qt-${QT_VERSION}/bin:$CLEAN_PATH - -# NB : zxcvbn-c needs to build a local binary and Qt don't care about these environnement variable -RUN cd monero-core \ - && CC="gcc" CXX="g++" ./build.sh release-android \ +RUN git clone https://github.com/monero-project/monero-gui.git \ + && cd monero-gui \ + && git submodule update \ + && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ BOOST_ROOT=/opt/android/boost_1_62_0 \ + BOOST_LIBRARYDIR=${WORKDIR}/boost_${BOOST_VERSION}/android32/lib/ \ + OPENSSL_ROOT_DIR=${WORKDIR}/openssl/ \ + CMAKE_INCLUDE_PATH=${WORKDIR}/cppzmq/ \ + CMAKE_LIBRARY_PATH=${WORKDIR}/zeromq4-1/.libs \ + CXXFLAGS="-I ${WORKDIR}/zeromq4-1/include/" \ + ./build.sh release-android \ && cd build \ && make deploy diff --git a/build.sh b/build.sh index 1ff9c9cc..eaba125e 100755 --- a/build.sh +++ b/build.sh @@ -40,14 +40,16 @@ elif [ "$BUILD_TYPE" == "release-static" ]; then BIN_PATH=release/bin elif [ "$BUILD_TYPE" == "release-android" ]; then echo "Building release for ANDROID" - CONFIG="CONFIG+=release static WITH_SCANNER"; + CONFIG="CONFIG+=release static WITH_SCANNER DISABLE_PASS_STRENGTH_METER"; ANDROID=true BIN_PATH=release/bin + DISABLE_PASS_STRENGTH_METER=true elif [ "$BUILD_TYPE" == "debug-android" ]; then echo "Building debug for ANDROID : ultra INSECURE !!" - CONFIG="CONFIG+=debug qml_debug WITH_SCANNER"; + CONFIG="CONFIG+=debug qml_debug WITH_SCANNER DISABLE_PASS_STRENGTH_METER"; ANDROID=true BIN_PATH=debug/bin + DISABLE_PASS_STRENGTH_METER=true elif [ "$BUILD_TYPE" == "debug" ]; then echo "Building debug" CONFIG="CONFIG+=debug" @@ -73,7 +75,9 @@ fi ./get_libwallet_api.sh $BUILD_TYPE # build zxcvbn -$MAKE -C src/zxcvbn-c || exit +if [ "$DISABLE_PASS_STRENGTH_METER" != true ]; then + $MAKE -C src/zxcvbn-c || exit +fi if [ ! -d build ]; then mkdir build; fi diff --git a/monero-wallet-gui.pro b/monero-wallet-gui.pro index 40e6c4ec..a37cd05c 100644 --- a/monero-wallet-gui.pro +++ b/monero-wallet-gui.pro @@ -62,6 +62,12 @@ SOURCES += main.cpp \ src/libwalletqt/UnsignedTransaction.cpp \ MainApp.cpp +CONFIG(DISABLE_PASS_STRENGTH_METER) { + HEADERS -= src/zxcvbn-c/zxcvbn.h + SOURCES -= src/zxcvbn-c/zxcvbn.c + DEFINES += "DISABLE_PASS_STRENGTH_METER" +} + !ios { HEADERS += src/daemon/DaemonManager.h SOURCES += src/daemon/DaemonManager.cpp diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 875e4cca..3b33b8b7 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -304,6 +304,7 @@ QUrl WalletManager::localPathToUrl(const QString &path) const return QUrl::fromLocalFile(path); } +#ifndef DISABLE_PASS_STRENGTH_METER double WalletManager::getPasswordStrength(const QString &password) const { static const char *local_dict[] = { @@ -318,6 +319,7 @@ double WalletManager::getPasswordStrength(const QString &password) const ZxcvbnUnInit(); return e; } +#endif bool WalletManager::saveQrCode(const QString &code, const QString &path) const { diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index 7eacc3f0..90c56152 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -128,7 +128,9 @@ public: Q_INVOKABLE qint64 addi(qint64 x, qint64 y) const { return x + y; } Q_INVOKABLE qint64 subi(qint64 x, qint64 y) const { return x - y; } +#ifndef DISABLE_PASS_STRENGTH_METER Q_INVOKABLE double getPasswordStrength(const QString &password) const; +#endif Q_INVOKABLE QString resolveOpenAlias(const QString &address) const; Q_INVOKABLE bool parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector &unknown_parameters, QString &error);