How-to-debug-Qt-applications-on-Android-device

From Qt Wiki
Revision as of 15:53, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This is a guide on how to enable a real on-device debugging for Qt applications on Android under Linux.
I will show you how to achive this for Samsung device, but the same steps are required for any android device, you just have to know who is a vendor of your device.

You might also need to put the device in “developer mode”, that is, enable “USB debugging” in the Settings>Developer Options of the device.

See also Using Hardware Devices [developer.android.com] .

Steps to achieve this are as follows:
1. Run lsusb | grep Samsung (if you use let’s say HTC device just type HTC instead of Samsung after “grep”). You will see something like this:
Strings 04e8 and 689e are of a key value to get your android device propely recognized.

2. Now make a rule 51-android.rules in the /etc/udev/rules.d/ directory. The number 51 is an information to udev so it can know in which order to load the rules. You can type some other number if you already had some rules defined, but keep in mind the order in which those rules will be applied.

3. In the file 51-android.rules input this:
If you take a closer look you will see that we used those bold numbers from step 2 so that we can make our rule apply only to our device. So the first string04e8 is an ID of a vendor of the device (in this case vendor is Samsung), and the second string 689e is the ID of the product (in this case product is a GT-S5670 which is a designation of Samsung Galaxy Ace mobile device). MODE=“0666” just tells that the node that udev will create should be readable and writable by everyone.

5. After you have reloaded the udev’s rules, you need to restart adb. Go to the folder where you keep your android SDK. Go to the folder platform-tools inside the android SDK directory and run:
and after that

NOTE: if you get command not recognized error, just run those commands like this:
and

This will reload adb server and it should now list your device, just run adb devices and if you see something like this:
After this your device is properly recognized.
Now you are set and ready. Next time you hit Run button in Qt-Creator your app will load on your mobile device.
NOTE: In some cases you will need to restart your system in order to get your device recognized, but it will work without restarting in most cases.

Categories: