From 55dffe09def8389b807c426c738a9550196dcb6d Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 12:17:20 -0700 Subject: [PATCH 1/4] Support build/deploy both 32 and 64 bit builds --- .travis.yml | 11 ++++++++--- tools/update_android_version.sh | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 920d3ce..b8058a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,8 +25,12 @@ matrix: sudo: required - dist: trusty language: android - env: SPEC=android-clang CONFIG=installer + env: SPEC=android-clang CONFIG=installer BITNESS=32 sudo: false + - dist: trusty + language: android + env: SPEC=android-clang CONFIG=installer BITNESS=64 + sudo: false - os: osx osx_image: xcode9.2 env: SPEC=macx-clang CONFIG=installer @@ -141,7 +145,7 @@ before_script: - if [ "${SPEC}" = "android-clang" ]; then git remote set-branches origin 'master' && git fetch --tags origin master && - ./tools/update_android_version.sh; + ./tools/update_android_version.sh ${BITNESS}; fi script: @@ -185,7 +189,8 @@ after_success: pip install --user --upgrade oauth2client && pip install --user google-api-python-client pyopenssl ndg-httpsclient pyasn1 && openssl aes-256-cbc -K $encrypted_25db6eb7c3fd_key -iv $encrypted_25db6eb7c3fd_iv -in android/Google_Play_Android_Developer-4432a3c4f5d1.json.enc -out android/Google_Play_Android_Developer-4432a3c4f5d1.json -d && - ./tools/google_play_upload.py production ${GOOGLE_PLAY_PKG} ${SHADOW_BUILD_DIR}/release/package/QGroundControl.apk; + cp ${SHADOW_BUILD_DIR}/release/package/QGroundControl.apk ${SHADOW_BUILD_DIR}/release/package/QGroundControl${BITNESS}.apk + ./tools/google_play_upload.py production ${GOOGLE_PLAY_PKG} ${SHADOW_BUILD_DIR}/release/package/QGroundControl${BITNESS}.apk; fi before_deploy: diff --git a/tools/update_android_version.sh b/tools/update_android_version.sh index 58d892d..3e76928 100755 --- a/tools/update_android_version.sh +++ b/tools/update_android_version.sh @@ -9,6 +9,9 @@ VERSIONCODE=$(($(($minor*10000)) + $VERSIONCODE)) VERSIONCODE=$(($(($patch*1000)) + $VERSIONCODE)) VERSIONCODE=$(($(($dev)) + $VERSIONCODE)) +# Command line specifies either 32 or 64 bit version +VERSIONCODE=$1$VERSIONCODE + MANIFEST_FILE=android/AndroidManifest.xml # manifest package From bd6217f037c45eb35a5a6c5d49c0a00990cc9853 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 12:19:13 -0700 Subject: [PATCH 2/4] Remove tabs --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b8058a0..d56642c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ matrix: language: android env: SPEC=android-clang CONFIG=installer BITNESS=32 sudo: false - - dist: trusty + - dist: trusty language: android env: SPEC=android-clang CONFIG=installer BITNESS=64 sudo: false From 80ab2795bf02f09036752abe13f01b89311d1130 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 12:21:21 -0700 Subject: [PATCH 3/4] Really fix tabs --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d56642c..88fea3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,9 +28,9 @@ matrix: env: SPEC=android-clang CONFIG=installer BITNESS=32 sudo: false - dist: trusty - language: android - env: SPEC=android-clang CONFIG=installer BITNESS=64 - sudo: false + language: android + env: SPEC=android-clang CONFIG=installer BITNESS=64 + sudo: false - os: osx osx_image: xcode9.2 env: SPEC=macx-clang CONFIG=installer @@ -145,7 +145,7 @@ before_script: - if [ "${SPEC}" = "android-clang" ]; then git remote set-branches origin 'master' && git fetch --tags origin master && - ./tools/update_android_version.sh ${BITNESS}; + ./tools/update_android_version.sh ${BITNESS}; fi script: From 00df3fc8ed93053d79fe678eec1e79f20026cb51 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 13:16:55 -0700 Subject: [PATCH 4/4] Depend on 32/64 apk naming from build --- .travis.yml | 1 - QGCInstaller.pri | 10 ++++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 88fea3f..e0dd6c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -189,7 +189,6 @@ after_success: pip install --user --upgrade oauth2client && pip install --user google-api-python-client pyopenssl ndg-httpsclient pyasn1 && openssl aes-256-cbc -K $encrypted_25db6eb7c3fd_key -iv $encrypted_25db6eb7c3fd_iv -in android/Google_Play_Android_Developer-4432a3c4f5d1.json.enc -out android/Google_Play_Android_Developer-4432a3c4f5d1.json -d && - cp ${SHADOW_BUILD_DIR}/release/package/QGroundControl.apk ${SHADOW_BUILD_DIR}/release/package/QGroundControl${BITNESS}.apk ./tools/google_play_upload.py production ${GOOGLE_PLAY_PKG} ${SHADOW_BUILD_DIR}/release/package/QGroundControl${BITNESS}.apk; fi diff --git a/QGCInstaller.pri b/QGCInstaller.pri index 1e6bfe9..2432ca1 100644 --- a/QGCInstaller.pri +++ b/QGCInstaller.pri @@ -52,10 +52,16 @@ installer { QMAKE_POST_LINK += && tar --warning=no-file-changed -cjf release/package/QGroundControl.tar.bz2 release --exclude='package' --transform 's/release/qgroundcontrol/' } AndroidBuild { - #-- TODO: This uses hardcoded paths. It should use $${DESTDIR} QMAKE_POST_LINK += && mkdir -p $${DESTDIR}/package QMAKE_POST_LINK += && make install INSTALL_ROOT=$${DESTDIR}/android-build/ QMAKE_POST_LINK += && androiddeployqt --input android-libQGroundControl.so-deployment-settings.json --output $${DESTDIR}/android-build --deployment bundled --gradle --sign $${BASEDIR}/android/android_release.keystore dagar --storepass $$(ANDROID_STOREPASS) - QMAKE_POST_LINK += && cp $${DESTDIR}/android-build/build/outputs/apk/android-build-release-signed.apk $${DESTDIR}/package/QGroundControl.apk + contains(QT_ARCH, arm) { + QGC_APK_BITNESS = "32" + } else:contains(QT_ARCH, arm64) { + QGC_APK_BITNESS = "64" + } else { + QGC_APK_BITNESS = "" + } + QMAKE_POST_LINK += && cp $${DESTDIR}/android-build/build/outputs/apk/android-build-release-signed.apk $${DESTDIR}/package/QGroundControl$${QGC_APK_BITNESS}.apk } }