Outils pour utilisateurs

Outils du site


issue102:c_c

I recently received a BQ Aquaris E4.5 device running Ubuntu. Part of the reason for getting it was a promise to write a series of articles about developing for the phone. This will be part 1, covering setup and a basic ‘hello world’ program. Install the SDK Ubuntu released the Ubuntu SDK in order to make development easier. I will be focusing on this program for the series. If you’re averse to SDKs, I would imagine it’s possible to still develop for Ubuntu, but I won’t be covering it in this series. Adding the Repository sudo add-apt-repository ppa:ubuntu-sdk-team/ppa This command will add the official ubuntu-sdk PPA, to allow you to easily get the newest packages. Install the package sudo apt update && sudo apt install ubuntu-sdk This command updates the package list, and immediately afterwards installs the ubuntu-sdk package.

Coder pour les téléphones Ubuntu

Récemment, j'ai reçu un BQ AQuaris E4.5 sous Ubuntu. Je l'ai eu en partie parce que j'ai promis d'écrire une séries d'articles sur le développement de programmes pour le téléphone. Dans cet article, le premier de la série, je parlerai de la configuration et d'un programme de base, « hello world ».

Installer le SDK

Ubuntu a publié le SDK Ubuntu afin de faciliter le développement. Dans cette série, je vais me concentrer sur ce programme. Si vous n'aimez pas les SDK, je pense qu'il serait quand même possible de développer pour Ubuntu, mais je ne vais pas en parler dans cette série.

Ajouter le dépôt

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

Cette commande ajoutera le PPA ubuntu-sdk officiel pour vous permettre d'obtenir facilement les paquets les plus récents.

Installer le paquet

sudo apt update && sudo apt install ubuntu-sdk

Cette commande met à jour la liste des paquets et, dans la foulée, installe le paquet ubuntu-sdk.

The official install page notes that anyone running a development version of 15.10 should ensure their packages are all up-to-date, before installing ubuntu-sdk, with a “sudo apt dist-upgrade”. Launch the Application ubuntu-sdk Or, just find and click on the sdk icon. Once the application has launched, you’ll want to click on “Create a New Project”, or File → New File or Project. For the sake of the Hello World program, I’ve chosen an HTML5 App. If you want to experiment with anything else, feel free to do so. Create your Project The SDK will first ask you for a name and a save location. I chose HelloWorld and ~/Ubuntu SDK Projects/, but you’re welcome to choose anything you want. The next page will ask for personal information - your nickname, full name, email, the app name, and the framework you want to develop for. I chose the ubuntu-sdk-15.04 framework (as I am running 15.04).

La page officielle d'installation vous prévient que, si vous exécutez une version de développement de la 15.10, vous devrez vous assurer que tous vos paquets sont à jour en faisant « sudo apt dist-upgrade » avant d'installer ubuntu-sdk.

Lancez le programme

ubuntu-sdk

ou, tout simplement, trouvez l'icône sdk et cliquez dessus.

Une fois l'application lancée, cliquez sur « Create a New Project » (Créer un nouveau projet), ou File > New File or Project. Pour les besoins du programme Hello World, j'ai choisi une appli HTML5. Si vous voulez faire des expériences avec autre chose, n'hésitez pas.

Créer votre projet

D'abord, le sdk vous demandera de nommer le projet et de choisir un emplacement pour les sauvegardes. J'ai choisi HelloWorld et ~/Ubuntu SDK Projects/, mais vous êtes libre de choisir autre chose.

La page suivante vous demandera quelques informations personnelles - votre pseudo, votre nom complet, une adresse mail, le nom de l'appli et le framework pour lequel vous voulez développer. Puisque ma machine tourne sous la 15.04, j'ai choisi le framework ubuntu-sdk-15.04.

