Tuukka Turunen

Necessitas Android Port Contributed to the Qt Project

Published Thursday November 8th, 2012
49 Comments on Necessitas Android Port Contributed to the Qt Project
Posted in Embedded, Qt | Tags: , ,

Together with BogDan Vatra, the main author of the Qt for Android port called Necessitas, we have agreed that he will contribute his work into the Qt Project. This is great news and I am truly excited on the things we can do together in the Qt Project. The Qt 5 Android port will be based on the work done in the Necessitas project and BogDan will also continue his work in this area within the Qt Project. This co-operation will enable us to reach Tier 1 status of Qt for Android faster.

Qt for Android is developed actively under the KDE-hosted Necessitas project. There are already many developers who have deployed their apps with it, and an impressive number of users of the Qt-based apps on Android devices – currently over 800.000 active users and 2,7 million downloads. The work done with Qt 4.8 in the Necessitas project provides an excellent baseline to create Qt 5 support together within the Qt Project. Digia is planning to invest into the further development of Qt on Android and aims to introduce Android as fully supported platform of Qt, i.e. as a Tier 1 platform during 2013.

The efforts of getting Qt to run on Android began in late 2010 by BogDan as a hobby project using the newly available QPA of Qt 4.8.  The first Alpha release was made available in February 2011 and the port has been steadily growing with supported features, maturity and amount of users. With Qt 5 Android development moving to the Qt Project, the Necessitas project will still continue the work around Qt 4.8. It is expected that the port on Qt 4.8, currently in beta maturity, will be completed in the coming months with most of the work being able to be leveraged on top of Qt 5 in the Qt Project.

It is truly an impressive achievement to create the Android platform support of Qt as well as the Necessitas SDK extending Qt Creator for Android development, and the Ministro installer that allows applications to fetch the needed Qt libraries.  BogDan has created most of these, but there have been also many others, for example Ray Donnelly, helping him with the port as well as many others providing feedback.

KDE has been a significant help to the work by providing the needed infrastructure to distribute the SDK as well as the Qt libraries for Android devices. We are grateful for this contribution and hope to be able to continue our co-operation with KDE.

BogDan has expressed interest in being the Qt Project maintainer of the Android port, and I think that would be really great! In addition to BogDan, we want to continue the co-operation with the other members of the community, as we do believe that it is the best way to reach excellent results faster. We are also fully committed in keeping the Android port open and available to all Qt licensees, on both commercial and open-source licenses. The Android port is expected to be available as a development project on top of Qt 5 later this year, and reach full maturity with Qt 5.x releases during next year.

At Qt Developer Days next week in Berlin, we will have a couple of demos running Qt applications on the Android Necessitas port. Hope to see you there. Make sure to sign up! www.qtdeveloperdays.com.


Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Embedded, Qt | Tags: , ,


7 says:

Great, now maybe we will finally see (actually hear) sound in Qt on Android

BogDan says:

You have sound in Qt on Android, check http://community.kde.org/Necessitas/FAQ .

kamil says:

Is there a plan to integrate it into QAudioOutput in the future or should I rather start to implement my own OpenSLES backend ?

7 says:

Yeah, I was talking about Qt multimedia features, not just using OpenSL directly.

Marek says:

Great news, congratulation to everyone involved!

Nikesh says:

definaleapp is a lot better for me after this the nafoticitions actually work. and the quicklink from the notification to actually seeing the messages works ok now too.it does baffle me how this app is severely underdeveloped and undernourished.im sure that facebook will release a phone of their own at some point soon, hence the crappy development .not just a half-assed job with a facebook button but a full Facebook Phone or Facephone or Facebook 1 or something

Ibraheem says:

That’s amazing! Qt is the future!

ASDF says:

Please in C++!!

suy says:

Are there applications (hopefully open source) based on Necessitas already on the market?

The only one I’ve found is called something like “wifi hacker”, that is a “joke” application that it seems that simulates that it cracks passwords for Wifi networks, but besides the fact that is probably pointless, is having negative reviews and is driving negative reviews to Ministro, and confusing users that are writing that is probably a “virus”. I’ve reported the application, but it would be nice if we can do something about it, even as users.

Also, it would be nice if some open source Qt application could be used as a demo, example or test case for Necessitas, and giving positive feedback to Ministro.

Fabio says:

This is a GREAT news!!!!

I tryed Necessitas alpha 4 and I was able to build and deploy a simple GUI application (designed for desktop) on the Android 4.1 simulator (from Android SDK) with ministro.
Obviously, at this stage, there is a lot of work to do but I’m very happy because I always think that Qt Framework ROCKS!!
(I’m becoming a fanboy :-DDD )

P.S.: The simulator from the android sdk is really really slow!!!

q8phantom says:

Find our game on android, it’s something not small, but not open source, it’s free anyways, visit http://www.compassegames.net and grab it .. It will give you an idea of what we can do, 15k downloads and more …

q8phantom says:

http://www.compassgames.net is the correct URL …

darrylwally says:

