SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Chapitre 1 : Retour en arrière 1
Chapitre 1
Retour en arrière
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 2
1. Difficultés du développement pour les systèmes embarqués
Quelques contraintes à prendre en compte :
- Mémoire: il y a moins de mémoire dans un téléphone intelligent que dans un PC.
- Gestion des ressources: appel téléphonique pendant le déroulement d'une partie de jeu.
- Optimisation pour une meilleure efficacité.
- Taille de l'écran.
- Disposition des éléments et accès à ces éléments (stylet, gros doigts, etc.).
- Une variété de langues.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 3
2. Pourquoi Android?
Écouter les explications des concepteurs d'Android :
http://www.youtube.com/watch?v=6rYozIZOgDk
Le but de départ était de développer un système d’exploitation pour des caméras
numériques. Vu que le marché n’était pas assez large, le projet a été détourné pour les
téléphones intelligents.
L’idée était donc de créer un système d’exploitation capable d’avoir des outils pouvant
interagir avec l’environnement de l’utilisateur (prendre une photo et dire exactement
l’endroit où elle a été prise).
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 4
3. La philosophie d'Android
- Android est basé sur le système d'exploitation Linux.
- Android est un projet "Open source", distribué gratuitement.
- Le système est développé par l'alliance OHA (Open Handset Alliance) et Google.
http://www.openhandsetalliance.com/
http://fr.wikipedia.org/wiki/Open_Handset_Alliance
- Cette alliance regroupe :
* Opérateurs de téléphonie mobile
* Fabricants de semi-conducteurs
* Fabricants d'appareils
* Concepteurs de logiciels
* Sociétés responsables de la commercialisation
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 5
- Android permet le traitement d'une panoplie d'applications natives : téléphonie, courriel,
agenda, GPS, multimédia, messagerie, etc.
- API Android est à la disponibilité de la communauté des développeurs. Ceci permet
l'extension des applications.
- Google Play (Android Market) : est la plateforme sur laquelle un développeur peut
vendre son application. Si le développeur souscrit à un programme spécial de Google, il
perçoit pour le premier million de dollars, 85% du prix de vente et Google 15%. Pour les
montants subséquents, le ratio est de 70/30. Si le développeur n’est pas membre de ce
programme, le ratio est de 70/30.
- Ce n'est pas tous les pays qui peuvent vendre des applications sur Google Play :
http://fr.wikipedia.org/wiki/Google_Play
h ps://support.google.com/googleplay/answer/2843119?hl=en&rd=1
Des contraintes de copyright (films, séries télévision, livres, etc.) ou logistique (taxes,
institutions financières, etc.).
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 6
4. L’historique d'Android
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 7
La répartition de l’installation des versions d’Android :
https://www.statista.com/statistics/921152/mobile-android-version-share-worldwide/
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Jan
'18
Feb
'18
M
ar '18
Apr '18
M
ay'18
Jun
'18
Jul '18
Aug
'18
Sep
'18
Oct'18
Nov
'18
Dec'18
Jan
'19
Feb
'19
M
ar '19
Apr '19
M
ay'19
Jun
'19
Jul '19
Aug
'19
Sep
'19
Oct'19
Nov
'19
Dec'19
Jan
'20
Feb
'20
M
ar '20
Apr '20
M
ay'20
Jun
'20
Jul '20
Aug
'20
Sep
'20
Oct'20
Nov
'20
Dec'20
Jan
'21
Feb
'21
M
ar '21
Apr '21
M
ay'21
Jun
'21
0%
20%
40%
60%
80%
100%
120%
11 10 9.0 Pie 8.1 Oreo 8.0 Oreo 7.1 Nougat
7.0 Nougat 6.0 Marshmallow 5.1 Lollipop 5.0 Lollipop Other
Market
share
Chapitre 1 : Retour en arrière 8
Pour des statistiques sur un mois :
http://www.appbrain.com/stats/top-android-sdk-versions
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 9
Image capturée le 12/1/2022
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 10
Taille et résolution de l’écran
http://developer.android.com/about/dashboards/index.html
Les données ont été collectées sur 1 semaine, 26 novembre 2021.
ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total 2017 Total 2018 Total 2019 Total 2022
Small 0.1% 0.2% 1.2% 0.6% 0.4% 0.3%
Normal 0.2% 0.2% 11.3% 43.6% 25.3% 87.6% 89.8% 92.8% 80.6%
Large 1.3% 2.6% 0.8% 4.6% 2.2% 7.2% 6.4% 4.5% 11.5%
Xlarge 4.2% 0.1% 3.0% 0.4% 4.0% 3.2% 2.3% 7.7%
Total 0.1% 5.7% 2.9% 15.1% 48.8% 27.5%
Normal : 470x320 dp, 480x800 hdpi, 640x960 xhdpi
http://stefan222devel.blogspot.ca/2012/10/android-screen-densities-sizes.html
https://developer.android.com/guide/practices/screens_support.html
https://material.io/devices/
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 11
https://www.allinmobile.co/know-how/android-screen-sizes-resolutions-why-screen-size-
doesnt-matter/
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 12
5. La compétition
L'évolution des systèmes d'exploitation pour les mobiles :
http://www.xcubelabs.com/evolution-of-mobile-operating-systems.php
La part de marché pour chaque OS :
http://www.idc.com/prodserv/smartphone-os-market-share.jsp
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 13
La part de marché pour chaque vendeur :
http://www.idc.com/prodserv/smartphone-market-share.jsp
Pour plus de statistiques :
http://gs.statcounter.com
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 14
6. Android et les outils de développement
- Android Studio
http://developer.android.com/sdk/index.html
- Android SDK
http://developer.android.com/sdk/index.html
L'installateur d'Android Studio par défaut va installer aussi le dernier SDK
disponible.
- Ajouter les paquetages
http://developer.android.com/sdk/installing/adding-packages.html
https://developer.android.com/google/play/requirements/target-sdk
Star ng in August 2021, new apps will need to:
Target API level 30 (Android 11) or above and adjust for behavioral changes; except Wear OS apps, which must con nue to target API
level 28 or higher.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 15
Vous pouvez choisir juste la dernière API avec le strict minimum (plateforme et
image API x86), et Android Studio va demander de compléter l’installation au
besoin (au moment de l’utilisation). Sinon, si l’espace disque n’est pas un problème,
vous pouvez installer dès le départ les API suivantes : 32, 31 et 30.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 16
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 17
On vous recommande d’ajouter ces chemins dans la variable « path » de l’utilisateur (et
non pas celle du système) :
- Raccourcis pour la gestion de l’émulateur :
C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkemulator
Cette commande permet d’afficher la liste des émulateurs.
emulator -list-avds
- Raccourcis pour les outils tel que sdkmanager :
C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkcmdline-toolslatestbin
Cette commande permet d’afficher la liste des librairies installées et celles disponibles.
sdkmanager --list
- Raccourcis pour l’outil adb :
C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkplatform-tools
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 18
Si vous avez besoin du compilateur, et de l’interpréteur Java, installés dans Android
Studio et vous n’avez pas une installation locale de Java d’Oracle :
- Raccourcis pour les outils Java :
C:Program FilesAndroidAndroid Studiojrebin
Il vous faut ajouter ces deux variables d’environnement dans votre profile d’utilisateur (et
non pas celle du système) :
1-
JAVA_HOME
C:Program FilesAndroidAndroid Studiojre
Si cette variable n’a pas été configurée par une installation locale de JDK, vous pouvez la
configurer pour pointer celle d’Android Studio.
2-
ANDROID_SDK_ROOT
C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdk
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 19
7. Émulateur
Avantage : on peut simuler ce que l’on veut.
Inconvénient: on ne peut pas juger les performances (GPS?) ... ce n'est qu'un émulateur
après tout. Il ne peut pas simuler non plus « Bluetooth », « NFC », « carte SD » et les
écouteurs.
Pour des tests réels, il n’y a pas mieux qu’un vrai appareil, mais faites attention à la
version d’Android qu’il contient pour éviter d’être piégé.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 20
Prendre en exemple le « Pixel 2, API 32 x86_64, Google API ».
Pour améliorer les performances de l’émulateur et profiter ainsi de la puissance matérielle
de votre machine, assurez-vous d’avoir l’un de ces utilitaires en fonction de l’architecture
du processeur :
https://developer.android.com/studio/run/emulator-acceleration
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 21
Pour lister les émulateurs disponibles (configurés)
emulator -list-avds
Pixel_2_API_32
Pour démarrer un émulateur (sous Windows uniquement, pour activer tous les
paramètres, il faut lancer la ligne de commande en tant qu’administrateur).
emulator -netdelay none -netspeed full -avd Pixel_2_API_32
Si on veut un démarrage à froid (cold boot) :
emulator -netdelay none -netspeed full -avd Pixel_2_API_32 -no-snapshot-load
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 22
8. Connecter son appareil
Besoin d’un driver?
http://developer.android.com/tools/extras/oem-usb.html
9. Se connecter à distance
- Ouvrir un terminal et se positionner dans le répertoire « android-sdks/platform-
tools ».
- La commande « adb devices » liste tous les terminaux connectés à votre machine.
terminal:~$ adb devices
List of devices attached
emulator-5554 device
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 23
- Ouvrir un shell à distance sur le terminal dont le nom est « emulator-5554 » :
terminal:~$ adb -s emulator-5554 shell
- La commande « ls » pour connaitre les différentes commandes :
emulator64_x86_64_arm64:/ $ ls
acct apex bugreports config data debug_ramdisk etc
init.environ.rc lost+found mnt odm_dlkm postinstall product
second_stage_resources sys system_ext vendor_dlkm adb_keys bin
cache d data_mirror dev init linkerconfig
metadata odm oem proc sdcard storage system vendor
- La commande « id » pour lister des informations sur l’utilisateur courant :
emulator64_x86_64_arm64:/ $ id
uid=2000(shell) gid=2000(shell)
groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(
sdcard_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net
_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid)
context=u:r:shell:s0
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 24
emulator64_x86_64_arm64:/ $ cd lost+found/
/system/bin/sh: cd: /lost+found: Permission denied
On n’a pas tous les droits, nous allons demander plus de privilèges, mais attention ...
2|emulator64_x86_64_arm64:/ $ su
emulator64_x86_64_arm64:/ # id
uid=0(root) gid=0(root)
groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdca
rd_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt)
,3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid)
context=u:r:su:s0
emulator64_x86_64_arm64:/ # cd lost+found/
emulator64_x86_64_arm64:/lost+found #
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 25
- Pour obtenir les privilèges « root » sur un émulateur, il faut installer sur ce dernier
une image « Google APIs … » et non pas « Google Play ... ». Cette dernière utilise
une image de production d’un appareil donné. Les privilèges « root » sont
verrouillés sur une telle image. Vous allez obtenir ce message d’erreur :
1|generic_x86:/ $ su
/system/bin/sh: su: not found
- Il est possible d’accéder au privilège « root », en utilisant la commande « adb root ».
adb root
restarting adbd as root
- La prochaine utilisation « adb » se fera en tant que l’utilisateur « root » :
adb root
restarting adbd as root
adb -s emulator-5554 shell
emulator64_x86_64_arm64:/ # id
uid=0(root) gid=0(root)
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 26
groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r)
,1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt),3003(inet
),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:s0
emulator64_x86_64_arm64:/ #
- Pour sortir de cet état, il faut faire « adb unroot ».
adb unroot
restarting adbd as non root
- On se connecte à distance sur le terminal avec la commande « telnet » …
Sous Windows, le client « telnet » n’est pas installé par défaut. Il faut l’activer.
« telnet localhost 5554 » (où 5554 est l’identificateur du port de communication associé à
votre terminal).
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 27
me:~$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/me/.emulator_console_auth_token'
OK
auth 123456789ABCdefZ
Android Console: type 'help' for a list of commands
OK
help
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 28
Cette approche est nécessaire depuis la version « 25.1.6 » :
SDK Tools, Revision 25.1.6 (May 2016)
Dependencies:
• Android SDK Platform-tools revision 23 or later.
General Notes:
• To improve the security of the Android Emulator and to address a reported security vulnerability,
the Android Emulator Console now requiresauthentication before you can enter commands. Enter
the auth auth_token command after you telnet to an emulator instance. auth_token must
match the contents of the .emulator_console_auth_token file in your home directory.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 29
- On envoie un message « sms send 5143436111 ceci est un test ».
- On peut même l’appeler ….
« gsm call 5143436111 »
Il y a quelqu’un?
- Si je veux transférer un fichier … patience!
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 30
10. Android Studio et quelques perspectives
Voir le chapitre en rapport avec une description détaillée d’Android Studio.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 31
11. Constructeur de phrases ou « Phrazibus »
- Nous allons construire une application Android et la déployer sur l’émulateur
« Nexus Pixel 2 ».
- L’exemple à utiliser est disponible ici :
http://www.iro.umontreal.ca/~lokbani/cours/ift1176/communs/Cours/ZIP/gui.zip
- La version « swing » de l’application est le fichier « Phrazibus11.java ». Profitez de
l’occasion pour jeter un œil attentif aux notes du cours associé à cet exemple.
- L
’application « Phrazibus » a pour but de générer un ensemble de phrases.
- Chaque phrase doit-être composée obligatoirement d’un sujet, d’un verbe et d’un
complément d’objet direct.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 32
- Si cette contrainte n’est pas respectée, la phrase ne sera pas affichée.
- Nous ajoutons aussi un bouton qui permettra de remettre l’application à zéro afin de
réaliser un test de nouveau.
- Voici le résultat obtenu en Java :
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
Chapitre 1 : Retour en arrière 33
- Nous allons d'abord étudier les 3 approches algorithmiques associées à cette
application avant d'aborder le développement de l'interface Android. L'ensemble des
fichiers est disponible dans le fichier compressé associé à ce chapitre.
© Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre

