From a56fbeb6117a0eaa0226c241a94e14005c6288a2 Mon Sep 17 00:00:00 2001 From: Steve Tchatchouang <38782190+karolsteve@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:58:03 +0100 Subject: [PATCH 1/2] Fix android build script Using correct qt binaries folder (gcc64 -> Android) --- deploy/build_android.sh | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/deploy/build_android.sh b/deploy/build_android.sh index 9afe49d3..2b46b5fb 100644 --- a/deploy/build_android.sh +++ b/deploy/build_android.sh @@ -3,7 +3,6 @@ echo "Build script started ..." set -o errexit -o nounset - # Hold on to current directory PROJECT_DIR=$(pwd) DEPLOY_DIR=$PROJECT_DIR/deploy @@ -30,7 +29,8 @@ QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash # Seacrh Qt if [ -z "${QT_VERSION+x}" ]; then QT_VERSION=5.15.2; -QT_BIN_DIR=$HOME/Qt/$QT_VERSION/gcc_64/bin +QT_BIN_DIR=$HOME/Qt/$QT_VERSION/android/bin +#QT_BIN_DIR=$HOME/Qt/$QT_VERSION/gcc_64/bin fi echo "Using Qt in $QT_BIN_DIR" @@ -46,22 +46,23 @@ echo "Building App..." cd $BUILD_DIR $QT_BIN_DIR/qmake -r -spec android-clang CONFIG+=qtquickcompiler ANDROID_ABIS="armeabi-v7a arm64-v8a x86 x86_64" $PROJECT_DIR/AmneziaVPN.pro -$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make -j2 -$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make install INSTALL_ROOT=android - - - +echo "Executing make... may take long time" +$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make -j2 > /dev/null 2>/dev/null +echo "Make install..." +$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make install INSTALL_ROOT=android > /dev/null 2>/dev/null +echo "Build OK" # Build and run tests here -#echo "............Deploy.................." - -# TODO possible solution: https://github.com/mhoeher/opentodolist/blob/b8981852e500589851132a02c5a62af9b0ed592c/ci/android-cmake-build.sh -#$QT_BIN_DIR/androiddeployqt \ -# --output $OUT_APP_DIR \ -# --gradle \ -# --release \ -# --deployment bundled - -#cp $OUT_APP_DIR/build/outputs/apk/release/android-build-release-unsigned.apk \ -# OpenTodoList-${ANDROID_ABIS}-${OTL_VERSION}.apk +echo "............Deploy.................." +cd $OUT_APP_DIR +#--verbose removed +$QT_BIN_DIR/androiddeployqt \ + --output $OUT_APP_DIR/android \ + --gradle \ + --release \ + --input android-AmneziaVPN-deployment-settings.json + +echo "............Copy apk.................." +cp $OUT_APP_DIR/android/build/outputs/apk/release/android-release-unsigned.apk \ + $PROJECT_DIR/AmneziaVPN-release-unsigned.apk From f6d329ac48ac3db6504eeab0c60ced6084cce240 Mon Sep 17 00:00:00 2001 From: Steve Tchatchouang <38782190+karolsteve@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:00:40 +0100 Subject: [PATCH 2/2] Fix Android job CI --- .travis.yml | 75 +++++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index c5022b12..7113efad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -209,65 +209,54 @@ jobs: # ------------------------------------------------------ - name: Android os: linux - language: android - dist: xenial - - addons: - apt: - packages: - - p7zip - - python3 - - python3-pip - - android: - components: - # Uncomment the lines below if you want to - # use the latest revision of Android SDK Tools - # - tools - # - platform-tools - - # The BuildTools version used by your project - - build-tools-30.0.2 - - # The SDK version used to compile your project - - android-30 - - # Additional components - - extra - - extra-google-google_play_services - - extra-google-m2repository - - extra-android-m2repository - + language: cpp + dist: focal env: - QT_VERSION=5.15.2 - QT_BIN_DIR=$HOME/Qt/$QT_VERSION/android/bin - USE_ANDROID_NDK_VERSION=21d - ANDROID_NDK_HOME=$HOME/NDK + - PROJ_ROOT=$(pwd) + - JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 install: - - | - if [ ! -f $QT_BIN_DIR/qmake ]; then \ - export PATH=$HOME/.local/bin:$PATH && \ - python3 -m pip install -U aqtinstall requests py7zr && \ - python3 -m pip show aqtinstall && \ - python3 -m aqt install-qt linux android $QT_VERSION android_armv7 -m all -O $HOME/Qt && \ - python3 -m aqt install-qt linux android $QT_VERSION android_arm64_v8a -m all -O $HOME/Qt && \ - python3 -m aqt install-qt linux android $QT_VERSION android_x86_64 -m all -O $HOME/Qt && \ - python3 -m aqt install-qt linux android $QT_VERSION android_x86 -m all -O $HOME/Qt ; \ + - echo "Installing Java 8" + - sudo apt-get install openjdk-8-jdk > /dev/null + - echo "QT bin install" && pwd + - if [ ! -f $QT_BIN_DIR/qmake ]; then + wget https://ondjoss.com/qt15_2_android_linux_x86_64.zip > /dev/null && + mkdir -p $HOME/Qt/$QT_VERSION && \ + unzip ./qt15_2_android_linux_x86_64.zip -d $HOME/Qt/$QT_VERSION > /dev/null ; fi - - | - export TERM=dumb && - curl -L https://dl.google.com/android/repository/android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip -O && + - echo "Download SDK" && pwd + - export ANDROID_HOME=`pwd`/sdk + - export LOCAL_ANDROID_HOME=`pwd`/sdk + - export ANDROID_SDK_ROOT=`pwd`/sdk + - export LOCAL_ANDROID_SDK_ROOT=`pwd`/sdk + - export ANDROID_API_VERSION=android-21 + - mkdir -p sdk && cd sdk && + wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -qO sdk.zip > /dev/null || exit 1 + - ls -ll && unzip -q sdk.zip || exit 1 + - echo "Download all needed tools" && pwd && ls -ll && + yes | ./tools/bin/sdkmanager --licenses > /dev/null 2>/dev/null + - ./tools/bin/sdkmanager --install "cmdline-tools;latest" "platform-tools" "platforms;android-30" "build-tools;30.0.2" > /dev/null 2>/dev/null + - cd $PROJ_ROOT && echo "Download NDK" && pwd + - export TERM=dumb && + curl -L https://dl.google.com/android/repository/android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip -O && unzip ./android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip > /dev/null && - rm android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip && + rm android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip && export ANDROID_NDK_HOME=`pwd`/android-ndk-r${USE_ANDROID_NDK_VERSION} && + export ANDROID_NDK_ROOT=`pwd`/android-ndk-r${USE_ANDROID_NDK_VERSION} && export LOCAL_ANDROID_NDK_HOME="$ANDROID_NDK_HOME" && export LOCAL_ANDROID_NDK_HOST_PLATFORM="linux-x86_64" && export PATH=$PATH:${ANDROID_NDK_HOME} && + export ANDROID_NDK_HOST=linux-x86_64 && + export ANDROID_NDK_PLATFORM=android-21 && env + - echo "Check env vars" && echo $ANDROID_SDK_ROOT && echo $ANDROID_NDK_ROOT && echo $QT_BIN_DIR script: - - bash deploy/build_android.sh + - travis_wait 60 bash deploy/build_android.sh after_script: - ccache --show-stats