is the iOS version of your game using Qt as well? If so, how did you go about doing that?

darrylwalky says:

Did you use Qt for the iOS version of your game? If so, how did you go about doing that?

q8phantom says:

The iOS is built with cocos2d-iphone using Objective-C++, but I have tried the iOS SDK ( Commercial version ) and the whole thing works great, so am planing to use it hopefully for the next project am currently working on ( No QML at all, I use QGraphicsView for all my work )

Strahlex says:

I guess its QML, how do you get it working? Never got a QML project working with Necessitas.

q8phantom says:

It’s pure C++ using QGraphicsView …

Salem says:

I’ve tried pure QML applications using necessitas and it has worked very well for me. Although there is a noticeable difference in performance between Qt’s more established platforms and Android with Necessitas, regardless of the specs of the machine.

AlterX says:

That’s very good…qt-components now are very important to facilitate portings!

Soheil says:

Is there anyway to use Necessitas without forcing user to install Ministro and fetch libraries ? Like an static build ? This is what makes me not to use necessitas.

Strahlex says:

There is, but its not easy yet.

Soheil says:

What do you mean by it is not easy ? It’s not that important if it’s easy or difficult. If there is a clean solution to this, please point it out.

Salem says:

I’m also interested in the method. If you can link to something that would help it would be appreciated.

Laszlo Papp says:

So, Digia hired BogDan or they are awaiting BogDan to do the work that they can sell then? That is not what Digia announced previously. They have written us hard commitment. Could someone from Digia please confirm that there are patches coming in?

On the contrary, it is nice to get this merged up in the future if it really happens. We shall see.

Also, there seems to be other contributors on this front, so perhaps join your force guys. 🙂

Turunen Tuukka Turunen Tuukka says:

Yes, we will invest into developing the Android port further and making it Tier 1 platform of Qt 5.x during 2013. It is already possible to run Qt based apps with Qt 4.8 and 5.0 (beta) on Android, and that is an excellent starting point. We hope to have active community around the Android port. If you happen to be coming to DevDays @Berlin, come and hear more.

Laszlo Papp says:

Thank you. 🙂

Unfortunately I am not going this year, but I guess there will be some uploading for us who cannot attend.

test says:

Just curious … How much did you pay Digia for BodDan work ? Did you buy Qt licence from Digia ? From what I know you don’t have to pay Digia at all as Necessitas is free. You can always give your money to BogDan directly, or help him with coding/testing.

Laszlo Papp says:

Sorry if I had sounded a bit negative. I am just thrilled about the opportunity to use Qt on mobile phones as the Harmattan community is getting smaller and smaller. This would be a nice option to lean towards, along with the Blackberry port. Hopefully, more and more people can support this port, too. Keep up the good work. 🙂

@Soheil: certain users will not like the size of the application if you use static builds, but presumably you are aware of that. I at least got such feedback in Ovi store. Perhaps you can already bind the libraries built against your application as we did for Harmattan for instance?

@AlterX: True, I agree, but I am sure once the groundwork is getting stable, that is also going to come! 🙂

DavidB says:

I might have missed it, but what is the minimum version of Android required. Will it work on 2.3 ?

Strahlex says:

API 5+ is required, so yes.

Strahlex says:

Got anyone an example QML project running? I get only died.


I”m not sure what is hindering you in using qml with necessitas, I’ve been using it for quite a while. Only problem i’ve encountered is that it is hard to get the qml files to actually deploy on the target. I’ve worked around it by putting them
all in a resource file, there they can be accessed fine.
My code is available under GPLv2 for study, or reuse. I’m not working on it a lot anymore, it comes and goes with the season, but the repository is available online here:


As for the article, i am glad to hear that Android is to be taken up as an officially supported Qt platform, and am glad that Bogdan is now continuing his work under the official Qt flag. Well done Bogdan!


Tarek Sheash says:

I would like to get in contact with the team holding this contribution any contact information available?

Turunen Tuukka Turunen Tuukka says:

You can find the code and contacts currently from: http://necessitas.kde.org
That is based on Qt 4.8 and will be the base of upcoming Qt 5 port within Qt Project.

desp says:

Is/will be there port for iOS? 🙂

Turunen Tuukka Turunen Tuukka says:

Yes. There will be a Qt 5 port for iOS. We are currently working on it and target is to have it available during 2013. You can see a demo what is already possible from our DevDays video at http://youtu.be/jRQTzrsNeVk

Simon Pickles says:

Congratulations to Bogdan and all involved. This along with an iOS port will see Qt capturing much mobile development marketshare, as long as opengl is supported. Powerful!

Thomas says:

This is great news!

Does the current android port fully support opengl ?
If not, will a future version support it?

Oussaki says:

Now I can developed my own c++ qt applicaition for Android !! ?? is that true ?

7 says:

The Necessitas project has been around for quite a while, even thou not the entire Qt framework has been ported.

One would expect things will get better once Digia commits the main body of development effort towards supporting Android and iOS

Commenting closed.

Get started today with Qt Download now