Qt-contributors-summit-2013-Qt Android Planning CS 2013: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
m (Categorize)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
[[Category:QtCS2013]]
=Developing Qt for Android=
=Developing Qt for Android=


Line 13: Line 15:
==Appendix: Tasks we have already identified==
==Appendix: Tasks we have already identified==


* Improve the unboxing experience (“love at first sight”): <span class="caps">QTBUG</span>-32092
* Improve the unboxing experience ("love at first sight"): <span class="caps">QTBUG</span>-32092
* Autotests: <span class="caps">QTBUG</span>-32079
* Autotests: <span class="caps">QTBUG</span>-32079
* Automatically set app permissions in Creator, based on what the selected modules need: <span class="caps">QTCREATORBUG</span>-9694
* Automatically set app permissions in Creator, based on what the selected modules need: <span class="caps">QTCREATORBUG</span>-9694
Line 29: Line 31:
* Better diagnostics in Qt Creator: <span class="caps">QTCREATORBUG</span>-9690
* Better diagnostics in Qt Creator: <span class="caps">QTCREATORBUG</span>-9690
* WebView: <span class="caps">QTBUG</span>-32093
* WebView: <span class="caps">QTBUG</span>-32093
* Better bundling (loading plugins directly from the app’s lib directory): <span class="caps">QTBUG</span>-29916
* Better bundling (loading plugins directly from the app's lib directory): <span class="caps">QTBUG</span>-29916
* Font size compatibility with iOS, desktop, or other mobile platforms: <span class="caps">QTBUG</span>-32096
* Font size compatibility with iOS, desktop, or other mobile platforms: <span class="caps">QTBUG</span>-32096
* Improved deployment of <span class="caps">QML</span> apps: <span class="caps">QTBUG</span>-32195
* Improved deployment of <span class="caps">QML</span> apps: <span class="caps">QTBUG</span>-32195
Line 65: Line 67:
** Compiling Qt in debug mode is a trap
** Compiling Qt in debug mode is a trap
* Do we add features in 5.1.x patch releases for Android?
* Do we add features in 5.1.x patch releases for Android?
** Yes, we can do that because it’s labeled as a tech preview
** Yes, we can do that because it's labeled as a tech preview
** No, it is too much effort, and detracts from 5.2 development
** No, it is too much effort, and detracts from 5.2 development
** Conclusion: it depends
** Conclusion: it depends
Line 83: Line 85:
** This too needs a blog
** This too needs a blog
* Build failure: creator only shows a red triangle with no text
* Build failure: creator only shows a red triangle with no text
** In this case, the path to ‘ant’ was wrong in the settings
** In this case, the path to 'ant' was wrong in the settings
** Creator must have better diagnostics for these cases
** Creator must have better diagnostics for these cases

Latest revision as of 17:25, 6 January 2017

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Developing Qt for Android

This session covers development of the Qt for Android port, and is aimed at those who have contributed to the Android port, and those who want to join the development. No previous Android knowledge required.

Agenda

  • Short introduction to Qt for Android Architecture (5 minutes)
  • What needs to be done? Presentation of tasks we have already identified, and brainstorming for tasks we have missed. (10 minutes)
  • What do we do now? Priorities, volunteers, and identifying topics that need to be discussed in detail. (25 minutes)

This is a very short session, but we can schedule new sessions as needed for more detailed discussions.

Appendix: Tasks we have already identified

  • Improve the unboxing experience ("love at first sight"): QTBUG-32092
  • Autotests: QTBUG-32079
  • Automatically set app permissions in Creator, based on what the selected modules need: QTCREATORBUG-9694
  • Multimedia: camera support: QTBUG-32095
  • Multimedia: low-latency audio: QTBUG-30480
  • Extending Java code
    • Adding Java code to your own app: QTBUG-32090
    • Calling Java APIs from C++ (JNI): QTBUG-32091
  • Building applications without using Qt Creator: QTBUG-29738
  • Support for Android action bar: QTBUG-32002
  • Mobility APIs
    • Bluetooth
    • NFC
  • Bearer Management: QTBUG-30394
  • Better diagnostics in Qt Creator: QTCREATORBUG-9690
  • WebView: QTBUG-32093
  • Better bundling (loading plugins directly from the app's lib directory): QTBUG-29916
  • Font size compatibility with iOS, desktop, or other mobile platforms: QTBUG-32096
  • Improved deployment of QML apps: QTBUG-32195
  • SSL
  • Device-independent pixel support for QML (resolution independence)
  • Add support for remaining sensors: QTBUG-30531
  • Convenience on top of Android APIs (Android helper library)
  • Multimedia: Widgets
  • Support for multiple top-level windows
  • Native combobox, messagebox, and similar
  • Android style for Qt Quick Controls
  • Common tooling for mobile (icons, supported orientation, etc.)
  • Splash screens
  • Expand the manifest editor in Qt Creator
  • ARMv5 support
  • MIPS support
  • Application lifecycle: QTBUG-29069

(We do not think that we will be able to do all this for Qt 5.2)

Notes from the sessions

Session 1

  • Application permissions – opt-in vs. opt-out
  • Tested devices overview – currently on wiki; do we need a better way?
  • Build step – do not put generated code in the source directory
  • SSL – high priority, but there are legal issues
    • There are SSL libraries on the device, but only accessible through Java, i.e. too slow
    • Qt Project will not ship SSL libraries: people will have to add the SSL libraries themselves
  • Font sizes…
  • Location is P1 for Android mobility
    • Hard to do autotests for mobility
  • Performance on different devices
    • Compiling Qt in debug mode is a trap
  • Do we add features in 5.1.x patch releases for Android?
    • Yes, we can do that because it's labeled as a tech preview
    • No, it is too much effort, and detracts from 5.2 development
    • Conclusion: it depends
  • Debug log feedback mechanism?
    • It would be useful to have a way to get debug information back from deployed apps

Session 2

  • It is difficult to handle resources on Android
    • Currently creator defaults to using assets, but assets can be very slow
    • We recommend using qrc
    • For large resources that do not fit into the Google Play store 50 MB limit, qrc can generate rcc files that can be put in obb
    • This topic deserves a blog
  • How do we access accounts on the device?
    • All cases like this can be solved by writing Java/JNI code
    • We are developing a JNI convenience API
    • This too needs a blog
  • Build failure: creator only shows a red triangle with no text
    • In this case, the path to 'ant' was wrong in the settings
    • Creator must have better diagnostics for these cases