Ubuntu Touch Programming Course

  • If it is a C++ project that needs external libraries, you have to add them to the project configuration. Did you do it? Is the application running well on your PC?

  • @mimecar Hello, thank you for helping. Im not sure. There are 3 modes: 1. Desktop: it works fine 2. UbuntuSDK for Desktop, it does not work, whants me to give him the executable „please specify one“ the 3. UbuntuSDK for device, I didn‘t tried yet. How do I give him the right libs? And where? Is there a documentation? I don‘t know exactly what I should search for to get the specific instruction... My experiences are only with visual-studio... and not cross anything :0) But I would like to get through this...

  • Hi, @Tewel,

    So far I have only worked with QML and JavaScript. If you send me the project you want to compile (with the minimum code the library uses), I'll check it over the weekend.

  • @mimecar Thank you, thats a nice offer! You led me to a thing I whant to try first „Integration of qlm and c++“ there is a documentation. In the web are some hints that its nessesary to do this first, if you whant to use c++ with qml and ubuntu. But there was no time until now to figure it out. I will tell if its the solution....

  • @mimecar Ok, the Connection of QML with c++ was needed first. Found a very helpfull Tutorial https://www.youtube.com/playlist?list=PLfkTJXI2Tk-e6Px7PRXvMxT6tH8e7rQ9i
    Thank you for helping.

  • Ok @Tewel, I will check your link.

    A gift for Halloween (Advanced QML concepts chapter):

    Code published:

  • I'm trying to get ubuntu-sdk running on my laptop.System is Ubuntu 16.04.
    I have followed your guide. I get following errors when trying to start ubuntu-sdk...

    Stopping containers: All containers stopped. Creating default network bridge ..... FAILED 
    error: Creating the bridge failed with: not implemented 
    —-Task exited with errors, please check the output---

    And next popup says..

    qtcreator: Setting up the container backend failed.

  • Hi @HendriXXX
    NOT sure if it is the solution, but take a look at this: https://insights.ubuntu.com/2016/04/07/lxd-networking-lxdbr0-explained/
    Looking at that document running from a shell: sudo lxd init could be useful.
    Otherwise (the simple solution) is download the virtual machine already configured with the sdk
    using the link that you can find in this thread published by mimecar.

  • @HendriXXX, have you tried what Fulvio says?

  • Yes I tried everything. Sadly result are same. It is strange because it works in my desktop computer right away. Maybe it is related somehow to my netboot specs..

  • @mimecar Thank you very much for providing your virtualbox image.

    One question when I connect my phone (moto g 2014) 'adb shell' under windows works but on the VM says 'device offline'.

  • Good evening @wdehoog. Have you "connected" the phone to the virtual machine? Has the phone's display shown a warning when trying to connect your computer?

  • Yes it is 'connected' (otherwise there would be no device). I did not see any warning on the phone's display. It is no issue since I have setup ssh access. I was just being curious.

  • Check in the hidden folders of your computer user if you have one related to ADB. There may be some previous configuration and therefore the computer is not requesting the connection.

  • @HendriXXX, I think I've got it.

    The steps are:

    • sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
    • sudo apt-get update
    • sudo apt-get upgrade && sudo apt-get dist-upgrade

    Reboot the computer

    • sudo lxd init

    Do you want to configure a new storage pool (yes/no) [default=yes]?
    Name of the new storage pool [default=default]:
    Name of the storage backend to use (dir, lvm, zfs) [default=zfs]:
    Create a new ZFS pool (yes/no) [default=yes]?
    Would you like to use an existing block device (yes/no) [default=no]?
    Size in GB of the new loop device (1GB minimum) [default=15GB]:
    Would you like LXD to be available over the network (yes/no) [default=no]?
    Would you like stale cached images to be updated automatically (yes/no) [default=yes]?
    Would you like to create a new network bridge (yes/no) [default=yes]? no

    LXD has been successfully configured.

    Launch IDE with:

    • ubuntu-sdk-ide

    Configure the kits and restart ubuntu-sdk-ide. A message will appear indicating that the container is faulty. Accept to correct them. After this step it will work fine. I was able to run an example application on the computer and the M10 FHD with these steps.

  • A question related to the course. Are your applications working well with UBports firmware (I still have Canonical firmware)? Are there any errors other than those related to LXD and Ubuntu 16.04?

  • Hi @mimecar,
    i have successfully installed UBports on my tablet BQ M10 FHD removing Canonical version using UBports installer. Currently i don't have problems about applications running and development (using Ubuntu SDK).
    I have installed on UBports an old application (QML + js) that i have made for Canonical version and works well.
    I'm using Ubuntu SDK and emulator and i don't have problems (i have installed it some time ago). For example i can connect my tablet (running UBports version) with the PC ( running ubuntu 16.04 LTS) and i can run applications from Ubuntu SDK to test them, like previously with the Canonical version.
    I have made i couple of new applications (QML + js), packaged as .click with Ubuntu SDK, deployed on OpenStore and successfully installed on my Tablet (and other people have downloaded them). I can't provide info about Scope and applications made with languages different from QML and javascript.
    If you mean specific tests or info tell me.
    My tablet run UBPorts 15.04 (r9) availabe on Ubports RC channel.

  • Thanks @mimecar, I tried your install steps, but it still didn't work.

    I managed to find actual cause of the problem.. it was permission problem. "unix.socket" file was owned by root. So I changed file ownership to lxd and it works.

    sami@acer1:~$ ls -la /var/lib/lxd/unix.socket
    srw-rw---- 1 root root 0 marra 13 12:37 /var/lib/lxd/unix.socket
    sami@acer1:~$ sudo chown lxd:lxd /var/lib/lxd/unix.socket
    sami@acer1:~$ ls -la /var/lib/lxd/unix.socket
    srw-rw---- 1 lxd lxd 0 marra 13 12:37 /var/lib/lxd/unix.socket

    Hope this helps if someone else has same problem someday.. :)

  • Thank you for answering @fulvio. I hope to move on to UBports firmware today.

    @HendriXXX , I will add your answer to the course. Thank you for sharing the solution.

    The Telegram group link of the course is now fixed (previously expired from time to time).

  • Good afternoon

    I just published the December course chapter. In this issue, @fulvio 's example application continues. Based on the temperature recorder, the possibility of displaying temperatures on a graph is added.

    The concepts are more advanced than those seen in the normal course. For this reason, it is necessary to have a solid base of QML, JavaScript and SQLite. If you have any questions you can ask in the forum.

    I was planning to publish more content. There is a translation that I have to revise and publish, but for reasons of time I will publish it in January. There are some surprises in the inkwell, but at the moment I won't give any more details.

Log in to reply