T
T
tucnak2011-07-21 17:59:52
Android
tucnak, 2011-07-21 17:59:52

Compiling Qt GUI for Android

Is it even possible to compile a Qt GUI project under Android? Maybe there are some separate plugins or compilers? I've just never dealt with the Android SDK, and now I don't have time to learn. The task is to write a 100% cross-platform application. Qt doesn't compile for Android by default.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
ertaquo, 2011-07-21
@tucnak

sourceforge.net/p/necessitas/home/necessitas/

Z
Zigmar, 2011-07-22
@Zigmar

“100% cross-platform” can only be achieved in games, and then at a big stretch (there will still be differences between devices and platforms), and then because games almost do not require integration with the system and system services. For general-purpose applications that require interaction with a device, it is unlikely that it will be possible to achieve acceptable cross-platform, both technically and conceptually - for example, if you simply transfer the design and workflow of an application from iPhone to Android or vice versa, you will get complete garbage (although stupid clients like to demand “I want the program for Android to look exactly the same as for iPhone”).
However, although as I wrote, 100% portability is unlikely to be achieved, there are all sorts of ways to reuse large chunks of code, for example:
1. Write a back-end in C ++, which is supported by almost all major mobile platforms (with the exception of WP7) and make the “face” native for each platform. The best option from the point of view of user experience, but one of the most time-consuming, only completely separate code for all platforms is worse.
2. Use one of the many libraries for cross-platform development. It will reduce development time, but has its drawbacks - a "non-native" look & feel (which is forgivable for fully stylized game interfaces, but not very good for normal applications), plus an additional abstraction level with additional glitches and quirks (which in the zoo of mobile devices and platforms and that's enough). Another problem with such libraries is that they often work on the principle of the least common denominator, without a tambourine they provide access only to features available on all platforms, and even then not always.
Specifically about Qt - the official version of Android does not support and compiling Qt for android NDK will be verycomplicated. The NDK provides only a minimal set of APIs, a little more than just libc, libm, libgl and limstdc++, and accordingly you will have to compile all the dependencies yourself. As for the android port mentioned above, as far as I know, the project is still very raw, and I doubt that it is suitable for production. Having a cross-platform Qt-level library for Android would be great (I'm looking forward to it myself), but I'm afraid it's still a long way off.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question