Trusted Software Excellence across Desktop and Embedded
Take a glance at the areas of expertise where KDAB excels ranging from swift troubleshooting, ongoing consulting and training to multi-year, large-scale software development projects.
Find out why customers from innovative industries rely on our extensive expertise, including Medical, Biotech, Science, Renewable Energy, Transportation, Mobility, Aviation, Automation, Electronics, Agriculture and Defense.
High-quality Embedded Engineering across the Stack
To successfully develop an embedded device that meets your expectations regarding quality, budget and time to market, all parts of the project need to fit perfectly together.
Learn more about KDAB's expertise in embedded software development.
Where the capabilities of modern mobile devices or web browsers fall short, KDAB engineers help you expertly architect and build high-functioning desktop and workstation applications.
Extensible, Safety-compliant Software for the Medical Sector
Create intelligent, patient-focused medical software and devices and stay ahead with technology that adapts to your needs.
KDAB offers you expertise in developing a broad spectrum of clinical and home-healthcare devices, including but not limited to, internal imaging systems, robotic surgery devices, ventilators and non-invasive monitoring systems.
Building digital dashboards and cockpits with fluid animations and gesture-controlled touchscreens is a big challenge.
In over two decades of developing intricate UI solutions for cars, trucks, tractors, scooters, ships, airplanes and more, the KDAB team has gained market leading expertise in this realm.
Build on Advanced Expertise when creating Modern UIs
KDAB assists you in the creation of user-friendly interfaces designed specifically for industrial process control, manufacturing, and fabrication.
Our specialties encompass the custom design and development of HMIs, enabling product accessibility from embedded systems, remote desktops, and mobile devices on the move.
Legacy software is a growing but often ignored problem across all industries. KDAB helps you elevate your aging code base to meet the dynamic needs of the future.
Whether you want to migrate from an old to a modern GUI toolkit, update to a more recent version, or modernize your code base, you can rely on over 25 years of modernization experience.
KDAB offers a wide range of services to address your software needs including consulting, development, workshops and training tailored to your requirements.
Our expertise spans cross-platform desktop, embedded and 3D application development, using the proven technologies for the job.
When working with KDAB, the first-ever Qt consultancy, you benefit from a deep understanding of Qt internals, that allows us to provide effective solutions, irrespective of the depth or scale of your Qt project.
Qt Services include developing applications, building runtimes, mixing native and web technologies, solving performance issues, and porting problems.
KDAB helps create commercial, scientific or industrial desktop applications from scratch, or update its code or framework to benefit from modern features.
Discover clean, efficient solutions that precisely meet your requirements.
Boost your team's programming skills with in-depth, constantly updated, hands-on training courses delivered by active software engineers who love to teach and share their knowledge.
Our courses cover Modern C++, Qt/QML, Rust, 3D programming, Debugging, Profiling and more.
The collective expertise of KDAB's engineering team is at your disposal to help you choose the software stack for your project or master domain-specific challenges.
Our particular focus is on software technologies you use for cross-platform applications or for embedded devices.
Since 1999, KDAB has been the largest independent Qt consultancy worldwide and today is a Qt Platinum partner. Our experts can help you with any aspect of software development with Qt and QML.
KDAB specializes in Modern C++ development, with a focus on desktop applications, GUI, embedded software, and operating systems.
Our experts are industry-recognized contributors and trainers, leveraging C++'s power and relevance across these domains to deliver high-quality software solutions.
KDAB can guide you incorporating Rust into your project, from as overlapping element to your existing C++ codebase to a complete replacement of your legacy code.
Unique Expertise for Desktop and Embedded Platforms
Whether you are using Linux, Windows, MacOS, Android, iOS or real-time OS, KDAB helps you create performance optimized applications on your preferred platform.
If you are planning to create projects with Slint, a lightweight alternative to standard GUI frameworks especially on low-end hardware, you can rely on the expertise of KDAB being one of the earliest adopters and official service partner of Slint.
KDAB has deep expertise in embedded systems, which coupled with Flutter proficiency, allows us to provide comprehensive support throughout the software development lifecycle.
Our engineers are constantly contributing to the Flutter ecosystem, for example by developing flutter-pi, one of the most used embedders.
KDAB invests significant time in exploring new software technologies to maintain its position as software authority. Benefit from this research and incorporate it eventually into your own project.
Start here to browse information on the KDAB website(s) and take advantage of useful developer resources like blogs, publications and videos about Qt, C++, Rust, 3D technologies like OpenGL and Vulkan, the KDAB developer tools and more.
The KDAB Youtube channel has become a go-to source for developers looking for high-quality tutorial and information material around software development with Qt/QML, C++, Rust and other technologies.
Click to navigate the all KDAB videos directly on this website.
In over 25 years KDAB has served hundreds of customers from various industries, many of them having become long-term customers who value our unique expertise and dedication.
Learn more about KDAB as a company, understand why we are considered a trusted partner by many and explore project examples in which we have proven to be the right supplier.
The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications.
Read more about the history, the values, the team and the founder of the company.
When working with KDAB you can expect quality software and the desired business outcomes thanks to decades of experience gathered in hundreds of projects of different sizes in various industries.
Have a look at selected examples where KDAB has helped customers to succeed with their projects.
KDAB is committed to developing high-quality and high-performance software, and helping other developers deliver to the same high standards.
We create software with pride to improve your engineering and your business, making your products more resilient and maintainable with better performance.
KDAB has been the first certified Qt consulting and software development company in the world, and continues to deliver quality processes that meet or exceed the highest expectations.
In KDAB we value practical software development experience and skills higher than academic degrees. We strive to ensure equal treatment of all our employees regardless of age, ethnicity, gender, sexual orientation, nationality.
Interested? Read more about working at KDAB and how to apply for a job in software engineering or business administration.
Update: Here you can read also the Chinese version, thanks goes to Foruok.
Use Qt on Android
After we learned how to setup the development environment, we'll move forward in this article and learn how to use Qt Creator 3.0 (the one that comes with Qt 5.2 SDK) to create, run, debug and setup Qt apps on Android. The article covers only the Android specific Qt Creator parts!
Prepare your Qt Project for Android
If you want to start a new project or just want to test if you've setup the development environment correctly, then when you create a new project make sure you are also choosing an Android KIT. Check the following image:
If you already have a project and you want to Androidize it, you just need to add an Android KIT to your existing project. Check the following image:
To compile, deploy, run and debug Android apps, first you need to select an Android KIT. Check the following image:
Let's test it !
To test the application on Android just press the Run/Debug button!
Shortly a dialog will appear listing all compatible/incompatible connected devices and available emulators. Choose the desired device, and if you are planning to use the same device to run more than once this application, then you should check Use this device for architecture.., which means that you'll will not be bothered again, Qt Creator will use this device automatically. The following image shows you how it looks on my computer:
In a few moments your application should run on your device. If you choose an AVD, it will take some time until it starts, so, please be patient!
If you checked Use this device for architecture ..., this option is remembered by Qt Creator until you reset the default devices or you close the project session. To reset the default devices, you need to open Projects perspective, click on Run tab, expand Deploy configurations and click on Reset Default Devices button.
You don't need to do anything special to debug Qt apps on your device/emulator, it just works out of box. Just make sure that your device uses Android API-10+.
Android Manifest
Every single Android application needs a manifest file. This is the entry point of your application, Android uses this file to decide which Application/Activity to start, it contains the application permissions, declares the minimum and the target Android API that application needs, and many more things. androiddeployqt (a tool used by Qt Creator to deploy your application) uses an Android Manifest template and fills a few default values to run your application. But in order to publish your application it is not enough, so we need to create an AndroidManifest.xml file. To do that, open Projects perspective, click on Run tab, expand Deploy configurations and click on Create AndroidmManifest.xml button. Don't forget to add this file to your SCM. Check the following image too see how you create an AndroidManifest.xml file:
Now, after we've created the AndroidmManifest.xml it's time to set it up. Qt Creator should open the AndroidmManifest.xml file automatically after you created it.
As you can see Qt Creator provides a nice, easy to use editor for it. Using the editor you can set the following fields:
Package name. The package name is:
reversed URL e.g. com.kdab.QtControlsExample
serves as a unique identifier
don't change after publishing, app would no longer be upgradable
Version code/name. Next step is to set the version code and version name. For the start you don't need to change anything, but every time when you publish a new application you must change these fields, so they are very important.
Version code - used by Android and markets to distinguish between versions
Version name - user visible version string, displayed by Android O.S. and markets
Minimum and target SDK. Qt Creator editor uses Minimum and Target SDK to set node attributes.
Minimum required SDK - edits android:minSdkVersion attribute. Is an integer API version that is used by Android markets to filter the devices that can install the application. It also used by Android O.S. to prevent the application to be installed on lower versions.
Target SDK - edits android:targetSdkVersion attribute.
Android docs says:"This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version. The application is still able to run on older versions (down to minSdkVersion)."
This attribute should not have any effects for Qt only Android apps though.
Application name. Qt Creator helps you only to set the application name only for English version.
Run. Here you should select the application that you want to start. Most of the projects have only one application, so, it is not necessary to select anything here.
Permissions. Permissions are very important for an Android application. If you don't set them properly your application can't access O.S. resources (e.g. network, write on external storage, etc.).
Starting with Qt 5.2 SDK, qmake uses ANDROID_PERMISSIONS variable to set the minimum permissions for every Qt Module that should be set automatically by androiddeployqt tool, but in some cases you need to add/remove them manually. Qt Creator helps you on this matter with a nice permissions editor.
Your application should not declare more permissions than it really needs because it will scare away the users!
Please consult Android's manifest permissions page for more informations on this topic: http://developer.android.com/reference/android/Manifest.permission.html
This is how the Qt Creator Android manifest editor looks like for my QtQuick example application. My example application doesn't need any special permissions, so I removed all of them.
The Android manifest is quite complicated sometime you need to edit it manually. Qt Creator allows you to switch to XML Source.
Android Target SDK, this is the SDK used to compile the java part of your application.
Don't be afraid to select the highest SDK available, your application will still run on any Android API-9+. Qt's java part is using only API-9 code!
"Say what? Yet another SDK? How many SDK do we need to set?" Well there are 4 (four) Android SDKs involved :), in the manifest file are 3 (Minimum, Target and Maximum) and this one.
Additional libraries. Use this editor to add any 3rd party libs to your project. Qt Creator edits your .pro file and it sets ANDROID_EXTRA_LIBS qmake variable. Of course the developer should not try to mix incompatible libs e.g. a x86 library can't be used by an arm application.
Because KDAB guidelines says that I should not create articles which have more than 1k words (and this one has more) I need to stop here. See you next time when we'll see what deploying systems are available for Qt on Android and how we do the package signing. These two steps are the most important before publishing!
Has anybody run Qt 3D from git on Android? I haven't tried it myself, and don't want to try if it isn't going to work
22 - Jan - 2014
BogDan Vatra
Personally I didn't try it, but it should work ...
23 - Jan - 2014
foruok
I'd like to translate your post to Chinese, and post on www.csdn.net. My blog is http://blog.csdn.net/foruok. I had translate episode 1 today. Can you give me the authorization ?
23 - Jan - 2014
BogDan Vatra
Sure, no problem at all!
You can send me the links to these translations and I'll add them for Chinese people that wants to read them in Chinese.
23 - Jan - 2014
foruok
And I have a question, how can I implement a Android service use Qt on Android ?
23 - Jan - 2014
BogDan Vatra
Keep an eye on KDAB's blogs, I'll write an article about it :) !
24 - Jan - 2014
foruok
Hi, BogDan Vatra:
here is the Chinese version of Qt on Android Episode 1, http://blog.csdn.net/foruok/article/details/18697377.
Because I don't have your email, I'll post the link below your posts. Here is my email: foruok@163.com, if necessary, please contact me.
12 - Feb - 2014
Claire
Hello, BogDan Vatra, I love ur blogs. Could you help me with one quesition about qt for android ,please? How to add .so file into apk?,I found 'Additional libraries' editor is always disabled ,how can I enable that ? Looking forward to ur reply, thank you very much. And hope to see more blogs!
19 - Feb - 2014
BogDan Vatra
Additional libraries should be enabled ...
Anyway, if for some is disabled, the you can manually edit your .pro file and add the full path to your lib to "ANDROID_EXTRA_LIBS" qmake variable.
18 - Feb - 2014
sefa
Thanks for shares.I 'm new at Qt world and I finished a game using qml and js code for android. And I preparate version control, icon using manifest.xml file after reading your episode. But I could not add admob my project even though my struggle. I could not find any documantation for it. Could yo give me a few advance.Thanks
19 - Feb - 2014
BogDan Vatra
Well, you need to extend QtActivity to do it and to add admob dependency.
The problem is that the dependency in ant build system in the latest Android SDK is completely broken and adding admob even to a java only android application is not an easy job.
In the future I'll write another article which will explain all the steps.
19 - Feb - 2014
sefa
Thanks. I'm waiting eagerly.
20 - Feb - 2014
Mike
Thanks a bunch for the articles. Keep them coming. I would like to use QtSerialPort on android with 5.2 is this currently possible? If so, how do you do it. The android version seems to be missing from 5.2. I did manage to compile from the repository but when running it I only got ttyGS0 and ttyUSB0. I did not see any ttyS0 which is what I was expecting. Am I missing something in the manifest file? I have not tried to make one yet. Thanks for any light you can shed on this problem.
3 - Mar - 2014
BogDan Vatra
I don't know the status of Qt Serial Port on Android, the guys that are working on it said that it should work. Please check on Interest ML(http://lists.qt-project.org/mailman/listinfo).
23 - Feb - 2014
armas
Hi,
Thanks for sharing. I make a small app for learning how deploy to store android app but I was encountring trouble problem.When I set the app name from manifest file like that
Application Name:Attetion and Memory
and deploy my device, not change my app name. My project name brain.pro. And When I deploy to my device app name is seem brain. How can I set the project name . Thanks for answer
3 - Mar - 2014
BogDan Vatra
Did you used QtCreator to create your manifest file? If not then make sure you set "ANDROID_PACKAGE_SOURCE_DIR" qmake variable in your .pro file.
26 - Feb - 2014
Jhon
I am chinese. How can I Create an non-full-screen android widget app ? Thanks
3 - Mar - 2014
BogDan Vatra
Currently you can't create Android widgets using Qt.
7 - Mar - 2014
Marco
BogDan:
I would love for you to dump out what it takes to communicate via JNI/C++ and edit/insert java code into MainActivity.java and not need to touch ANT.
Many thanks to you for doing all this work.
22 - Mar - 2014
zjgo007
How to add a third party jar libraries into QtCreator?
8 - Apr - 2014
BogDan Vatra
Qt Creator has no such an option. You need to do it manually:
- create an android folder, create a libs folder
-copy your .jar files there
- hit run button, ant should add the .jar files to the final .dex file.
More about this topic in 5th episode of the Qt on Android series.
25 - Mar - 2014
Arne Burghardt
Hi BogDan,
thank you for the helpful blog.
I have a proposal for part 4 or 5 (if you have the time to do it...):
Interaction between Qt and Android through JNI
Some topics, which should be covered:
- How can I access Java methods from Qt ?
- How can I emit Qt signals from Android intents ?
- Is a Java wrapper always necessary ?
25 - Mar - 2014
BogDan Vatra
No. 5 will address the JNI stuff,no. 4 will focus on deployment and packaging.
25 - Mar - 2014
Arne Burghardt
Perfect :-)
Do you have any rough timeline for the blog release so far ?
I am asking, because I am currently fighting/struggling with the JNI stuff...
25 - Mar - 2014
BogDan Vatra
I hope this month (early next month) to finish ep. 4 and in may ep. 5.. If you can't wait until then you can sign up for Paris "Free Qt on Android Coffee and Code Sessions" where I present also the JNI part :)
25 - Mar - 2014
Arne Burghardt
Paris is nice indeed :-) Nevertheless, if you are able to share your presentation about this part somewhere... ;-) This would be very helpful. Again, thank you for your support !
26 - Mar - 2014
sefa
Hello again BogDan.
In the past days I put an application in google store. Now I need to update the application. I signed the application at project file, then when I deploy to device, it constantly wanted to password of certificate keystore. Even though entering the correct password is continuously repeats the same thing. I can not sign application. How can I overcome this problem? I created another keystore and try again, the problem continues.
I managed JNI Integration within my Qt-Application for a science project in my company. The base information I used to do the JNI-Part can be found on the necessitas project page maintained at kde.org. Here is the link to this great tut: http://community.kde.org/Necessitas/JNI
I use the JNI interface for controling Bluetooth smart API on a Nexus 7 via an android service. For data-exchange between java and c/c++ I use a jbyte-array that I convert to a standard c-char-array.
By the way: BogDan, u have done great work for the Qt-world!!
Best Regards Michael
4 - Apr - 2014
Hamed Masafi
What about android service?
How can I create android service using Qt? Nothing in Qt 5.3 beta!!!
4 - Apr - 2014
BogDan Vatra
There is no easy way to write an Android service using Qt. The problem is that Qt 5.x has no API to create services. Long time ago in a faraway galaxy there was a Qt Service frameworks(http://doc.qt.digia.com/qtmobility/service-frameworks.html) but it is not available for Qt 5.x. A generic service framework with an Android backend is on my todo list, but I'm afraid it will not be ready sooner than Qt 5.5 (I have other features on my list that must go before services).
You can create an android service and just use Qt code via JNI but is not an easy job ...
5 - Apr - 2014
Hamed Masafi
Ok;
I'm going to do that. Can you guide me? Or show me a start point?
Badly need a tutorial about how to deploy qml extension plugins ..
9 - Jul - 2014
V. B. Macit
how about android service with qt have you written something about it as you mentioned?
31 - Jul - 2014
http://www.vonloh-bremen.de/
Useful info. Fortunate me I found your web site accidentally, and I am shocked why this
accident did not happened earlier! I bookmarked it.
21 - Aug - 2014
wade
can I use WebKit? I have an application that creates on the fly "web pages" for the display of text. I have ported to Qt from IOS for the desktop, now want to port it to android.
If not, could I use Qt libraries from an android App NDK and use the QT string handling routines?
16 - Sept - 2014
EdOfTheMountain
Is source code available?
I am having difficulties understanding AndroidManifest.xml and how it relates to JNI calls. My JNI calls do nothing and I expect my problems are the manifest.
MyJavaClass uses a package name of "com.mycompany.myapp".
I set my manifest/[@package]="com.mycompay.myapp".
What should manifest/application/[@android:name] or manifest/application/activity/[@android.name] should be set to?
My app crashes and fails to run on my device when activity android:name="com.mycompany.myap.MyJavaClass"?
Any tips on naming and JNI calls are much appreciated.
-Ed
Qt5.3.1
24 - Sept - 2014
BogDan Vatra
You should set manifest/application/activity/[@android.name] to ”com.mycompany.myap.MyJavaClass” but MyJavaClass MUST extend QtActivity class.
20 - Nov - 2014
jerrychen
Hi BogDan:
I'm new to the Qt for android,I have trouble in debugging the Qt application for android.The Qt version is 5.3.2(open source),and the versions of android NDK and SDK are r10c and r23.02. after configuration,I open a turtoral appliation(analogclock precisely). the compile and deployment to android device goes smoothly,and the application really works. however, when I try to set a breakpoint and debug it. the application on android device suddenly quit when it hit that breakpoint. If I remove that breakpoint, everything goes well.I don't know how to handle this issue,can you help me?
20 - Nov - 2014
BogDan Vatra
Hi,
I need more information about the device. Currently the debugging is not working on devices with Android 5.0.
25 - Nov - 2014
jerrychen
sorry for late reply, the device runs android 4.2 , and now the problem has been solved.
27 - Nov - 2016
Rahul
I have a problem using Qt for android i.e.
Qt5.7.0 and have also added NDK, SDK, JDk and ANT to the Qt Android settings.
While i just try to run a hello world application created by default, it gives a error like
x86_64-linux-android-g++: error: unrecognized command line option '-marm' during Build.
45 Comments
21 - Jan - 2014
Jason
Has anybody run Qt 3D from git on Android? I haven't tried it myself, and don't want to try if it isn't going to work
22 - Jan - 2014
BogDan Vatra
Personally I didn't try it, but it should work ...
23 - Jan - 2014
foruok
I'd like to translate your post to Chinese, and post on www.csdn.net. My blog is http://blog.csdn.net/foruok. I had translate episode 1 today. Can you give me the authorization ?
23 - Jan - 2014
BogDan Vatra
Sure, no problem at all! You can send me the links to these translations and I'll add them for Chinese people that wants to read them in Chinese.
23 - Jan - 2014
foruok
And I have a question, how can I implement a Android service use Qt on Android ?
23 - Jan - 2014
BogDan Vatra
Keep an eye on KDAB's blogs, I'll write an article about it :) !
24 - Jan - 2014
foruok
Hi, BogDan Vatra: here is the Chinese version of Qt on Android Episode 1, http://blog.csdn.net/foruok/article/details/18697377. Because I don't have your email, I'll post the link below your posts. Here is my email: foruok@163.com, if necessary, please contact me.
12 - Feb - 2014
Claire
Hello, BogDan Vatra, I love ur blogs. Could you help me with one quesition about qt for android ,please? How to add .so file into apk?,I found 'Additional libraries' editor is always disabled ,how can I enable that ? Looking forward to ur reply, thank you very much. And hope to see more blogs!
19 - Feb - 2014
BogDan Vatra
Additional libraries should be enabled ...
Anyway, if for some is disabled, the you can manually edit your .pro file and add the full path to your lib to "ANDROID_EXTRA_LIBS" qmake variable.
18 - Feb - 2014
sefa
Thanks for shares.I 'm new at Qt world and I finished a game using qml and js code for android. And I preparate version control, icon using manifest.xml file after reading your episode. But I could not add admob my project even though my struggle. I could not find any documantation for it. Could yo give me a few advance.Thanks
19 - Feb - 2014
BogDan Vatra
Well, you need to extend QtActivity to do it and to add admob dependency.
The problem is that the dependency in ant build system in the latest Android SDK is completely broken and adding admob even to a java only android application is not an easy job.
In the future I'll write another article which will explain all the steps.
19 - Feb - 2014
sefa
Thanks. I'm waiting eagerly.
20 - Feb - 2014
Mike
Thanks a bunch for the articles. Keep them coming. I would like to use QtSerialPort on android with 5.2 is this currently possible? If so, how do you do it. The android version seems to be missing from 5.2. I did manage to compile from the repository but when running it I only got ttyGS0 and ttyUSB0. I did not see any ttyS0 which is what I was expecting. Am I missing something in the manifest file? I have not tried to make one yet. Thanks for any light you can shed on this problem.
3 - Mar - 2014
BogDan Vatra
I don't know the status of Qt Serial Port on Android, the guys that are working on it said that it should work. Please check on Interest ML(http://lists.qt-project.org/mailman/listinfo).
23 - Feb - 2014
armas
Hi, Thanks for sharing. I make a small app for learning how deploy to store android app but I was encountring trouble problem.When I set the app name from manifest file like that
Application Name:Attetion and Memory
and deploy my device, not change my app name. My project name brain.pro. And When I deploy to my device app name is seem brain. How can I set the project name . Thanks for answer
3 - Mar - 2014
BogDan Vatra
Did you used QtCreator to create your manifest file? If not then make sure you set "ANDROID_PACKAGE_SOURCE_DIR" qmake variable in your .pro file.
26 - Feb - 2014
Jhon
I am chinese. How can I Create an non-full-screen android widget app ? Thanks
3 - Mar - 2014
BogDan Vatra
Currently you can't create Android widgets using Qt.
7 - Mar - 2014
Marco
BogDan:
I would love for you to dump out what it takes to communicate via JNI/C++ and edit/insert java code into MainActivity.java and not need to touch ANT.
Many thanks to you for doing all this work.
22 - Mar - 2014
zjgo007
How to add a third party jar libraries into QtCreator?
8 - Apr - 2014
BogDan Vatra
Qt Creator has no such an option. You need to do it manually: - create an android folder, create a libs folder -copy your .jar files there - hit run button, ant should add the .jar files to the final .dex file.
More about this topic in 5th episode of the Qt on Android series.
25 - Mar - 2014
Arne Burghardt
Hi BogDan,
thank you for the helpful blog. I have a proposal for part 4 or 5 (if you have the time to do it...):
Some topics, which should be covered: - How can I access Java methods from Qt ? - How can I emit Qt signals from Android intents ? - Is a Java wrapper always necessary ?
25 - Mar - 2014
BogDan Vatra
No. 5 will address the JNI stuff,no. 4 will focus on deployment and packaging.
25 - Mar - 2014
Arne Burghardt
Perfect :-) Do you have any rough timeline for the blog release so far ? I am asking, because I am currently fighting/struggling with the JNI stuff...
25 - Mar - 2014
BogDan Vatra
I hope this month (early next month) to finish ep. 4 and in may ep. 5.. If you can't wait until then you can sign up for Paris "Free Qt on Android Coffee and Code Sessions" where I present also the JNI part :)
25 - Mar - 2014
Arne Burghardt
Paris is nice indeed :-) Nevertheless, if you are able to share your presentation about this part somewhere... ;-) This would be very helpful. Again, thank you for your support !
26 - Mar - 2014
sefa
Hello again BogDan.
In the past days I put an application in google store. Now I need to update the application. I signed the application at project file, then when I deploy to device, it constantly wanted to password of certificate keystore. Even though entering the correct password is continuously repeats the same thing. I can not sign application. How can I overcome this problem? I created another keystore and try again, the problem continues.
8 - Apr - 2014
BogDan Vatra
It looks you've encountered this https://bugreports.qt-project.org/browse/QTCREATORBUG-11417 bug. There are a few solutions for you: - Switch you o.s. locale to english. - sign the package manually check http://developer.android.com/tools/publishing/app-signing.html#signapp - wait for Qt SDK 5.3, which fixes the problem.
1 - Apr - 2014
Michael Heiser
I managed JNI Integration within my Qt-Application for a science project in my company. The base information I used to do the JNI-Part can be found on the necessitas project page maintained at kde.org. Here is the link to this great tut: http://community.kde.org/Necessitas/JNI I use the JNI interface for controling Bluetooth smart API on a Nexus 7 via an android service. For data-exchange between java and c/c++ I use a jbyte-array that I convert to a standard c-char-array. By the way: BogDan, u have done great work for the Qt-world!!
Best Regards Michael
4 - Apr - 2014
Hamed Masafi
What about android service? How can I create android service using Qt? Nothing in Qt 5.3 beta!!!
4 - Apr - 2014
BogDan Vatra
There is no easy way to write an Android service using Qt. The problem is that Qt 5.x has no API to create services. Long time ago in a faraway galaxy there was a Qt Service frameworks(http://doc.qt.digia.com/qtmobility/service-frameworks.html) but it is not available for Qt 5.x. A generic service framework with an Android backend is on my todo list, but I'm afraid it will not be ready sooner than Qt 5.5 (I have other features on my list that must go before services).
You can create an android service and just use Qt code via JNI but is not an easy job ...
5 - Apr - 2014
Hamed Masafi
Ok; I'm going to do that. Can you guide me? Or show me a start point?
7 - Apr - 2014
BogDan Vatra
You can start here: https://www.google.com/search?q=android+services+tutorial
5 - May - 2014
Morgan
Badly need a tutorial about how to deploy qml extension plugins ..
9 - Jul - 2014
V. B. Macit
how about android service with qt have you written something about it as you mentioned?
31 - Jul - 2014
http://www.vonloh-bremen.de/
Useful info. Fortunate me I found your web site accidentally, and I am shocked why this accident did not happened earlier! I bookmarked it.
21 - Aug - 2014
wade
can I use WebKit? I have an application that creates on the fly "web pages" for the display of text. I have ported to Qt from IOS for the desktop, now want to port it to android. If not, could I use Qt libraries from an android App NDK and use the QT string handling routines?
16 - Sept - 2014
EdOfTheMountain
Is source code available?
I am having difficulties understanding AndroidManifest.xml and how it relates to JNI calls. My JNI calls do nothing and I expect my problems are the manifest.
MyJavaClass uses a package name of "com.mycompany.myapp".
I set my manifest/[@package]="com.mycompay.myapp".
What should manifest/application/[@android:name] or manifest/application/activity/[@android.name] should be set to?
My app crashes and fails to run on my device when activity android:name="com.mycompany.myap.MyJavaClass"?
Any tips on naming and JNI calls are much appreciated.
-Ed Qt5.3.1
24 - Sept - 2014
BogDan Vatra
You should set manifest/application/activity/[@android.name] to ”com.mycompany.myap.MyJavaClass” but MyJavaClass MUST extend QtActivity class.
20 - Nov - 2014
jerrychen
Hi BogDan: I'm new to the Qt for android,I have trouble in debugging the Qt application for android.The Qt version is 5.3.2(open source),and the versions of android NDK and SDK are r10c and r23.02. after configuration,I open a turtoral appliation(analogclock precisely). the compile and deployment to android device goes smoothly,and the application really works. however, when I try to set a breakpoint and debug it. the application on android device suddenly quit when it hit that breakpoint. If I remove that breakpoint, everything goes well.I don't know how to handle this issue,can you help me?
20 - Nov - 2014
BogDan Vatra
Hi,
I need more information about the device. Currently the debugging is not working on devices with Android 5.0.
25 - Nov - 2014
jerrychen
sorry for late reply, the device runs android 4.2 , and now the problem has been solved.
27 - Nov - 2016
Rahul
I have a problem using Qt for android i.e.
Qt5.7.0 and have also added NDK, SDK, JDk and ANT to the Qt Android settings.
While i just try to run a hello world application created by default, it gives a error like
x86_64-linux-android-g++: error: unrecognized command line option '-marm' during Build.
Could you please help me with it.?
28 - Nov - 2016
BogDan Vatra
Try to use NDK r10e, https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
27 - Jun - 2017
Mag
The QT 5.9 version does not have the option of creating your own androidmanifest.xml file like you have. DO you know what happened to it?