Qt World Summit: Register Today!

On false promises...

  • It's the greatest thing since the wheel! I told them. They have iOS+Android support out of the box! They can even debug C++ on Android!

    After 8 hours of download I finally managed to get the 5.2.0 Android installation for my Windows machine.
    Being an android developer at my day job, I wanted my home group (my startup...) to start using QT for some mobile app we plan. So, after reviewing a number of cross platform frameworks, and being a QT fan for a number of years now, I told the guys that this is what we need. The right way to develop cross-platform software..

    Once the installation finished, I immediately opened the first sample that caught my eye. Some photo viewer. Trying to run it I found that the deployment failed for some reason. Investigating the cause got me to understand that, I had no Android NDK installed, and that my Android SDK is not updated.
    To make things short, after seeking the right version of NDK to install I understood happily, that Qt supports the last version of the NDK (9.something..) which is a plus.

    At this point I must say, that a newbie to Mobile dev would flee to Titanium Appcelerator. Why did the installer not installed the SDK/NDK (or at least asked to)?

    Being a super Qt/Eclipse dev, and an experienced Android dev, I knew that "just running" QT without setting up the environment variables (JAVA_HOME, PATH - with java JDT bin path in it, and without other dev environments set to it...) Qt will just not compile android apps. So, with that experience, and for my knowledge most people will fall in this path HELL, I managed compiling the Android app, and I even managed to select the right arm5/7 for my phone (Samsung Galaxy II) - another pitfall..
    Newbies don't understand the difference between x86 (emulator) arm5 (old phones?) and arm7 (new phones?). Even novice android devs don't really know the difference between the arm versions..

    Finally! I managed to deploy the QML app to the Android device. It even run after showing me weird errors about QML debug info that is missing from my application. Whatever I said. This will not stop me. QML can be debugged on the computer, and C++ is better anyway (considering that Native UI components are out of the scope anyway?)

    I than found that, the controls in the applications look very small, and that the photo-surface sample could not access any photo on my phone. It started in the wrong (apparently) folder, and after trying to navigate through the directories I got the application stuck after 5 attempts. I didn't see a single photo ...

    Ok, I told myself. I am strong. I am potent. I can do it .. or not..

    I looked up in the internet, and found that I could merge in an AndroidManifest.xml file. Maybe if I would set the permissions, the sample would finally work!
    I didn't find too many places describing how to set my custom AndroidManifest.xml into the .pro project file. But I pushed harder, and I found that if you specify the source directory for the AndroidManifest.xml than you could get it to work. After some trial and error, I setting up all of the available android permissions to the sample. I even checked on the application menu of the phone, and the permissions where successfully set. All the 350 of them :)

    It didn't help though.. It still didn't show any photo, and I still could not browse to the right folder...
    I gave up on that sample, and tried a few more others.
    To short it up: I found out that none of the samples did work as expected, and the only one that did run was "chip" which did not fit to my small mobile screen...

    There are at least 3 samples using WebKit in the sample directory. Webkit is not supported in the arm builds. I found it out googling it out... there's an open issue in the Qt JIRA.

    I know one can use Qt to develop mobile applications. I just know it :) But the installation (not to talk about the slow to hell download available by the qt-project.org site) missing critical parts (Android at least...) and the Samples directory filled up with malfunctioning samples, all fit maybe to tablet x86 emulator, are just inadequate for starting up development.

    These are small things. But they put Qt in a very bad light.

    My Proposal:

    1. Downloads can be put to torrents. Even with open source resources - Let some people be the "torrent keepers" (I volunteer my home connection at day time..) use uTorrent and leave the downloads open.
    2. Add Android installations (sdk/ndk) into the Android installer. Make it setup the paths right to the environment.
    3. Remove all samples from the directory and enter them back, one by one, once they are adapted for mobile development! It is better if there are no samples at all at first !!!
    4. armv5/7 ?? what are these? we don't know... You need to let the developer know what to choose.. when to use arm5 and when arm7. Best if this is available in the GUI of QtCreator.
    5. If QML debugging is not supported on a real phone, don't even let me start the deployment. It is much more constructive for the developer to know what he/she can't do at development time, and not after the deployment...

    Hope my "recommendations" will fall hard on good ears :)

  • Lifetime Qt Champion


    While your post is interesting to read, I think you choose the wrong place for it. Qt devs on this forum are pretty rare (it's a user oriented forum), you should rather bring your points on the interest mailing list

  • I am not yet ranked enough to post it in a blog... I will look for the mailing list though ..

  • Lifetime Qt Champion

    I didn't suggest any blog post, it would probably be the same problem and wouldn't really help. The mailing list is the way to go (don't forget to register before sending the mail)

  • Its on the mailing list.

  • On the android-qt mailing list..

Log in to reply