Never wrote an application for Android. However, a cursory reading of the related literature leads to the idea that using development tools other than Java is inefficient.

Question: How are publicly available Android applications developed with Qt and NDK collected and published, what should be considered? Under each processor architecture to collect separately?

  • 3
    In QtCreator can do. Under each architecture separately, of course. The case is generally deadly, API compatibility is weak, widgets are not native, the community is almost absent .. Not so long ago we discussed it in the comments , you can read. I don’t think that there is a practicing Qt development for Android to give a full answer, here Google can hardly say much. - pavlofff
  • toster - Qodirbek Makharov
  • The article is oldish, and "biased" in favor of Qt)) Although a couple of paragraphs confirm my fears. - Majestio
  • one
    A year and a half has passed, and Qt is developing more rapidly in this area. And as a C ++ developer, it’s more convenient for me to use Qt for my own needs - Konstantin Shestov

4 answers 4

  1. Qt is still C ++. It is much more difficult to develop on it, than on Java. That is longer and with more errors.

  2. Development tools for C ++ are unequivocally worse than those for Java due to, again, the peculiarities of the language.

  3. Java is a native Android platform. Hence the potential compatibility issues with Qt.

If you are an experienced C ++ developer, then it will probably be more convenient to use Qt. Otherwise, I don’t see any advantages over Java (regarding development for android).

If you are planning to develop for a number of mobile platforms, then qt is a good choice. If especially for android, then I'm on the side of Java.

  • Strongly disagree with the first two points. And the rest - good. All answers of all respondents marked as "useful", even would have divided the award equally. If I could. I will mark this answer as a solution. Because thinking about the shortcomings of Qt for Android once again reminded - yes "a number of mobile devices, including non-android" are very important. - Majestio

If you look at the root, then of course the problem of Qt is not in its capabilities, or vice versa inability. Qt can do on Android about the same thing as Java on Android.

The main drawback is the lack of community. We will not go far and take the number of repositories on github :

  • Java-enabled Android - 276 thousand
  • with Qt Android support - 340 pieces

The difference is almost 3 orders of magnitude (almost a thousand times). This means that you will have a thousand times less documentation, a thousand times less examples, a thousand times less libraries / wizards / controls, a thousand times less experts, a thousand times less people with whom you can discuss your problems and well .d

In real life, it will probably not be a thousand times - even a hundred, but I would be careful not to rely on the strength of the Java community at the very beginning of my Android developer’s path.

Go to the side of power :)

    if you know java well and don’t know qt / qml, then write to java, if you don’t know anything else, ask around those who have experience in both languages. I am a Qt supporter.

    I am writing in Java and I think that the best way. Qt in my subjective view is definitely not there, but at the expense of C ++ and NDK you can argue. I watched the NDK parsing and tests the performance of Java and C code there. The second compiles faster, in some cases much faster. Therefore, it makes sense to use NDK in heavy projects. Also found an interesting article on the site https://habrahabr.ru/post/272423/ .