Details
-
Bug
-
Resolution: Incomplete
-
P1: Critical
-
None
-
Qt Creator 4.8.0
-
Windows 7 x64, NDKr18b
Description
So, 5.12 is finally out, and I tried to give it a go.
First - no more GCC. I guess that is unavoidable at this point, so updating the NDK version.
The project now builds "fine" - that is, without errors. Problem is, there is no APK produced. Just a bunch of object files.
I guess it just doesn't run the deploy tool. Tried to run it manually, just to get an error. It cannot find the configuration file. It searches for a
android-libbuild-test-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Release.so-deployment-settings.json
file, where Qt has generated a
android-libtest.so-deployment-settings.json
file, which does seem more correct. That build information string inserted in the expected file name seems wrong...
Renaming the file to match the exepctation. The next error I am greeted with is about a lacking dependency, the Qt svg module, which wasn't required before to get that project building and running just fine with 5.11.
Adding in the svg module to the project. Another try, this time I get:
Application binary is not in output directory: C:/build-test-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Release//libs/armeabi-v7a/libtest.so.
which is almost spot on, except probably for those // which seem to be messing up the path.
It would be nice to go back to that good old "hit Build and it actually builds an APK" from Qt 5.11. Well, maybe it merits its own bug report, but projects, created with 5.11 actually failed to produce an APK package successfully with my setup, so I ended up having to copy the gradle folder from even older projects, which did help to get good APK builds. Just thought to mentioned it, as it may be related.
Note that issue is for existing projects. Android support in Qt 5.12 seems fine, for newly created projects with that version, and with latest SDK and NDK versions. It is just that those changes seem to break existing projects, so maybe there can be written a script or something to conform old projects to work with the new toolchain, rather than having to recreate the projects.