summaryrefslogtreecommitdiffstats
path: root/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
Commit message (Collapse)AuthorAgeFilesLines
* Android: Do not extract QML assets dataBogDan Vatra2019-10-021-290/+5
| | | | | | | | | | | | | | Instead to extract the assets QML file, we create a .rcc bundle file which is register by android qpa plugin before the it invokes the main function. Thsi way we avoid extracting the QML files from assets as they can be accessed directly from resources. [ChangeLog][Android] Instead of bundling QML resources in assets and extracting them on first start, Qt now creates an .rcc file and register it before invoking the main function. Change-Id: Icb2fda79d82c5af102cc9a0276ff26bb0d1599e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-17/+60
| | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* android: Properly indicate successful Qt installRob Samblanet2019-04-151-25/+75
| | | | | | | | | | | | | | | | | | | | | This patch ensures that installed files are written to physical disk before the 'cache.version' file is written. QtLoader.java uses the 'cache.version' file written during self-installation to indicate whether re-installation is necessary. The 'cache.version' file, however, was being written at the start of installation, so its existence merely indicated that the installation was attempted. In the case of power loss during installation, the existence of 'cache.version' would prevent retrying installation on the next launch, so the bad installation was irrecoverable. [ChangeLog][Android] Fixed an issue where an application installation would be irrecoverably broken if power loss or a crash occurred during its first initialization run. Fixes: QTBUG-71523 Change-Id: If771b223a0a709a994c766eea5a4ba14ae95201e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove "/data/local/tmp/qt/" supportBogDan Vatra2019-01-311-39/+20
| | | | | | | Google removed this support long tima ago, also we removed it from QtCreator. Change-Id: I326da09e9e57f655eecfd1f25f39b4bd9c6784d1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix libs dir location on arm64BogDan Vatra2019-01-071-1/+1
| | | | | | | | | | On Android arm64 the native libs are not in /data/app/../libs/... anymore but they are moved to some random location, so, trying to load the libs from old location will fail. Fixes: QTBUG-72616 Fixes: QTBUG-71027 Change-Id: I70263c8ae2d014999fbc78f40bd9b7d04d31d1dd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Default to no style extraction on Android P when the target SDK is < 28Christian Strømme2018-10-081-4/+16
| | | | | | | | | | | | | | | | Applications with target SDK version lower then 28 running on a device with version greater or equal to 28 will cause compatibility warnings, so default to none when the extract_android_style value is set to default. Note that the new value "default" was introduced to allow this kind of changes in the future, i.e., selecting the best solution based on some simple heuristics. Adding a new value also keep compatibility and allows the user to explicitly set a value when needed. Task-number: QTBUG-69810 Change-Id: I68301716767870ce6de40e45742d9c5fc263ee25 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix Android loaderThiago Marcos P. Santos2018-05-141-5/+10
| | | | | | | | | Invalid syntax due to missing closing brackets and exception not being handled when calling .close() on a stream. Change-Id: If8f191fbc44fe1b031fd86abff5163bca434156a Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Avoid to fail to close stream on exceptionAndré Klitzing2018-05-041-15/+43
| | | | | | | | Move .close() to finally block. Found by spotbugs. Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Remove unused variableAndré Klitzing2018-03-051-1/+0
| | | | | | | Found by spotbugs. Change-Id: I0aa81e45ced0a995adb5e4a45be925e5ef219a77 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Load Qt libs from Qt threadBogDan Vatra2018-02-111-4/+0
| | | | | | | | | | | [ChangeLog][Android] The application and dependent Qt libraries are now loaded on the same thread as main() is run on, ensuring that global static initializers, constructor functions, and main() are all run on the same thread. The same applies during application shutdown, for destructors of global objects, and destructor functions. Change-Id: Id4bfece1ed2a0532ed2e8fb7d8ffd6e55d5a10dc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: use a canonical data dir for Qt environment variablesv5.10.0-rc3v5.10.0J-P Nurmi2017-11-301-1/+2
| | | | | | | | | | | | | | | ApplicationInfo.dataDir holds "/data/user/0" (Blackberry PRIV running Android 6.0.1), which is in fact a soft link to "/data/data". This directory is used as a prefix for various Qt environment variables, including QML2_IMPORT_PATH, which in turn is used for resolving QML type URIs, looking up Qt Quick Controls 2 styles, and so on. The QML engine is not happy with "/data/data" and "/data/user/0" being wildly mixed for QML types in the same module. Use the canonical path instead to avoid such conflicts. Change-Id: I1fd45736728ee662942d7ef48c3fbc553981c59b Task-number: QTBUG-64868 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Android: Allow deploying Qt apps as system appsAnton Miller2017-06-281-23/+49
| | | | | | | | | | | | | | | | | | The main app shared library and shared dependencies are not automatically deployed when the apk is placed in /system/app or /system/priv-app. In such cases, we need to place these libraries in /system/lib and tell QtLoader to load them from here. It is possible to specify a custom library path in AndroidManifest.xml. [ChangeLog][Android][QtLoader] Enabled loading shared libraries from /system/lib or a custom path specified with the android.app.system_libs_prefix metadata variable in AndroidManifest.xml. This allows deploying Qt apps as Android system apps. Change-Id: I8388e91a53475b06a027467face45c08f096fbf8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix different look when running the application second timeBogDan Vatra2017-05-031-2/+4
| | | | | | | | The problem was introduced in Qt 5.7. Task-number: QTBUG-60297 Change-Id: I46265b24e104e08fe5b8026e5441514a438582c9 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-131-1/+1
| | | | | | | | | | | Also bump minimum required Qt version for Android: Ministro updates. Conflicts: src/android/java/src/org/qtproject/qt5/android/bindings/QtActivityLoader.java src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java src/plugins/platforms/android/androidjnimain.cpp Change-Id: I966f249bebf92da37bfdeb995ad21b027eb03301
* Android: fix crash when subclassing the QtActivityBogDan Vatra2016-04-131-2/+4
| | | | | | | | | | m_context.getClass() returns the top class and this way QtApplication can't find the proper class Name (QtActivity and QtService). This patch passes the right class names to QtLoader/QtApplication. Task-number: QTBUG-52373 Change-Id: Ib69446cdaa38ac8b489872c4850210e5d503492e Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Allow the user to choose how much from Android theme is extractedBogDan Vatra2016-03-221-3/+17
| | | | | | | | | | | | This way Quick Controls 2 users will have a much faster start up and the extraction time is reduced x10. [ChangeLog][Android] Allow the user to choose how much from Android theme is extracted. Change-Id: I063086251880d50d7fdd72ee35536c4094b47f74 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Say hello to Android ServicesBogDan Vatra2016-02-171-0/+655
This changeset enables running a QCoreApplication from within an Android Service. The Android Application running can now have a QtActivity or a QtService, but having both in the same process is not supported. This patch was based on Cory Slep's patch [ChangeLog][Android] Qt can now be used to easily create Android Services. Task-number: QTBUG-37221 Change-Id: I0fd693daaa85b991940ffe9cc41c483022677199 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>