Contenu connexe

Similaire à 2-historique d'android.pdf

Mobile Factory - Prévention Application Mobile
Mobile Factory - Prévention Application MobileMobile Factory - Prévention Application Mobile
Mobile Factory - Prévention Application MobileNiji
 
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
Niji   mobile factory - prevention application mobile android11-i os14- 06-2020Niji   mobile factory - prevention application mobile android11-i os14- 06-2020
Niji mobile factory - prevention application mobile android11-i os14- 06-2020Gabriel DUPONT
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Hadina RIMTIC
 
Niji rapport de prévention 2021 - android 12
Niji   rapport de prévention 2021 - android 12Niji   rapport de prévention 2021 - android 12
Niji rapport de prévention 2021 - android 12Gabriel DUPONT
 
Framework XPlatform Mobile
Framework XPlatform MobileFramework XPlatform Mobile
Framework XPlatform MobileGabriel DUPONT
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileSQLI DIGITAL EXPERIENCE
 
En ar fr_manual
En ar fr_manualEn ar fr_manual
En ar fr_manualsudkum
 
Tuto Phonegap
Tuto PhonegapTuto Phonegap
Tuto PhonegapSUN
 
Plateformes de développement d’applications mobiles
Plateformes de développement d’applications mobilesPlateformes de développement d’applications mobiles
Plateformes de développement d’applications mobilesEric Toguem
 