Build Targets By default, there is only the Desktop kit available. So you’ll need to choose “create new kit”, and choose “armhf” if you’re planning to run it on a phone. Once you select the architecture, it will prompt you for your password, and begin installing the kit. Note: If you’re running this in a virtual machine (for any reason), or a small partition, make sure you have more than 10GB dedicated to the hard drive. (Using the Ubuntu base, updates, the SDK, and the kit install, I ran out of space on my test 10GB partition). Note: if you don’t want an emulator, and want to run it only on a physical device, you can skip this step. Post Kit Creation The wizard then simply asks what Kit(s) you want to use, and asks about version control. I enabled both Desktop and the armhf kit I just created, and skipped over the version control. The Hello World Application As it turns out, the basic HTML5 app is already a Hello World application. As such, we won’t be doing any actual coding. Instead, I will focus on running the device locally, and on the physical device. If you want to adjust the HTML, feel free.

Choix de l'architecture

Par défaut, seul le kit Desktop est disponible. Vous devez choisir « create new kit », puis « armhf » si vous voulez l'exécuter sur un téléphone. Une fois l'architecture choisie, vous devez entrer votre mot de passe à l'invite et l'installation du kit démarrera. Note : Si vous faites ceci sur une machine virtuelle (pour quelque raison que ce soit), ou sur une petite partition, assurez-vous d'avoir plus de 10 Go dédié au disque dur. (En utilisant la base Ubuntu, les mises à jour, le SDK et l'installation du kit, il n'y avait plus d'espace sur ma partition test de 10 Go.)

Note : Si vous ne voulez pas d'émulateur, mais voulez ne l'exécuter que sur un appareil physique, vous pouvez omettre cette étape.

Après la création du kit

L'assistant vous demande quel(s) kit(s) vous voulez utiliser et suggère de contrôler la version. J'ai activé les kits Desktop et armhf (celui que je venais de créer) et j'ai fait l'impasse sur le contrôle de version.

L'application Hello World

Il s'avère que l'appli HTML5 de base est déjà une application Hello World. Par conséquent, nous ne coderons pas réellement. À la place, je vais me concentrer sur le lancement du périphérique en local et sur l'appareil physique. Libre à vous d'ajuster le HTML si vous voulez.

Desktop If you look in the lower left of the SDK window (shown below), you’ll see an image of a Desktop (or an Ubuntu logo, depending on which kit you selected). Below that are two green arrows, and a hammer. The first green arrow is “run”, the other is “debug”, and the hammer is “build”. The Desktop kit is used to run the application within Ubuntu, in a separate window. So, if you hit the “run” button, you should see something similar to the below screenshot (assuming you used an HTML5 App). Ubuntu Phone (Emulated) In order to run it on an Ubuntu Phone, you’ll need to create an emulator. To do so, go to Devices, and click the large plus sign. There, you’ll need to give it a name (without spaces), choose the architecture, as well as the Ubuntu image you want. I chose bq-stable over devel, since my goal is to test it on a physical bq device later. Once you enter the information, it will prompt you for a password, and then begin creating the emulator. Once the emulator is created, simply click on the Icon above the green arrow, and select (with your arrow keys) the kit you want to use. In the case of the example, it’s the armhf kit you want. Then clicking “run” will launch the emulator, and eventually load the app into the emulator.

Bureau

En bas à gauche de la fenêtre SDK (ci-dessous), vous verrez l'image d'un bureau (ou le logo Ubuntu, selon le kit que vous aurez sélectionné). En dessous, il y a deux flèches vertes et un marteau. La première flèche verte est « run » (exécuter) et l'autre est « debug » ; le marteau est « build » (construire). Le kit Desktop est utilisé pour lancer l'application au sein d'Ubuntu dans une autre fenêtre. Ainsi, si vous appuyez sur le bouton « run », quelque chose ressemblant à la capture d'écran ci-dessous devra s'afficher (en supposant que vous avez utilise une App HTML5).

Le téléphone Ubuntu (émulé)

Afin de pouvoir le faire tourner sur un téléphone Ubuntu, vous devez créer un émulateur. Pour ce faire, allez à Devices et cliquez sur le gros symbole plus (+). Là, vous devez le nommer (sans espaces), choisir l'architecture, ainsi que l'image Ubuntu que vous voulez. J'ai choisi bq-stable plutôt que devel, puisque mon but est de le tester sur un bq physique plus tard.

Une fois les informations rentrées et votre mot de passe fourni, il commencera à créer l'émulateur.

