Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.3k Topics 63.1k Posts
Qt 6.11 is out! See what's new in the release blog
  • Android API and SDK version for maximising population of users. Which to choose?

    Unsolved
    2
    0 Votes
    2 Posts
    45 Views
    SGaistS
    Hi, I would say no settings at all. If you want to maximise the number of platforms supported, just use the defaults from your Qt build which aims to cover the 90% of the market at the time of release. You have more explanation in th2 supported versions selection guidelines in the Qt documentation.
  • Setting up Android SDK for Qt Creator on Linux

    Unsolved
    2
    0 Votes
    2 Posts
    108 Views
    Nils SjobergN
    JDK ישן ב-Qt Creator גורם לזיהוי כוזב - עדכן ל-JDK 17.
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    15 Views
    No one has replied
  • 0 Votes
    9 Posts
    4k Views
    ekkescornerE
    similar issue for me on macOS JDK 21 Qt 6.11.1 with included QtC 20.0 and Tools downloaded using QtC tools contained cmdline-tools 20.0 all works perfect Qt 6.12 Beta 3 with included QtC 20.0.1 tools contained cmdline-tools 23.0 error: packages not found selecting tools w cmdline-tools 20.0: no errors so I have a workaround for now - but should be fixed so I opened issue https://qt-project.atlassian.net/browse/QTCREATORBUG-34905 Edit: THX to AI found out: with cmdline-tools 23, SDKManager is deprecated and replaced by Android CLI. Probably we have to wait until QtCreator supports Android CLI and in the meantime using cmdline-tools < 23
  • Qt6.8.3 Android QComboBox issue

    Unsolved
    6
    0 Votes
    6 Posts
    1k Views
    stasiozS
    @stasioz said in Qt6.8.3 Android QComboBox issue: @SGaist I am using Qt 6.8.2 on debian 13. @SGaist and emulator "system-images;android-28;google_apis_playstore;x86_64". I haven't tried on a real device though. I did use Qt 6.11.1 at one time compiled from source. I tried it out on an emulator level 28 and wasn't able to click on or select on the combo box. I didn't try on real device either. All apk above are Debug build. JDK 21 NDK 27.2.12479018 Gradle 8.10 All good. QML is fun and quicker similar to MVC pattern.
  • Custom Camera on Android

    Unsolved
    3
    0 Votes
    3 Posts
    270 Views
    Ronel_qtmasterR
    @Andy314 solution one is the right answer but you're missing few things. You should not process the camera streams on the main thread, you need to create another thread for gettig the camera frames and sending them to the Ui Moreover, after getting the camera frame and display it, you should free the memory space consumed by it. otherwise it will be slower and take too much ram
  • Why does we have problem with gradle? Do you have?

    Unsolved
    4
    0 Votes
    4 Posts
    339 Views
    Nils SjobergN
    ./gradlew clean build --refresh-dependencies
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    9 Views
    No one has replied
  • 0 Votes
    3 Posts
    229 Views
    B
    @Nils-Sjoberg Thx a lot. Will try it today.
  • 0 Votes
    3 Posts
    266 Views
    T
    @Nils-Sjoberg Thanks for the suggestion! I tested with: OPENSSL_armcap=0 Unfortunately, it doesn't change the behaviour. The application still crashes on the Raspberry Pi 3, so it doesn't appear to be an OpenSSL CPU capability detection issue. However, I have an interesting update that may help narrow down the problem. Originally, my WebEngineProfile was configured like this: property string tmpDir: session.getPlatform() == "windows" ? "C:/Temp/xx" : "/tmp" WebEngineProfile { offTheRecord: false persistentStoragePath: tmpDir + "/xx-webengine-" + content.uuid() cachePath: tmpDir + "/xx-webcache-" + content.uuid() } So every WebEngineView was using a profile stored under /tmp, with a directory name based on content.uuid(). I then changed only the profile/cache location to a persistent directory under the user's home instead of /tmp, for example: persistentStoragePath: "/home/xx/.local/share/xx/NeoPlayer/WebEngine/profile" cachePath: "/home/xx/.local/share/xx/NeoPlayer/WebEngine/cache" (or an equivalent persistent location). Since this change: the application progresses much further during startup, several crashes no longer occur, the remaining crash is now consistently inside QtWebEngineCore, typically in a thread named CacheThread_Blo, with a backtrace ending in malloc() / operator new() inside libQt5WebEngineCore.so. In other words, changing only persistentStoragePath and cachePath significantly changes the failure mode. What puzzles me is that the original code works perfectly on a Raspberry Pi 5, while it crashes on the Raspberry Pi 3. Some additional comparison between the two systems: Both run Debian 13 (Trixie). /tmp is a tmpfs on both systems. Both use the same application source code. Both are built from the same Qt 5.15.17 build system (with architecture-specific binaries). The Raspberry Pi 5 runs AArch64 (64-bit), while the Raspberry Pi 3 runs ARMv7 (32-bit). This makes me wonder whether the issue is not /tmp itself, but rather how QtWebEngine/Chromium initializes and manages a WebEngineProfile on 32-bit ARM. Changing the profile location seems to alter the internal initialization sequence enough that the crash either disappears or occurs much later during startup. Am I overlooking something about how WebEngineProfile is expected to be used? In particular: Is storing a WebEngineProfile under /tmp considered bad practice or unsupported? Is creating profile directories dynamically using content.uuid() likely to expose issues or race conditions inside QtWebEngine? Would you instead recommend creating a single long-lived WebEngineProfile and reusing it across all WebEngineView instances? Has anyone seen similar behaviour where changing only persistentStoragePath or cachePath changes or eliminates crashes in QtWebEngine? If there are other diagnostics that would help identify the root cause, I'd be happy to run them and share the results.
  • Without native code, how to get iOS and Android device id?

    Unsolved
    2
    0 Votes
    2 Posts
    190 Views
    Nils SjobergN
    Write a small native JNI layer for Android, Objective-C++ for iOS to access Android ID / identifierForVendor, because QSysInfo::machineUniqueId() is not implemented on mobile platforms in Qt
  • 0 Votes
    4 Posts
    331 Views
    SGaistS
    Nice, thanks !
  • Using RevenueCat with Qt 6 ios/android applications. How?

    Unsolved
    2
    0 Votes
    2 Posts
    180 Views
    Nils SjobergN
    There is no official Qt module for RevenueCat, so you need to write a bridge layer yourself - Objective-C++ for iOS and JNI for Android - that connects the native SDK to the C++/QML code, or alternatively check if QtPurchasing (the old built-in module) is sufficient for your needs.
  • Programatically iterate over public Files in Android

    Unsolved android file permissions
    6
    0 Votes
    6 Posts
    584 Views
    B
    Will next look into: https://www.qt.io/blog/qt-for-android-storage-updates
  • Qt6.11.1: Qt Multimedia not working on iOS device

    Solved
    6
    0 Votes
    6 Posts
    464 Views
    SGaistS
    While it works, it still means that there might be something broken with ffmpeg which would be good to find what it is.
  • Add Qt 6 mobile application to sharing application list. How?

    Unsolved
    4
    0 Votes
    4 Posts
    695 Views
    Nils SjobergN
    emericg/MobileSharing and similar
  • QTBUG-141579 deadlock protector crashes the app.

    Unsolved
    6
    0 Votes
    6 Posts
    449 Views
    Andy314A
    Open() instead of exit() breaks former simple code logic - all becomes more complicated. A quick YesNo-Question for code branching is not so simple as before. Open waits not for the answer. How can I do it: Open a dialog at top (switch it to modal) and connect via slots the f.e. Ok-Button (resp. a special signal, what is triggered by the OK-Button) to a slot of the calling dialog/methode ? That would be a lot of work for all my dialogs. I there a simpler universal way for it ? In my code I have a loop, that opens multiple dialogs depends on the input until all questions are answerend. Now, I have tried to use singleShot for exec a dialog, what solved some problems. That needs logic changed too, but I must not change my called dialogs.
  • QFileDialog::getOpenFileContent on Android

    Unsolved
    8
    1 Votes
    8 Posts
    2k Views
    S
    @beku2 Thank you for the reference beku2. This works perfect in python. Not so much in android. I was just hoping someone might have found an easy alternative.
  • Qt 6 Android and iOS status bar text color. How?

    Unsolved
    2
    0 Votes
    2 Posts
    858 Views
    B
    Ekke has a QML example: https://github.com/ekke/ekkesTestStatusBar
  • Boot Partition Path Boot2qt

    Unsolved
    2
    0 Votes
    2 Posts
    266 Views
    SGaistS
    Hi, Since Boot2Qt is a commercial offering, you should contact the Qt Company directly.