Android nougat
Android nougatAndroid nougat
Android nougatBeApp
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageLaFrenchMobile
 
[Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 [Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 Niji
 
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...ATPENSC-Group
 
Cahier Windows Phone 7 par Programmez
Cahier Windows Phone 7 par ProgrammezCahier Windows Phone 7 par Programmez
Cahier Windows Phone 7 par Programmezaemond
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android AbidjanBacely YoroBi
 
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Microsoft
 
Google IO/Android Q - Nouveautés et changements 2019
Google IO/Android Q - Nouveautés et changements 2019Google IO/Android Q - Nouveautés et changements 2019
Google IO/Android Q - Nouveautés et changements 2019Niji
 

Similaire à 2-historique d'android.pdf (20)

Mobile Factory - Prévention Application Mobile
Mobile Factory - Prévention Application MobileMobile Factory - Prévention Application Mobile
Mobile Factory - Prévention Application Mobile
 
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
Niji   mobile factory - prevention application mobile android11-i os14- 06-2020Niji   mobile factory - prevention application mobile android11-i os14- 06-2020
Niji mobile factory - prevention application mobile android11-i os14- 06-2020
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
Niji rapport de prévention 2021 - android 12
Niji   rapport de prévention 2021 - android 12Niji   rapport de prévention 2021 - android 12
Niji rapport de prévention 2021 - android 12
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Framework XPlatform Mobile
Framework XPlatform MobileFramework XPlatform Mobile
Framework XPlatform Mobile
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobile
 
En ar fr_manual
En ar fr_manualEn ar fr_manual
En ar fr_manual
 
Tuto Phonegap
Tuto PhonegapTuto Phonegap
Tuto Phonegap
 
cours.pdf
cours.pdfcours.pdf
cours.pdf
 
Plateformes de développement d’applications mobiles
Plateformes de développement d’applications mobilesPlateformes de développement d’applications mobiles
Plateformes de développement d’applications mobiles
 
Android nougat
Android nougatAndroid nougat
Android nougat
 
Net iki android 2012
Net iki android 2012Net iki android 2012
Net iki android 2012
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
 
[Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210 [Webinar Niji] Frameworks XPlateform mobile - 2210
[Webinar Niji] Frameworks XPlateform mobile - 2210
 
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...
Fiche de TD 1 de préparation au Baccalauréat (littéraire et scientifique) du ...
 
Cahier Windows Phone 7 par Programmez
Cahier Windows Phone 7 par ProgrammezCahier Windows Phone 7 par Programmez
Cahier Windows Phone 7 par Programmez
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
 
Google IO/Android Q - Nouveautés et changements 2019
Google IO/Android Q - Nouveautés et changements 2019Google IO/Android Q - Nouveautés et changements 2019
Google IO/Android Q - Nouveautés et changements 2019
 

Plus de FethiBenYahia1 (9)

Menus.pdf
Menus.pdfMenus.pdf
Menus.pdf
 
TP_3.pdf
TP_3.pdfTP_3.pdf
TP_3.pdf
 
TP_1.pdf
TP_1.pdfTP_1.pdf
TP_1.pdf
 
TP_2.pdf
TP_2.pdfTP_2.pdf
TP_2.pdf
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
4-android.pdf
4-android.pdf4-android.pdf
4-android.pdf
 
2-android.pdf
2-android.pdf2-android.pdf
2-android.pdf
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
4-android.pdf
4-android.pdf4-android.pdf
4-android.pdf
 

Dernier

Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 

Dernier (14)

Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 

2-historique d'android.pdf

  • 1. Chapitre 1 : Retour en arrière 1 Chapitre 1 Retour en arrière © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 2 1. Difficultés du développement pour les systèmes embarqués Quelques contraintes à prendre en compte : - Mémoire: il y a moins de mémoire dans un téléphone intelligent que dans un PC. - Gestion des ressources: appel téléphonique pendant le déroulement d'une partie de jeu. - Optimisation pour une meilleure efficacité. - Taille de l'écran. - Disposition des éléments et accès à ces éléments (stylet, gros doigts, etc.). - Une variété de langues. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 2. Chapitre 1 : Retour en arrière 3 2. Pourquoi Android? Écouter les explications des concepteurs d'Android : http://www.youtube.com/watch?v=6rYozIZOgDk Le but de départ était de développer un système d’exploitation pour des caméras numériques. Vu que le marché n’était pas assez large, le projet a été détourné pour les téléphones intelligents. L’idée était donc de créer un système d’exploitation capable d’avoir des outils pouvant interagir avec l’environnement de l’utilisateur (prendre une photo et dire exactement l’endroit où elle a été prise). © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 4 3. La philosophie d'Android - Android est basé sur le système d'exploitation Linux. - Android est un projet "Open source", distribué gratuitement. - Le système est développé par l'alliance OHA (Open Handset Alliance) et Google. http://www.openhandsetalliance.com/ http://fr.wikipedia.org/wiki/Open_Handset_Alliance - Cette alliance regroupe : * Opérateurs de téléphonie mobile * Fabricants de semi-conducteurs * Fabricants d'appareils * Concepteurs de logiciels * Sociétés responsables de la commercialisation © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 3. Chapitre 1 : Retour en arrière 5 - Android permet le traitement d'une panoplie d'applications natives : téléphonie, courriel, agenda, GPS, multimédia, messagerie, etc. - API Android est à la disponibilité de la communauté des développeurs. Ceci permet l'extension des applications. - Google Play (Android Market) : est la plateforme sur laquelle un développeur peut vendre son application. Si le développeur souscrit à un programme spécial de Google, il perçoit pour le premier million de dollars, 85% du prix de vente et Google 15%. Pour les montants subséquents, le ratio est de 70/30. Si le développeur n’est pas membre de ce programme, le ratio est de 70/30. - Ce n'est pas tous les pays qui peuvent vendre des applications sur Google Play : http://fr.wikipedia.org/wiki/Google_Play h ps://support.google.com/googleplay/answer/2843119?hl=en&rd=1 Des contraintes de copyright (films, séries télévision, livres, etc.) ou logistique (taxes, institutions financières, etc.). © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 6 4. L’historique d'Android © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 4. Chapitre 1 : Retour en arrière 7 La répartition de l’installation des versions d’Android : https://www.statista.com/statistics/921152/mobile-android-version-share-worldwide/ © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Jan '18 Feb '18 M ar '18 Apr '18 M ay'18 Jun '18 Jul '18 Aug '18 Sep '18 Oct'18 Nov '18 Dec'18 Jan '19 Feb '19 M ar '19 Apr '19 M ay'19 Jun '19 Jul '19 Aug '19 Sep '19 Oct'19 Nov '19 Dec'19 Jan '20 Feb '20 M ar '20 Apr '20 M ay'20 Jun '20 Jul '20 Aug '20 Sep '20 Oct'20 Nov '20 Dec'20 Jan '21 Feb '21 M ar '21 Apr '21 M ay'21 Jun '21 0% 20% 40% 60% 80% 100% 120% 11 10 9.0 Pie 8.1 Oreo 8.0 Oreo 7.1 Nougat 7.0 Nougat 6.0 Marshmallow 5.1 Lollipop 5.0 Lollipop Other Market share Chapitre 1 : Retour en arrière 8 Pour des statistiques sur un mois : http://www.appbrain.com/stats/top-android-sdk-versions © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 5. Chapitre 1 : Retour en arrière 9 Image capturée le 12/1/2022 © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 10 Taille et résolution de l’écran http://developer.android.com/about/dashboards/index.html Les données ont été collectées sur 1 semaine, 26 novembre 2021. ldpi mdpi tvdpi hdpi xhdpi xxhdpi Total 2017 Total 2018 Total 2019 Total 2022 Small 0.1% 0.2% 1.2% 0.6% 0.4% 0.3% Normal 0.2% 0.2% 11.3% 43.6% 25.3% 87.6% 89.8% 92.8% 80.6% Large 1.3% 2.6% 0.8% 4.6% 2.2% 7.2% 6.4% 4.5% 11.5% Xlarge 4.2% 0.1% 3.0% 0.4% 4.0% 3.2% 2.3% 7.7% Total 0.1% 5.7% 2.9% 15.1% 48.8% 27.5% Normal : 470x320 dp, 480x800 hdpi, 640x960 xhdpi http://stefan222devel.blogspot.ca/2012/10/android-screen-densities-sizes.html https://developer.android.com/guide/practices/screens_support.html https://material.io/devices/ © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 6. Chapitre 1 : Retour en arrière 11 https://www.allinmobile.co/know-how/android-screen-sizes-resolutions-why-screen-size- doesnt-matter/ © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 12 5. La compétition L'évolution des systèmes d'exploitation pour les mobiles : http://www.xcubelabs.com/evolution-of-mobile-operating-systems.php La part de marché pour chaque OS : http://www.idc.com/prodserv/smartphone-os-market-share.jsp © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 7. Chapitre 1 : Retour en arrière 13 La part de marché pour chaque vendeur : http://www.idc.com/prodserv/smartphone-market-share.jsp Pour plus de statistiques : http://gs.statcounter.com © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 14 6. Android et les outils de développement - Android Studio http://developer.android.com/sdk/index.html - Android SDK http://developer.android.com/sdk/index.html L'installateur d'Android Studio par défaut va installer aussi le dernier SDK disponible. - Ajouter les paquetages http://developer.android.com/sdk/installing/adding-packages.html https://developer.android.com/google/play/requirements/target-sdk Star ng in August 2021, new apps will need to: Target API level 30 (Android 11) or above and adjust for behavioral changes; except Wear OS apps, which must con nue to target API level 28 or higher. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 8. Chapitre 1 : Retour en arrière 15 Vous pouvez choisir juste la dernière API avec le strict minimum (plateforme et image API x86), et Android Studio va demander de compléter l’installation au besoin (au moment de l’utilisation). Sinon, si l’espace disque n’est pas un problème, vous pouvez installer dès le départ les API suivantes : 32, 31 et 30. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 16 © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 9. Chapitre 1 : Retour en arrière 17 On vous recommande d’ajouter ces chemins dans la variable « path » de l’utilisateur (et non pas celle du système) : - Raccourcis pour la gestion de l’émulateur : C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkemulator Cette commande permet d’afficher la liste des émulateurs. emulator -list-avds - Raccourcis pour les outils tel que sdkmanager : C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkcmdline-toolslatestbin Cette commande permet d’afficher la liste des librairies installées et celles disponibles. sdkmanager --list - Raccourcis pour l’outil adb : C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdkplatform-tools © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 18 Si vous avez besoin du compilateur, et de l’interpréteur Java, installés dans Android Studio et vous n’avez pas une installation locale de Java d’Oracle : - Raccourcis pour les outils Java : C:Program FilesAndroidAndroid Studiojrebin Il vous faut ajouter ces deux variables d’environnement dans votre profile d’utilisateur (et non pas celle du système) : 1- JAVA_HOME C:Program FilesAndroidAndroid Studiojre Si cette variable n’a pas été configurée par une installation locale de JDK, vous pouvez la configurer pour pointer celle d’Android Studio. 2- ANDROID_SDK_ROOT C:UsersVotre_Nom_UtilisateurAppDataLocalAndroidSdk © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 10. Chapitre 1 : Retour en arrière 19 7. Émulateur Avantage : on peut simuler ce que l’on veut. Inconvénient: on ne peut pas juger les performances (GPS?) ... ce n'est qu'un émulateur après tout. Il ne peut pas simuler non plus « Bluetooth », « NFC », « carte SD » et les écouteurs. Pour des tests réels, il n’y a pas mieux qu’un vrai appareil, mais faites attention à la version d’Android qu’il contient pour éviter d’être piégé. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 20 Prendre en exemple le « Pixel 2, API 32 x86_64, Google API ». Pour améliorer les performances de l’émulateur et profiter ainsi de la puissance matérielle de votre machine, assurez-vous d’avoir l’un de ces utilitaires en fonction de l’architecture du processeur : https://developer.android.com/studio/run/emulator-acceleration © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 11. Chapitre 1 : Retour en arrière 21 Pour lister les émulateurs disponibles (configurés) emulator -list-avds Pixel_2_API_32 Pour démarrer un émulateur (sous Windows uniquement, pour activer tous les paramètres, il faut lancer la ligne de commande en tant qu’administrateur). emulator -netdelay none -netspeed full -avd Pixel_2_API_32 Si on veut un démarrage à froid (cold boot) : emulator -netdelay none -netspeed full -avd Pixel_2_API_32 -no-snapshot-load © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 22 8. Connecter son appareil Besoin d’un driver? http://developer.android.com/tools/extras/oem-usb.html 9. Se connecter à distance - Ouvrir un terminal et se positionner dans le répertoire « android-sdks/platform- tools ». - La commande « adb devices » liste tous les terminaux connectés à votre machine. terminal:~$ adb devices List of devices attached emulator-5554 device © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 12. Chapitre 1 : Retour en arrière 23 - Ouvrir un shell à distance sur le terminal dont le nom est « emulator-5554 » : terminal:~$ adb -s emulator-5554 shell - La commande « ls » pour connaitre les différentes commandes : emulator64_x86_64_arm64:/ $ ls acct apex bugreports config data debug_ramdisk etc init.environ.rc lost+found mnt odm_dlkm postinstall product second_stage_resources sys system_ext vendor_dlkm adb_keys bin cache d data_mirror dev init linkerconfig metadata odm oem proc sdcard storage system vendor - La commande « id » pour lister des informations sur l’utilisateur courant : emulator64_x86_64_arm64:/ $ id uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028( sdcard_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net _bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0 © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 24 emulator64_x86_64_arm64:/ $ cd lost+found/ /system/bin/sh: cd: /lost+found: Permission denied On n’a pas tous les droits, nous allons demander plus de privilèges, mais attention ... 2|emulator64_x86_64_arm64:/ $ su emulator64_x86_64_arm64:/ # id uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdca rd_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt) ,3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:s0 emulator64_x86_64_arm64:/ # cd lost+found/ emulator64_x86_64_arm64:/lost+found # © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 13. Chapitre 1 : Retour en arrière 25 - Pour obtenir les privilèges « root » sur un émulateur, il faut installer sur ce dernier une image « Google APIs … » et non pas « Google Play ... ». Cette dernière utilise une image de production d’un appareil donné. Les privilèges « root » sont verrouillés sur une telle image. Vous allez obtenir ce message d’erreur : 1|generic_x86:/ $ su /system/bin/sh: su: not found - Il est possible d’accéder au privilège « root », en utilisant la commande « adb root ». adb root restarting adbd as root - La prochaine utilisation « adb » se fera en tant que l’utilisateur « root » : adb root restarting adbd as root adb -s emulator-5554 shell emulator64_x86_64_arm64:/ # id uid=0(root) gid=0(root) © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 26 groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r) ,1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt),3003(inet ),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:s0 emulator64_x86_64_arm64:/ # - Pour sortir de cet état, il faut faire « adb unroot ». adb unroot restarting adbd as non root - On se connecte à distance sur le terminal avec la commande « telnet » … Sous Windows, le client « telnet » n’est pas installé par défaut. Il faut l’activer. « telnet localhost 5554 » (où 5554 est l’identificateur du port de communication associé à votre terminal). © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 14. Chapitre 1 : Retour en arrière 27 me:~$ telnet localhost 5554 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Android Console: Authentication required Android Console: type 'auth <auth_token>' to authenticate Android Console: you can find your <auth_token> in '/Users/me/.emulator_console_auth_token' OK auth 123456789ABCdefZ Android Console: type 'help' for a list of commands OK help © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 28 Cette approche est nécessaire depuis la version « 25.1.6 » : SDK Tools, Revision 25.1.6 (May 2016) Dependencies: • Android SDK Platform-tools revision 23 or later. General Notes: • To improve the security of the Android Emulator and to address a reported security vulnerability, the Android Emulator Console now requiresauthentication before you can enter commands. Enter the auth auth_token command after you telnet to an emulator instance. auth_token must match the contents of the .emulator_console_auth_token file in your home directory. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 15. Chapitre 1 : Retour en arrière 29 - On envoie un message « sms send 5143436111 ceci est un test ». - On peut même l’appeler …. « gsm call 5143436111 » Il y a quelqu’un? - Si je veux transférer un fichier … patience! © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 30 10. Android Studio et quelques perspectives Voir le chapitre en rapport avec une description détaillée d’Android Studio. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 16. Chapitre 1 : Retour en arrière 31 11. Constructeur de phrases ou « Phrazibus » - Nous allons construire une application Android et la déployer sur l’émulateur « Nexus Pixel 2 ». - L’exemple à utiliser est disponible ici : http://www.iro.umontreal.ca/~lokbani/cours/ift1176/communs/Cours/ZIP/gui.zip - La version « swing » de l’application est le fichier « Phrazibus11.java ». Profitez de l’occasion pour jeter un œil attentif aux notes du cours associé à cet exemple. - L ’application « Phrazibus » a pour but de générer un ensemble de phrases. - Chaque phrase doit-être composée obligatoirement d’un sujet, d’un verbe et d’un complément d’objet direct. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre Chapitre 1 : Retour en arrière 32 - Si cette contrainte n’est pas respectée, la phrase ne sera pas affichée. - Nous ajoutons aussi un bouton qui permettra de remettre l’application à zéro afin de réaliser un test de nouveau. - Voici le résultat obtenu en Java : © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre
  • 17. Chapitre 1 : Retour en arrière 33 - Nous allons d'abord étudier les 3 approches algorithmiques associées à cette application avant d'aborder le développement de l'interface Android. L'ensemble des fichiers est disponible dans le fichier compressé associé à ce chapitre. © Fethi ben Yahia 1.08.1 Programma on mobile à plateforme libre