Une fois l'émulateur créé, il suffit de cliquer sur l'icône au-dessus de la flèche verte et de sélectionner (avec les touches fléchées) le kit que vous voulez utiliser. Pour ce qui concerne l'exemple, vous voulez le kit armhf. Alors, cliquer sur « run » lancera l'émulateur et enfin chargera l'appli dans l'émulateur.

Ubuntu Phone (physical) The Ubuntu Devices section from the emulated section will also display any usb connected Ubuntu devices. However, my Aquaris E4.5 was not recognized at first. It turns out I had forgotten to enable developer mode. On the phone, go to Settings → About This Phone, and then Developer Mode. Make sure there is a green checkmark. Then plug it in. You can check to see if it’s connected properly by running adb devices in the list. Or lsusb (to see if the device is even recognized). It should also appear as an MTP device. Once the physical device is connected, switch to the Ubuntu Devices panel, and ensure it’s listed here too. Also, make sure it’s unlocked. If it isn’t, you’ll see something similar to this in your log: arch:error:closed. Once it appears in your Ubuntu Devices panel, it will show a message about frameworks. Just allow it to automatically select a framework, and you’re done. This will create a new Kit called “Ubuntu Device”. In order to build and run your application on the phone, you need to click on the tab/icon for “Projects”. There, you’ll want to click on the button “Add Kit” (just above the hammer icon), and select the Ubuntu Device from the menu. Once the kit is added, you must select it (the icon above the green arrow in the bottom left), and run the project. This will then open the app on your phone. In order to stop the application, click on “Application Output” on the bottom of the window. There, you can click on a red square to stop the application from running. If you forget to do so, the Ubuntu SDK will warn you about it, and offer to force-quit the application.

Téléphone Ubuntu (physique)

La section « Ubuntu Devices » de la section émulée affichera également tous les dispositifs Ubuntu connectés par USB. Toutefois, mon Aquaris E4.5 n'a pas été reconnu au départ. Il s'avère que j'avais oublié d'activer le mode « developer ». Sur le téléphone, allez à Settings > About This Phone, puis Developer Mode. Assurez-vous qu'il y ait une coche verte. Ensuite branchez-le. Vous pouvez vérifier si c'est connecté comme il faut en lançant adb devices dans la liste, ou lsusb (pour voir si le dispositif est bel et bien reconnu). Il devrait s'afficher comme un dispositif MTP aussi. Assurez-vous également qu'il soit déverrouillé. Si ce n'est pas le cas, vous verrez quelque chose comme ceci dans votre journal : arch:error:closed.

Une fois affiché dans le panneau « Ubuntu Devices », vous verrez un message au sujet de frameworks. Il suffit de le laisser sélectionner un framework automatiquement ; c'est tout. Cela créera un nouveau kit appelé « Ubuntu Device ». Pour pouvoir construire et lancer une application sur le téléphone, vous devez cliquez sur l'onglet/icône « Projects ». Là, il faut cliquer sur le bouton « Add Kit » (au-dessus de l'icône du marteau) et sélectionner l'Ubuntu Device dans le menu. Une fois le kit ajouté, il faut le sélectionner (l'icône au-dessus de la flèche verte en bas à gauche) et lancer le projet. Cela ouvrira l'appli sur le téléphone.

Pour arrêter l'application, cliquez sur « Application Output » au bas de la fenêtre. C'est là où vous pouvez cliquer sur un carré rouge pour arrêter l'application. Si vous oubliez de le faire le SDK Ubuntu vous préviendra et proposera de faire une sortie forcée.

Wrap-Up That was it for this month. Now that we’ve gotten the basics out of the way (running applications), we’ll be ready to start programming! If you have any questions, requests, suggestions, or just want to say hi, I can be reached at lswest34+fcm@gmail.com.

Récapitulatif

C'est tout pour ce mois-ci. Maintenant que nous avons traité les fondamentaux (l'exécution d'applications), nous sommes prêts à commencer la programmation ! Si vous avez des questions, des requêtes, des suggestions, ou si vous voulez tout simplement me faire un petit coucou, vous pouvez m'écrire à lswest34+fcm@gmail.com.

issue102/c_c.txt · Dernière modification : 2015/11/07 23:30 de d52fr