Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.2k Topics 62.7k Posts
  • Gradle File

    Unsolved
    5
    0 Votes
    5 Posts
    727 Views
    SGaistS
    Hi, You should start here and here.
  • Error: Android deploy settings file not found, not building an APK

    Solved
    5
    0 Votes
    5 Posts
    4k Views
    edipE
    This is very weird. I got the same error on Qt 5.14.2 and I spent many hours to find a way for it. It didn't build APK. I restarted PC, restarted Qt, cleared builds and got the error.. Today I tried it again, First it gave the same error. Then I created an empty QML project. Ran it on Android. After it ran successfully, I opened my project.. And it works! I don't know why it works after running empty project. I get this kind of weird errors time by time. I hope Qt Creator will be more stable for next versions.
  • QXcbIntegration: neither GLX nor EGL are enabled on Yocto Linux

    Unsolved
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • How to fill data Qt Item Model

    Unsolved
    6
    0 Votes
    6 Posts
    537 Views
    JonBJ
    @Mucip said in How to fill data Qt Item Model: How can I call them again after than internet request finished? Read my post above which has just crossed with yours. Basically you do not "call them again after than internet request finished?". You simply cannot afford to call them (to get the expected answer) until the request is finished. It's your task not to do so beforehand, else they will not be right. They just reflect whatever is in the data at the instant you do call them. If you do the beginInsertRows() I mentioned then the Qt infrastructure will see your new rows and change their return values correspondingly. If you really want to be lazy and "block" until the request finishes, you can always put in a suitable QEventLoop::exec(), which you terminate from the request finished() signal, just like you do for your replyCheckInternet presently.
  • 0 Votes
    2 Posts
    323 Views
    R
    @Ramakanth Found issue in latest talib version 1.22 where module median depth=3 needs to be set explicitly in ts.conf to avoid negative x values for the pen up event when pressure =0. Posting the same incase any one face the issue when Qt5 is configured with -tslib.
  • Read/write virtual serial port ttyRPMSG0

    Solved
    5
    0 Votes
    5 Posts
    1k Views
    O
    @jsulm This was the solution. Thank you.
  • Setting up QT Creator devices from windows, cross-compile on VMWare for buildroot RPi

    Unsolved
    9
    1 Votes
    9 Posts
    4k Views
    H
    Hi Everybody. In my case I had to install openSSH server from control panel. After that when I tried to test my connection I got the same result. After a while I reailzed when I tested the connection with public key I just gave the private key and did not deploy the public key. After I deployed the sftp connection worked well. However I am still in trouble with rsync on windows host. I hope this "half" idea could help to you. [image: 5e25d3f3-138b-4df2-b174-f9b54f618696.PNG] BR, Adam
  • Problems with running Android apps by switching AVD on QT5.14.0

    Unsolved
    1
    0 Votes
    1 Posts
    149 Views
    No one has replied
  • Stack view is not working at some places

    Unsolved
    4
    0 Votes
    4 Posts
    637 Views
    sierdzioS
    @trupti007 said in Stack view is not working at some places: @sierdzio popup doesn't supports outside of the Page component. It most definitely does support that case. If your Page is top-level in a file, then you can emit a singnal to it's parent to ask it to show the popup.
  • Mac OS Catalina, Xcode 12 and iOS 14 support.

    Solved
    4
    0 Votes
    4 Posts
    2k Views
    ekkescornerE
    @bogong 5.15.2 should fix this https://bugreports.qt.io/browse/QTBUG-86718
  • Two Softwares at the same time

    Solved
    6
    0 Votes
    6 Posts
    489 Views
    SGaistS
    Not knowing what your applications do, I can't really comment.
  • qt-static application is too slow to run at start in petalinux

    Unsolved
    2
    0 Votes
    2 Posts
    270 Views
    SGaistS
    Hi and welcome to devnet, What are your board specifications ? How do you start your application ? What does it do ? Where are you loading it from ?
  • Cost for doing embedded development?

    Unsolved
    4
    0 Votes
    4 Posts
    433 Views
    sierdzioS
    @james_h_3010 said in Cost for doing embedded development?: I am having troubling finding this information on the site. Can one do embedded development with the Open Source version of Qt or is the Pro plan required for proper licensing? If you can satisfy GPL or LGPL terms with your embedded device, then sure - you can use Qt open source. In most cases, though, commercial is the way to go. You will get a lot of goodies and help with setting it all up.
  • Stack traces and code source

    Unsolved
    7
    0 Votes
    7 Posts
    870 Views
    JonBJ
    @Francky033 I can only say: if you are not receiving an answer here, your question is about Android and stack traces in general, nothing to do with Qt. So you would be better searching some "Android development" posts/forums.
  • Android arm64-v8a and api 29

    Unsolved
    1
    0 Votes
    1 Posts
    252 Views
    No one has replied
  • Qt5.13 on android alternative to Qcameraviewfinder

    Unsolved
    7
    0 Votes
    7 Posts
    912 Views
    J
    @dedetuga said in Qt5.13 on android alternative to Qcameraviewfinder: It works in QML but I don't know programe in QML and my project is in c++ (QTWidgets), I'm trying to use the Java native alternative but I don't know much of JNI and I'm stuck. Googling quite a lot didn't help much yet. It throw an exception just after on cursor Probably it is already on uri. i.e.: QAndroidJniObject uri = data.callObjectMethod("getData", "()Landroid/net/Uri;") Because logging statement __DV(uri.isValid()); already prints false: D myapp: CImageCaptureAndroid::shootPicture D myapp: CImageCaptureAndroid::handleActivityResult D myapp: data.isValid() = > true < D myapp: data.toString() = > Intent { act=inline-data (has extras) } < D myapp: uri.isValid() = > false < /// <== Already wrong here D myapp: uri.toString() = > < /// <== thus, meaningless D myapp: data_android.isValid() = > true < D myapp: data_android.toString() = > _data < D myapp: object_data_android = > 0x95 < D myapp: contentResolver.isValid() = > true < D myapp: contentResolver.toString() = > android.app.ContextImpl$ApplicationContentResolver@b813db1 < D myapp: cursor.isValid() = > false < /// <== Wrong here too D myapp: cursor.toString() = > < /// <== Meaningless too D myapp: In If9 F mple.myapp: java_vm_ext.cc:561] JNI DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NullPointerException: uri F mple.myapp: java_vm_ext.cc:561] at java.lang.Object com.android.internal.util.Preconditions.checkNotNull(java.lang.Object, java.lang.Object) (Preconditions.java:128) Source: https://stackoverflow.com/questions/63127412/qt-and-android-handleactivityresult-returned-from-a-camera-uri-null My current header file is: #pragma once #include <QObject> #include <QtAndroidExtras/QAndroidActivityResultReceiver> #include <QtAndroidExtras/QtAndroid> #include <QtAndroidExtras/QAndroidJniEnvironment> #include <QtAndroidExtras/QAndroidJniObject> #include <QDebug> class CImageCaptureAndroid : public QObject, public QAndroidActivityResultReceiver { Q_OBJECT public: CImageCaptureAndroid(); void shootPicture(); void handleActivityResult(int receiverRequestCode, int resultCode, const QAndroidJniObject & data) override; signals: void picturePath(QString); }; And then the source file: #include "cimagecaptureandroid.h" #include "qt_utils.h" #include <QFile> #include <QDir> #include <QStandardPaths> CImageCaptureAndroid::CImageCaptureAndroid() { } void CImageCaptureAndroid::shootPicture() { __DL("CImageCaptureAndroid::shootPicture"); QAndroidJniObject ACTION_CAPTURE = QAndroidJniObject::fromString("android.provider.MediaStore.ACTION_IMAGE_CAPTURE"); QAndroidJniObject ACTION_IMAGE_CAPTURE = QAndroidJniObject::getStaticObjectField("android/provider/MediaStore", "ACTION_IMAGE_CAPTURE", "Ljava/lang/String;"); QAndroidJniObject intent("android/content/Intent", "(Ljava/lang/String;)V", ACTION_IMAGE_CAPTURE.object<jstring>()); if (ACTION_CAPTURE.isValid() && intent.isValid()) { QtAndroid::startActivity(intent.object<jobject>(), 101, this); } else { assert( false ); } } void CImageCaptureAndroid::handleActivityResult(int receiverRequestCode, int resultCode, const QAndroidJniObject &data) { __DL("CImageCaptureAndroid::handleActivityResult"); __DV(data.isValid()); __DV(data.toString()); jint RESULT_OK = QAndroidJniObject::getStaticField<jint>("android/app/Activity", "RESULT_OK"); if (receiverRequestCode == 101 && resultCode == RESULT_OK) { QAndroidJniObject uri = data.callObjectMethod("getData", "()Landroid/net/Uri;"); __DV(uri.isValid()); __DV(uri.toString()); QAndroidJniObject data_android = QAndroidJniObject::getStaticObjectField("android/provider/MediaStore$MediaColumns", "DATA", "Ljava/lang/String;"); __DV(data_android.isValid()); __DV(data_android.toString()); QAndroidJniEnvironment env; jobjectArray object = (jobjectArray)env->NewObjectArray(1, env->FindClass("java/lang/String"), NULL); jobject object_data_android = env->NewStringUTF(data_android.toString().toStdString().c_str()); __DV(object_data_android); env->SetObjectArrayElement(object, 0, object_data_android); QAndroidJniObject contentResolver = QtAndroid::androidActivity().callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;"); __DV(contentResolver.isValid()); __DV(contentResolver.toString()); QAndroidJniObject cursor = contentResolver.callObjectMethod("query", "(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;", uri.object<jobject>(), object, NULL, NULL, NULL); __DV(cursor.isValid()); __DV(cursor.toString()); __DL("In If9"); jint columnIndex = cursor.callMethod<jint>("getColumnIndex", "(Ljava/lang/String;)I", data_android.object<jstring>()); __DL("In If10"); cursor.callMethod<jboolean>("moveToFirst", "()Z"); __DL("In If11"); QAndroidJniObject result = cursor.callObjectMethod("getString", "(I)Ljava/lang/String;", columnIndex); __DL("In If12"); QFile imageFile(result.toString()); QDir dir; if(dir.exists("images")){ __DL("Folder already exists"); }else { dir.mkdir("images"); } QStringList splitedImagePath = result.toString().split("/"); QString imageName = splitedImagePath.value(splitedImagePath.length() - 1); QString dataimgFile = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/images/" + imageName; // /data/data/org.qtproject.feather/files/images/offLight_Button.png if (imageFile.exists()) { QFile cdbfile(dataimgFile); if (!cdbfile.exists()) { if(!imageFile.copy(dataimgFile)) __DL("Error :copy failed"); QFile::setPermissions(dataimgFile, QFile::WriteOwner | QFile::ReadOwner); } else { __DL("image exits already no need to copy"); QFile::setPermissions(dataimgFile, QFile::WriteOwner | QFile::ReadOwner); } } else { __mDV("img Not exit in Assert ", dataimgFile); } QString imagePath = "file://" + dataimgFile; // this->deleteLater(); emit picturePath(imagePath); } }
  • error: cannot find -lc++ qt 5.12 android

    Solved
    25
    4 Votes
    25 Posts
    17k Views
    L
    @AriosJentu I had the same problem, how did you solve it
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • License check failed! Giving up ...

    Unsolved
    3
    0 Votes
    3 Posts
    5k Views
    _
    me too and I selected all kits however it also mentioned License check failed
  • iOS - Embedded Site in Webview + HTTP server

    Unsolved
    1
    0 Votes
    1 Posts
    145 Views
    No one has replied