From 33feed6552cbcbd434c1232e4df614aacb6bdd7a Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 20 Aug 2019 13:05:34 -0700 Subject: [PATCH 1/5] Fix 32->64 bit bug --- libs/qtandroidserialport/src/qserialport_android.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/qtandroidserialport/src/qserialport_android.cpp b/libs/qtandroidserialport/src/qserialport_android.cpp index 6d29434..4007c73 100644 --- a/libs/qtandroidserialport/src/qserialport_android.cpp +++ b/libs/qtandroidserialport/src/qserialport_android.cpp @@ -189,7 +189,7 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode) "(Landroid/content/Context;Ljava/lang/String;I)I", QtAndroid::androidActivity().object(), jnameL.object(), - reinterpret_cast(this)); + reinterpret_cast(this)); cleanJavaException(); isReadStopped = false; From a34b968bcb960853aa70a2457f13214c2c2fe736 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 20 Aug 2019 13:05:58 -0700 Subject: [PATCH 2/5] No current android openssl 64 bit version --- QGCExternalLibs.pri | 2 ++ 1 file changed, 2 insertions(+) diff --git a/QGCExternalLibs.pri b/QGCExternalLibs.pri index 3df2775..b6bc5c1 100644 --- a/QGCExternalLibs.pri +++ b/QGCExternalLibs.pri @@ -130,6 +130,8 @@ AndroidBuild { contains(QT_ARCH, arm) { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-armeabi-v7a/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-armeabi-v7a/lib/libssl.so + } else:contains(QT_ARCH, arm64) { +message("arm64") } else { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-x86/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-x86/lib/libssl.so From 20e0ee70bbddb6f0c9e36839485155053526e301 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 27 Aug 2019 10:06:13 -0700 Subject: [PATCH 3/5] Update QGCExternalLibs.pri Fix bad push --- QGCExternalLibs.pri | 2 -- 1 file changed, 2 deletions(-) diff --git a/QGCExternalLibs.pri b/QGCExternalLibs.pri index b6bc5c1..3df2775 100644 --- a/QGCExternalLibs.pri +++ b/QGCExternalLibs.pri @@ -130,8 +130,6 @@ AndroidBuild { contains(QT_ARCH, arm) { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-armeabi-v7a/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-armeabi-v7a/lib/libssl.so - } else:contains(QT_ARCH, arm64) { -message("arm64") } else { ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-x86/lib/libcrypto.so ANDROID_EXTRA_LIBS += $$BASEDIR/libs/AndroidOpenSSL/arch-x86/lib/libssl.so From 3a26b0093cbfa0e0661c4e02b1b08232dd28fae7 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 16:27:10 -0700 Subject: [PATCH 4/5] Support android 32/64 bit --- .travis.yml | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index e0dd6c3..60d278f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,24 +14,29 @@ env: matrix: fast_finish: true include: - - os: linux + - name: "Linux Installer" + os: linux dist: xenial env: SPEC=linux-g++-64 CONFIG=installer sudo: required - - os: linux + - name: "Linux Debug" + os: linux dist: xenial env: SPEC=linux-g++-64 CONFIG=debug services: xvfb sudo: required - - dist: trusty + - name: "Android 32 bit" + dist: trusty language: android - env: SPEC=android-clang CONFIG=installer BITNESS=32 + env: SPEC=android-clang CONFIG=installer BITNESS=32-bit sudo: false - - dist: trusty + - name: "Android 64 bit" + dist: trusty language: android - env: SPEC=android-clang CONFIG=installer BITNESS=64 + env: SPEC=android-clang CONFIG=installer BITNESS=64-bit sudo: false - - os: osx + - name: "OSX Installer" + os: osx osx_image: xcode9.2 env: SPEC=macx-clang CONFIG=installer sudo: required @@ -89,13 +94,25 @@ install: - if [ "${SPEC}" = "android-clang" ]; then wget --quiet https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-android-universal-1.14.4.tar.bz2 && tar jxf gstreamer-1.0-android-universal-1.14.4.tar.bz2 -C ${TRAVIS_BUILD_DIR} && - wget --quiet https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/Qt5.12.4-android_armv7-min.tar.bz2 && - tar jxf Qt5.12.4-android_armv7-min.tar.bz2 -C /tmp && wget --quiet https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip && unzip android-ndk-r20-linux-x86_64.zip > /dev/null && export ANDROID_NDK_ROOT=`pwd`/android-ndk-r20 && export ANDROID_SDK_ROOT=/usr/local/android-sdk && - export PATH=/tmp/Qt5.12-android_armv7/5.12.4/android_armv7/bin:`pwd`/android-ndk-r20:$PATH && echo $PATH + export PATH=`pwd`/android-ndk-r20:$PATH + ; + fi + + - if [[ "${SPEC}" = "android-clang" && "${BITNESS}" = "64-bit" ]]; then + wget --quiet https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/Qt5.12.4-android_arm64_v8a-min.tar.bz2 && + tar jxf Qt5.12.4-android_arm64_v8a-min.tar.bz2 -C /tmp && + export PATH=/tmp/Qt5.12-android_arm64_v8a/5.12.4/android_arm64_v8a/bin:$PATH + ; + fi + + - if [[ "${SPEC}" = "android-clang" && "${BITNESS}" = "32-bit" ]]; then + wget --quiet https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/Qt5.12.4-android_armv7-min.tar.bz2 && + tar jxf Qt5.12.4-android_armv7-min.tar.bz2 -C /tmp && + export PATH=/tmp/Qt5.12-android_armv7/5.12.4/android_armv7/bin:$PATH ; fi From 086665b5f005669e321908766abc42b65377e458 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 28 Aug 2019 17:02:46 -0700 Subject: [PATCH 5/5] Android gstreamer bitness --- QGCCommon.pri | 1 + src/VideoStreaming/VideoStreaming.pri | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/QGCCommon.pri b/QGCCommon.pri index 9ced8bf..672eedd 100644 --- a/QGCCommon.pri +++ b/QGCCommon.pri @@ -43,6 +43,7 @@ linux { DEFINES += QGC_GST_MICROHARD_ENABLED QMAKE_CXXFLAGS += -Wno-address-of-packed-member QMAKE_CXXFLAGS += -Wno-unused-command-line-argument + QMAKE_CFLAGS += -Wno-unused-command-line-argument QMAKE_LINK += -nostdlib++ # Hack fix?: https://forum.qt.io/topic/103713/error-cannot-find-lc-qt-5-12-android target.path = $$DESTDIR equals(ANDROID_TARGET_ARCH, x86) { diff --git a/src/VideoStreaming/VideoStreaming.pri b/src/VideoStreaming/VideoStreaming.pri index aef28dc..f1cdd93 100644 --- a/src/VideoStreaming/VideoStreaming.pri +++ b/src/VideoStreaming/VideoStreaming.pri @@ -73,11 +73,13 @@ LinuxBuild { QMAKE_POST_LINK += $$escape_expand(\\n) xcopy \"$$GST_ROOT_WIN\\lib\\gstreamer-1.0\\validate\\*.dll\" \"$$DESTDIR_WIN\\gstreamer-plugins\\validate\\\" /Y $$escape_expand(\\n) } } else:AndroidBuild { - #- gstreamer assumed to be installed in $$PWD/../../gstreamer-1.0-android-universal-1.14.4/armv7 (or x86) - Androidx86Build { - GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/x86 - } else { + #- gstreamer assumed to be installed in $$PWD/../../gstreamer-1.0-android-universal-1.14.4/*** + contains(QT_ARCH, arm) { GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/armv7 + } else:contains(QT_ARCH, arm64) { + GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/arm64 + } else { + GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/x86 } exists($$GST_ROOT) { QMAKE_CXXFLAGS += -pthread