Merge pull request #106 from karolsteve/dev
Fix Android build on Travis
This commit is contained in:
commit
bd7a9e5444
2 changed files with 51 additions and 61 deletions
75
.travis.yml
75
.travis.yml
|
|
@ -210,65 +210,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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue