updated de.akaflieg_freiburg.enroute to v2.8.0 and fixed bug in v2.7.0

This commit is contained in:
Georg VFR 2021-06-23 01:47:41 +00:00 committed by linsui
parent fd3129bf45
commit d86ab61122
3 changed files with 160 additions and 6 deletions

View file

@ -227,7 +227,115 @@ Builds:
--output android-build --release --apk de.akaflieg_freiburg.enroute_270.apk
ndk: r21e
- versionName: 2.8.0
versionCode: 208000
commit: e69c18c0bfac948da7381be288fc425b939a4b31
submodules: true
sudo:
- apt-get update || apt-get update
- apt-get install --yes librsvg2-bin p7zip
- apt-get -t stretch-backports-sloppy install libarchive13
- apt-get -t stretch-backports install cmake
patch:
- enroute_208000.patch
output: build-android-release/android-build/build/outputs/apk/release/android-build-release-unsigned.apk
srclibs:
- OpenSSL@OpenSSL_1_1_1g
prebuild: $$SDK$$/tools/bin/sdkmanager 'platforms;android-29' > /dev/null
scandelete:
- 3rdParty/android_openssl
build:
- cd ..
- rm -rf Qt
- mkdir -p Qt
- cd Qt
- for ms in qtxmlpatterns:b6fa178b828389fa3eaf1ea5aa6f721b9a5b4569 qtwebview:78da1dcb01fd79f13ed96cba4887345615c572c4
qtwebsockets:3912d19bf2a587e0f86a8f42a1a0b4f2a6df1a60 qtwebchannel:8854b3733bd2f465108a6ac58ad547fef1af5b8c
qttranslations:38cc892ce6f49927624e91fd00004e2b2a4657a5 qttools:61e4681419f97b49eb2f71a27a17807b92801d51
qtsvg:b0d6a56c08fd357c78023be88229cc47c7a92141 qtspeech:7565986b16bbaf795f6f4e3cad5f496efe16c7c8
qtserialport:038c5fe2beb595625052e602058b142c0957004c qtsensors:ca83b34c0738bd5fda44a7214cbaa700b3029a29
qtscxml:89dce4a9c01c5f13b4aa84bbaf31260b3d70b6ba qtremoteobjects:ef98d3b8ae26e5c3211233a01bc35b8085039bd6
qtquickcontrols2:5abb61de26f9b87faac73793fc88da9efee30c1c qtquickcontrols:e2dab456b14088698b2236db1742a7cac454ce7c
qtmultimedia:4eadae690a8bdcdb872e5e4ae6ee531ed2875c09 qtlocation:494ab28f952777fc7971d74230decbba2a591c76
qtimageformats:b76983790ec096aa8b09bdc9d1e8bb18322e437a qtgraphicaleffects:54c4d192ca2b141bd210c889efd0941ab50d8d93
qtgamepad:e50414650e676e6ac944f507ae2d3b791048ebb0 qtdeclarative:f9ea02d310e2bb0941fb0a0410860a2ba12ed957
qtconnectivity:0ee435612dc7c283837f01a9284c8212527e8959 qtbase:89564b42306119e731fd1412fe506e097de776ef
qtandroidextras:c13ed926c38d5bb8853a18e0cab7aafded0d87b7 qt3d:712f356d8357b28c12f305a4394707e53327601e;
do m=${ms%:*}; s=${ms#*:}; fn=5.15.2-0-202011130628${m}-Linux-RHEL_7_6-Clang-Android-Android_ANY-Multi.7z;
wget -q https://download.qt.io/online/qtsdkrepository/linux_x64/android/qt5_5152/qt.qt5.5152.android/$fn;
echo "$s $fn" | sha1sum -c
- 7zr x $fn; done
- for ms in qtcharts:be575a96362eeb006f9fea42c14fdce2c46facfc; do m=${ms%:*};
s=${ms#*:}; fn=5.15.2-0-202011130628${m}-Linux-RHEL_7_6-Clang-Android-Android_ANY-Multi.7z;
wget -q https://download.qt.io/online/qtsdkrepository/linux_x64/android/qt5_5152/qt.qt5.5152.qtcharts.android//$fn;
echo "$s $fn" | sha1sum -c
- 7zr x $fn; done
- for ms in qtquicktimeline:2a11c4a88d79b7db0adb29a9231b0f00f20cec08; do m=${ms%:*};
s=${ms#*:}; fn=5.15.2-0-202011130628${m}-Linux-RHEL_7_6-Clang-Android-Android_ANY-Multi.7z;
wget -q https://download.qt.io/online/qtsdkrepository/linux_x64/android/qt5_5152/qt.qt5.5152.qtquicktimeline.android//$fn;
echo "$s $fn" | sha1sum -c
- 7zr x $fn; done
- export Qt5_DIR_ANDROID="$(pwd)/5.15.2/android"
- export QTDIR="$(pwd)/5.15.2/android"
- cd ..
- cd de.akaflieg_freiburg.enroute
- export PATH="$QTDIR/bin:$PATH"
- export CMAKE_PREFIX_PATH=$QTDIR/bin
- export CMAKE_PREFIX_PATH=$Qt5_DIR_ANDROID/lib/cmake/Qt5
- export QT_QMAKE_EXECUTABLE=$Qt5_DIR_ANDROID/bin/qmake
- export ANDROID_NDK_ROOT=$$NDK$$
- export ANDROID_SDK_ROOT=$$SDK$$
- mkdir libs
- cd libs
- mkdir arm arm64 x86 x86_64
- cd ../../srclib/OpenSSL
- export PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
- ./Configure shared android-arm64 -D__ANDROID_API__=21
- make -j`nproc` SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs &>>/dev/null
- llvm-strip --strip-all libcrypto_1_1.so
- llvm-strip --strip-all libssl_1_1.so
- cp libcrypto_1_1.so ../../de.akaflieg_freiburg.enroute/libs/arm64/.
- cp libssl_1_1.so ../../de.akaflieg_freiburg.enroute/libs/arm64/.
- git clean -dffx &>>/dev/null
- ./Configure shared android-arm -D__ANDROID_API__=16
- make -j`nproc` SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs &>>/dev/null
- llvm-strip --strip-all libcrypto_1_1.so
- llvm-strip --strip-all libssl_1_1.so
- cp libcrypto_1_1.so ../../de.akaflieg_freiburg.enroute/libs/arm/.
- cp libssl_1_1.so ../../de.akaflieg_freiburg.enroute/libs/arm/.
- git clean -dffx &>>/dev/null
- ./Configure shared android-x86 -D__ANDROID_API__=16
- make -j`nproc` SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs &>>/dev/null
- llvm-strip --strip-all libcrypto_1_1.so
- llvm-strip --strip-all libssl_1_1.so
- cp libcrypto_1_1.so ../../de.akaflieg_freiburg.enroute/libs/x86/.
- cp libssl_1_1.so ../../de.akaflieg_freiburg.enroute/libs/x86/.
- git clean -dffx &>>/dev/null
- ./Configure shared android-x86_64 -D__ANDROID_API__=21
- make -j`nproc` SHLIB_VERSION_NUMBER= SHLIB_EXT=_1_1.so build_libs &>>/dev/null
- llvm-strip --strip-all libcrypto_1_1.so
- llvm-strip --strip-all libssl_1_1.so
- cp libcrypto_1_1.so ../../de.akaflieg_freiburg.enroute/libs/x86_64/.
- cp libssl_1_1.so ../../de.akaflieg_freiburg.enroute/libs/x86_64/.
- cd ../../de.akaflieg_freiburg.enroute
- mkdir -p build-android-release
- androidCompileSdkVersion="28.0.3"
- cd build-android-release
- cmake .. -DANDROID_ABI:STRING=armeabi-v7a -DANDROID_BUILD_ABI_arm64-v8a:BOOL=ON
-DANDROID_BUILD_ABI_armeabi-v7a:BOOL=ON -DANDROID_BUILD_ABI_x86:BOOL=false
-DANDROID_BUILD_ABI_x86_64:BOOL=false -DANDROID_NATIVE_API_LEVEL:STRING=21
-DANDROID_NDK:PATH=$ANDROID_NDK_ROOT -DANDROID_SDK:PATH=$ANDROID_SDK_ROOT
-DANDROID_STL:STRING=c++_shared -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER:STRING=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-DCMAKE_CXX_FLAGS="-Werror -Wall -Wextra" -DCMAKE_C_COMPILER:STRING=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
-DCMAKE_FIND_ROOT_PATH:STRING=$Qt5_DIR_ANDROID -DCMAKE_PREFIX_PATH:STRING=$Qt5_DIR_ANDROID
-DCMAKE_TOOLCHAIN_FILE:PATH=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake
- cmake ..
- make -j`nproc`
- $Qt5_DIR_ANDROID/bin/androiddeployqt --input android_deployment_settings.json
--output android-build --release --apk de.akaflieg_freiburg.enroute_280.apk
ndk: r21e
AutoUpdateMode: None
UpdateCheckMode: None
CurrentVersion: 2.7.0
CurrentVersionCode: 207000
CurrentVersion: 2.8.0
CurrentVersionCode: 208000

View file

@ -51,18 +51,24 @@ index 251e4d45..c0c6b0f1 100644
)
diff --git a/src/MobileAdaptor.cpp b/src/MobileAdaptor.cpp
index 093a2a8b..d43d6dd8 100644
index 093a2a8b..30acdfc8 100644
--- a/src/MobileAdaptor.cpp
+++ b/src/MobileAdaptor.cpp
@@ -201,14 +201,13 @@ extern "C" {
@@ -200,15 +200,18 @@ extern "C" {
JNIEXPORT void JNICALL Java_de_akaflieg_1freiburg_enroute_MobileAdaptor_onWifiConnected(JNIEnv* /*unused*/, jobject /*unused*/)
{
-
- if (mobileAdaptorStatic.isNull()) {
+ if (Global::mobileAdaptor() == nullptr) {
+ // This method gets called from Java before main() has executed
+ // and thus before a QApplication instance has been constructed.
+ // In these cases, the methods of the Global class must not be called
+ // and we simply return.
+ if (QCoreApplication::instance() == nullptr) {
return;
}
- mobileAdaptorStatic->emitWifiConnected();
+
+ Global::mobileAdaptor()->emitWifiConnected();
}

View file

@ -0,0 +1,40 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a3883498..59f9cf93 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -195,9 +195,9 @@ if( ANDROID )
configure_file(AndroidManifest.xml.in android/AndroidManifest.xml)
configure_file(android/build.gradle android/build.gradle COPYONLY)
configure_file(android/gradle/wrapper/gradle-wrapper.properties android/gradle/wrapper/gradle-wrapper.properties COPYONLY)
- configure_file(android/gradle/wrapper/gradle-wrapper.jar android/gradle/wrapper/gradle-wrapper.jar COPYONLY)
- configure_file(android/gradlew android/gradlew COPYONLY)
- configure_file(android/gradlew.bat android/gradlew.bat COPYONLY)
+# configure_file(android/gradle/wrapper/gradle-wrapper.jar android/gradle/wrapper/gradle-wrapper.jar COPYONLY)
+# configure_file(android/gradlew android/gradlew COPYONLY)
+# configure_file(android/gradlew.bat android/gradlew.bat COPYONLY)
configure_file(android/res/drawable/splash.xml android/res/drawable/splash.xml COPYONLY)
configure_file(android/res/values/apptheme.xml android/res/values/apptheme.xml COPYONLY)
configure_file(android/res/values/apptheme.xml android/res/values/apptheme.xml COPYONLY)
@@ -240,14 +240,14 @@ if( ANDROID )
# The android target depends on our own copy of openssl
set(ANDROID_EXTRA_LIBS
- ${openssl_SOURCE_DIR}/arm/libcrypto_1_1.so
- ${openssl_SOURCE_DIR}/arm/libssl_1_1.so
- ${openssl_SOURCE_DIR}/arm64/libcrypto_1_1.so
- ${openssl_SOURCE_DIR}/arm64/libssl_1_1.so
- ${openssl_SOURCE_DIR}/x86/libcrypto_1_1.so
- ${openssl_SOURCE_DIR}/x86/libssl_1_1.so
- ${openssl_SOURCE_DIR}/x86_64/libcrypto_1_1.so
- ${openssl_SOURCE_DIR}/x86_64/libssl_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/arm/libcrypto_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/arm/libssl_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/arm64/libcrypto_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/arm64/libssl_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/x86/libcrypto_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/x86/libssl_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/x86_64/libcrypto_1_1.so
+ ${CMAKE_SOURCE_DIR}/libs/x86_64/libssl_1_1.so
CACHE INTERNAL ""
)