[Android-development] On False Promises ...

Eskil Abrahamsen Blomfeldt eskil.abrahamsen-blomfeldt at digia.com
Tue Jan 7 08:50:21 CET 2014


On 01/06/2014 05:06 PM, Rubi Mazaki wrote:
>
>     We should be able to get the same level of support for native UI
>     components in Qt Quick Components as in Qt Widgets, but it
>     requires some work. It is definitely not regarded as "out of
>     scope", but the focus of Qt Quick Components so far has been the
>     desktop platforms.
>
>
> Are QML objects designed to appear as iOS/Android controls look and 
> feel? AFAIK this is not the general design. QML controls seem to be 
> designed more for custom UI, custom buttons, .. .etc. Not that it's 
> bad. It's just not NativeUI controls (AFAIK). Other cross-platform 
> frameworks did that by wiring the native controls, in their native 
> language to C++/Js (to name a few: Mosync/Marmalade/Appcelerator) - 
> These frameworks are very strong with that aspect. Qt has quite a hole 
> in that aspect.

Qt has for several years taken the path to emulate native components 
rather than integrate them, as this provides more flexibility. The look 
and feel of the components is provided through a styling API which can 
be adapted to make them fit on Windows, Mac, Android, etc.

> <http://qt-project.org/forums/viewthread/36777/%20>
>>
>> 2. Add Android installations (sdk/ndk) into the Android installer. 
>> Make it setup the paths right to the environment.
>>
>
>     In order to install Google's NDK and SDK, the user has to accept
>     the licenses on Google's download page, so it can unfortunately
>     not be distributed with the Qt SDK (non-redistributability is
>     actually part of the license as far as I've understood). So this
>     is not a trivial issue, legally. We have discussed the possibility
>     of making these available through Qt's online installer, somehow
>     displaying the correct license for the downloads there, but so far
>     we haven't committed to any solution but chosen rather to document
>     the process, since there are a number of unknowns. If the
>     documentation for getting started with Qt for Android is unclear,
>     we would very much like to hear about your specific complaints,
>     since this is something we continually improve. Personally, I
>     think that with proper documentation, users will be able to
>     download these two external packages and set the paths themselves,
>     so our first priority should be to make the documentation complete.
>
> I understand that this is not a simple task (legally). And it was 
> probably discussed internally, but still, it would be appreciated, and 
> it is indeed needed that the user/developer gets the links for the 
> download - somehow... and best, as part of the installation. As an 
> example - Appcelerator does that in their installer - it opens the 
> google sdk download. Why can they?

I don't know exactly what they are doing, but I'm sure there are ways of 
automatically downloading it as long as you provide the correct license 
text to the user first. Not being a lawyer, I'm not going to speculate 
much on this. Why do you believe the Android SDK and NDK are especially 
problematic for users to download manually provided that the 
documentation instructs them on how and where to get them? I don't 
disagree that this would be nice to have, but to me it sounds like this 
is a minor convenience issue and that priorities should currently be 
elsewhere.

>     I'm not entirely sure what path hell you were referring to earlier
>     in your mail. As long as you use the Qt binary package and set the
>     four paths asked of you in the Android settings, then you should
>     be set to go. If you have not done this, then a link to the
>     settings should appear when configuring the kit for your project.
>     We've attempted to make the steps clear in the UI without pushing
>     modal dialogs in your face, striving for a less noisy UI design.
>
>
> I guess it's complex to support the permissions / AndroidManifest.xml 
> on the first Qt version with Android. I guess this is not in priority, 
> it's ok, but at least it should be sufficiently simple for a developer 
> to know how to override the AndroidManifest.xml. This is very basic 
> Android development.

I'm not entirely sure where you're going with this. Qt Creator has an 
option to override the AndroidManifest.xml, it has an 
AndroidManifest.xml editor where you can e.g. add permissions, and Qt 
will automatically add permissions that are required for the modules you 
depend on. What is missing exactly?

>
>     As for the non-working examples: Most of the examples I've tried
>     have worked for me. Some of the Qt Widgets examples will look bad
>     because they have not been written to work below their minimum
>     sizes (basically they're specifically written to run well on a
>     desktop system), but they will still work as designed. As you
>     mentioned, Qt WebKit has not been ported to Android, so those
>     examples will not work, but you should have got an error message
>     about this when trying to compile these examples. Same for
>     examples that depend on desktop GL, DBUS, etc.
>
>
> The android installer is separated from the other desktop installers. 
> In fact the samples are only provided in the x86 android installer and 
> not under arm-v5/7. I guess it runs under x86 emulator well - as the 
> emulator does not require app permissions.

There are separate offline installers for desktop versions, there's an 
offline installer for Android which contains a desktop build of Qt and 
on OS X there's a combined offline installer for Android/iOS/Desktop. 
There's also an online installer where you can pick and choose exactly 
the Qt builds you wish to use.

The examples are only contained in the desktop build currently, even in 
the mobile packages. This is a packaging oddity, but I guess it kind of 
ties in with your suggestion that examples be removed completely from 
the Android kits until they were verified one by one. Currently there 
are no examples in the Qt for Android directory in the package, and when 
we put examples in there it should definitely be a verified list of 
things that are suitable for showing off Qt for Android.

>
-- Eskil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/android-development/attachments/20140107/ff058d1b/attachment.html>


More information about the Android-development mailing list