GCompris compilation with gradle
ClosedPublic

Authored by jjazeix on Oct 22 2019, 12:47 PM.

Details

Reviewers
timotheegiet
Group Reviewers
GCompris
Summary

For android, compilation with Qt5.12.4 minimum (well tested with 5.13.0)
Uses gradle, ndk r18 and openssl 1.1.1c

64 bits build, not yet tested

Test Plan

cmake -DCMAKE_TOOLCHAIN_FILE=~/extra-cmake-modules/install/share/ECM/toolchain/Android.cmake -DANDROID_PLATFORM=android-21 -DANDROID_API_LEVEL=21 -DQt5_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5/ -DQt5Qml_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Qml/ -DQt5Network_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Network -DQt5Core_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Core -DQt5Quick_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Quick -DQt5Gui_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Gui -DQt5Multimedia_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Multimedia -DQt5Svg_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Svg -DQt5Widgets_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Widgets -DQt5Xml_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Xml -DQt5XmlPatterns_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5XmlPatterns -DQt5LinguistTools_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5LinguistTools -DQt5Sensors_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5Sensors -DQt5AndroidExtras_DIR=~/Qt/5.13.0/android_armv7/lib/cmake/Qt5AndroidExtras ..

make -j 4 && make apk_debug

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
jjazeix created this revision.Oct 22 2019, 12:47 PM
Restricted Application added a project: KDE Edu. · View Herald TranscriptOct 22 2019, 12:47 PM
Restricted Application added a subscriber: kde-edu. · View Herald Transcript
jjazeix requested review of this revision.Oct 22 2019, 12:47 PM
jjazeix edited the test plan for this revision. (Show Details)Oct 23 2019, 10:02 AM
jjazeix edited the summary of this revision. (Show Details)Oct 23 2019, 1:38 PM
timotheegiet accepted this revision.Oct 23 2019, 2:16 PM
timotheegiet added a subscriber: timotheegiet.

Tested here with Qt 5.12.5, works ok.
notes: I didn't use the options -DANDROID_PLATFORM=android-21 -DANDROID_API_LEVEL=21 , and instead edited our AndroidManifest.xml.cmake with minSdkVersion 22 (as 21 won't work with openssl 1.1.1) and target 28 (as required now by play store).

This revision is now accepted and ready to land.Oct 23 2019, 2:16 PM

Ouch, looks like there is now an issue with openssl :(
when trying to download voices and stuff, error message: "Erreur de téléchargement (code : 99) : TLS initialisation failed"

Found solution: we need to copy the files as libcrypto_1_1.so and libssl_1_1.so :)

jjazeix updated this revision to Diff 68613.Oct 23 2019, 4:06 PM

Uses libssl_1_1.so and libcrypto_1_1.so if Qt < 5.13.0
minVersion set to 22

jjazeix updated this revision to Diff 68627.Oct 23 2019, 8:01 PM

Build script updated, works fine for 32b.
Need test for 64b but for 32b, it works fine with Qt5.12.5, Qt5.13.0 and Qt5.13.1

Tested for 64bit:
I updated the script and it works ok, except again openssl is not working (same error as yesterday).
If I use instead the prebuilt libs from KDAB it works.

Here is the diff for the updated script.