Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.1k Topics 62.4k Posts
  • AbstractButton without icon may crash on Android

    Unsolved
    4
    0 Votes
    4 Posts
    350 Views
    SGaistS
    Thanks ! You might want to provide a minimal compilable example that reproduces this to the report.
  • Selecting a file on Android via content provider

    Solved
    2
    0 Votes
    2 Posts
    224 Views
    S
    Nevermind, turns out QFile can read the content:// URI directly.
  • Qt6 and EGLFS on Yocto

    Solved
    5
    0 Votes
    5 Posts
    5k Views
    S
    I had the same problem. It is critical for which device you are building QT6. In my case the EGL provider is libmali (Rockchip libMali.so). For other microcontrollers you must find some other solution. For Rockchip apply this patch: [https://github.com/agl-ic-eg/meta-rockchip-extra/tree/scarthgap-agl/dynamic-layers/meta-qt6/recipes-qt/qt6/qtbase] Patch content: From b745ade08dd3e3a9a14a32c1994c0bd7bfb8115f Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Date: Wed, 25 Sep 2024 22:45:07 +0900 Subject: [PATCH] HACK qtbase build using libmali Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> --- cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake | 2 +- cmake/FindGLESv2.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake index 9ac8e2fa0c..c5561f7fdf 100644 --- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake +++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake @@ -81,7 +81,7 @@ find_path(EGL_INCLUDE_DIR ) find_library(EGL_LIBRARY NAMES - EGL + mali EGL HINTS ${PKG_EGL_LIBRARY_DIRS} ) diff --git a/cmake/FindGLESv2.cmake b/cmake/FindGLESv2.cmake index 4730418209..16f79437e8 100644 --- a/cmake/FindGLESv2.cmake +++ b/cmake/FindGLESv2.cmake @@ -8,7 +8,7 @@ include(CheckCXXSourceCompiles) if(EMSCRIPTEN) set(HAVE_GLESv2 ON) else() - find_library(GLESv2_LIBRARY NAMES GLESv2 OpenGLES) + find_library(GLESv2_LIBRARY NAMES mali GLESv2 OpenGLES) find_path(GLESv2_INCLUDE_DIR NAMES "GLES2/gl2.h" "OpenGLES/ES2/gl.h" DOC "The OpenGLES 2 include path") find_package(EGL) set(_libraries "${CMAKE_REQUIRED_LIBRARIES}") -- 2.25.1
  • Zoom and Drag in Maps Android

    Unsolved
    2
    0 Votes
    2 Posts
    250 Views
    O
    This code works fine for me. I am using 6.5.3. Map { id: mapView anchors.fill: parent plugin: mapPlugin center: QtPositioning.coordinate(39.0, 32.0) zoomLevel: 25 copyrightsVisible: true //Osm [0] street activeMapType: supportedMapTypes[0] PinchHandler { id: pinch target: null onScaleChanged: (delta) => { mapView.zoomLevel += Math.log2(delta) mapView.alignCoordinateToPoint(mapView.startCentroid, pinch.centroid.position) } onRotationChanged: (delta) => { mapView.bearing -= delta mapView.alignCoordinateToPoint(mapView.startCentroid, pinch.centroid.position) } } WheelHandler { id: wheel // workaround for QTBUG-87646 / QTBUG-112394 / QTBUG-112432: // Magic Mouse pretends to be a trackpad but doesn't work with PinchHandler // and we don't yet distinguish mice and trackpads on Wayland either acceptedDevices: Qt.platform.pluginName === "cocoa" || Qt.platform.pluginName === "wayland" ? PointerDevice.Mouse | PointerDevice.TouchPad : PointerDevice.Mouse rotationScale: 1/120 property: "zoomLevel" } DragHandler { id:drag target: null //grabPermissions: DragHandler.CanTakeOverFromAnything onTranslationChanged:(delta) =>{ mapView.pan(-delta.x, -delta.y) } }
  • Dbus for android latest version(API:34) support

    Unsolved
    2
    0 Votes
    2 Posts
    251 Views
    jsulmJ
    @Sajeesh-Sathyan said in Dbus for android latest version(API:34) support: Is D-Bus supported in the latest versions of Android? This is rather a question for Android forum
  • Qt C++ service application porting to AAOS(Android Automotive OS)

    Unsolved
    1
    0 Votes
    1 Posts
    126 Views
    No one has replied
  • Qt5.12.2 QMessageBox can't be showed on IOS18.2

    Unsolved
    6
    0 Votes
    6 Posts
    485 Views
    I
    @jsulm Yes,I am preparing to upgrade my APP to use Qt6.8. But I met the issue: https://forum.qt.io/topic/161366/qt6-8-2-qwidget-can-t-show-on-ios18-2
  • Qt 6.9 Android Multi Abi Build Failed

    Unsolved
    3
    0 Votes
    3 Posts
    407 Views
    M
    I had this problem in Qt6.8.2 and have this work around: # Work around to fix build issue in Qt6.8.2 # See https://bugreports.qt.io/browse/QTBUG-131707 set(QT_NO_GLOBAL_APK_TARGET_PART_OF_ALL OFF)
  • Compile ffmpeg for iOS

    Unsolved
    2
    0 Votes
    2 Posts
    355 Views
    jsulmJ
    @alemio Build instructions are here: https://github.com/wang-bin/QtAV/wiki/Build-QtAV Simply use qmake from your Qt for iOS installation.
  • Qt6.8.2 QWidget can't show on IOS18.2

    Unsolved
    2
    0 Votes
    2 Posts
    280 Views
    jsulmJ
    @iamnotsad Set QT_DEBUG_PLUGINS env variable to 1 in run settings before running the app and check the console output. See https://doc.qt.io/qt-6/debug.html
  • Google auth on mobile

    Unsolved
    3
    0 Votes
    3 Posts
    502 Views
    H
    Ok solved. To enable AppLinks (in format https://your-website.com/yourcallback) besides setting up intent filters in AndroidManifest.xml you also need to configure them on google play console and deploy a json file to your website. https://developer.android.com/training/app-links#add-app-links
  • how to create and open pdf in qt using stm32mp157d-dk1

    Unsolved
    2
    0 Votes
    2 Posts
    280 Views
    jsulmJ
    @sharan16k Start here: https://doc.qt.io/qt-6/qtpdf-index.html
  • DNS lookup not supported on Android?

    Solved
    6
    0 Votes
    6 Posts
    452 Views
    SGaistS
    AFAIK, Qt would use the C++ api for that task.
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    15 Views
    No one has replied
  • Using QtCore based IOS Framework in IOS Project

    Solved
    8
    0 Votes
    8 Posts
    506 Views
    F
    Solved. There is a difference in file extensions between objective-c and objective-c++ one is *.m other is *.mm I was calling C++ from a .m file. and that caused the error.
  • Build Qt Based Prjoect Qxmpp for Android 35

    Solved
    2
    0 Votes
    2 Posts
    212 Views
    F
    Answered my question here: https://github.com/qxmpp-project/qxmpp/issues/689 One viable option is to use Craft automated build tool. https://develop.kde.org/docs/packaging/android/building_applications/ As Linus pointed out. Tried it out. Seems to have worked.
  • Issues with Motorola phone

    Unsolved
    5
    0 Votes
    5 Posts
    360 Views
    M
    That is a good question. I should have shown :-) It's a social media app for Bluesky, so I don't know the actual content in this case. But here is a screenshot from my test account: [image: a3f4cf40-01a8-4875-90a1-53f999cf5384.jpg] I doubt it is missing fonts. I use the default font on Android and dynamically download Noto Color Emoji font for emoji. I don't think this user has another Qt version locally. Is that even possible on Android? I build an aab package for release. That should contain the Qt6.8.2 libraries to be used. What happens if there are multiple QML apps using different versions of Qt on a single phone? It seems Motorola is not a very stable brand. On my Google dashboard I have statistics of crashes. Quite some come from Motorola phones. The stack dumps make no sense to me.
  • Loading busyindicator on android at startupp

    Solved
    10
    0 Votes
    10 Posts
    725 Views
    T
    I finally got it to work by creating a qml file 'HeavyComponents.qml' "// HeavyComponents.qml (Main Entry Point) import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Controls.Material 2.15 ApplicationWindow { id: loadingWindow visible: true width: 200 height: 460 title: "Loading with Busy Indicator" color: "white" opacity: 1.0 // Initial opacity // Busy Indicator to show while loading BusyIndicator { id: busyIndicator anchors.centerIn: parent running: true visible: true width: 100 height: 100 } // Loader element to asynchronously load the heavy components Loader { id: loader source: "qrc:/main.qml" // Load main.qml asynchronously asynchronous: true visible: false // Initially hidden onLoaded: { busyIndicator.running = false; // Hide the busy indicator console.log("Loading complete!"); loader.visible = true; // Start the fade-out animation fadeOut.start(); } } Component.onCompleted: { // Start loading the heavy components console.log("Starting to load heavy components..."); loader.visible = true; } // NumberAnimation to fade out the loading window NumberAnimation { id: fadeOut target: loadingWindow property: "opacity" to: 0 duration: 3000 // 3 seconds onStopped: { loadingWindow.visible=false } } } " which is loaded in "main.cpp" and it uses a loader to load main.qml
  • Is there a way to reduce the size of the Android installation package?

    Unsolved
    1
    0 Votes
    1 Posts
    106 Views
    No one has replied
  • QQmlApplicationEngine failed to load component

    Solved
    4
    0 Votes
    4 Posts
    348 Views
    H
    Issue solved It turned out to be a single line missing in main.cpp engine.addImportPath(":/"); Exactly why this line is needed, when the program is running on an embedded linux and not on the desktop, I am not sure, but I guess that ":/" tells the program to find the Main.qml in the same root folder as program is running from.