diff --git a/metadata/de.akaflieg_freiburg.enroute.yml b/metadata/de.akaflieg_freiburg.enroute.yml index 8cf5a061ab..76d03c2fb0 100644 --- a/metadata/de.akaflieg_freiburg.enroute.yml +++ b/metadata/de.akaflieg_freiburg.enroute.yml @@ -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 diff --git a/metadata/de.akaflieg_freiburg.enroute/enroute_207000.patch b/metadata/de.akaflieg_freiburg.enroute/enroute_207000.patch index bdf11f4cb9..b93644f8e2 100644 --- a/metadata/de.akaflieg_freiburg.enroute/enroute_207000.patch +++ b/metadata/de.akaflieg_freiburg.enroute/enroute_207000.patch @@ -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(); } diff --git a/metadata/de.akaflieg_freiburg.enroute/enroute_208000.patch b/metadata/de.akaflieg_freiburg.enroute/enroute_208000.patch new file mode 100644 index 0000000000..1436964bca --- /dev/null +++ b/metadata/de.akaflieg_freiburg.enroute/enroute_208000.patch @@ -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 "" + ) +