Browse Source

Merge pull request #7734 from DonLakeFlyer/Android3264

Android: Support build/deploy both 32 and 64 bit builds
QGC4.4
Don Gagne 6 years ago committed by GitHub
parent
commit
dc4fd368b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      .travis.yml
  2. 10
      QGCInstaller.pri
  3. 3
      tools/update_android_version.sh

10
.travis.yml

@ -25,7 +25,11 @@ matrix: @@ -25,7 +25,11 @@ 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
@ -141,7 +145,7 @@ before_script: @@ -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,7 @@ after_success: @@ -185,7 +189,7 @@ 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;
./tools/google_play_upload.py production ${GOOGLE_PLAY_PKG} ${SHADOW_BUILD_DIR}/release/package/QGroundControl${BITNESS}.apk;
fi
before_deploy:

10
QGCInstaller.pri

@ -52,10 +52,16 @@ installer { @@ -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
}
}

3
tools/update_android_version.sh

@ -9,6 +9,9 @@ VERSIONCODE=$(($(($minor*10000)) + $VERSIONCODE)) @@ -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

Loading…
Cancel
Save