Prérequis dev. Android
Thierry.Gayet@eurogiciel.fr

1 / 111
PREREQUIS ANDROID

FORMATION DEBUG

ARCHITECTURE
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PRESENTATION DU MIDDLEWARE

4
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

VM DALVIK
FORMATION DEBUG

PREREQUIS ANDROID

libc = bionic (différente de la glibc ou eglibc de GNU/linux))
FORMATION DEBUG

RUNTIME D'UNE APPLICATION

8
LE FORMAT JAR (.class) vs dex

Format dex :
FORMATION DEBUG

- Structure différente ;
- Opcodes différents ;
- régie autou...
FORMATION DEBUG

LE FORMAT JAR (.class) vs APK (dex)

10
PROCESSUS DE GENERATION

FORMATION DEBUG

Processus de
génération
sous Android →

Un jar est un conteneur ou archive de fi...
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
STRUCTURE D'UNE APPLICATION

FORMATION DEBUG

●

Structure d'une application Android :
PREREQUIS ANDROID

FORMATION DEBUG

DEV ANDROID
VM Dalvik vs Java ME

FORMATION DEBUG

●

Processus de génération Android vs Java standard :
FORMATION DEBUG

HISTORIQUE

Android un middleware déjà éproupé par le temps au même titre
Que celui d'ios (cocoa) issue d...
FORMATION DEBUG

HISTORIQUE D'ANDROID

Les différentes release officielle du middleware Android
Chaque version est associé...
FORMATION DEBUG

HISTORIQUE DES VERSIONS

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLeve...
SYNTHESE DES VERSIONS

FORMATION DEBUG

→ Synthèse sur les versions de Release de middleware Android
présente sur les devi...
SYNTHESE DES RESOLUTIONS
→ Synthèse des résolutions sur les devices Android

FORMATION DEBUG

Data collected during a 7-da...
SYNTHESE DES RESOLUTIONS

●

xlarge screens are at least 960dp x 720dp

●

large screens are at least 640dp x 480dp

●

no...
FORMATION DEBUG
FORMATION DEBUG
FORMATION DEBUG
FORMATION DEBUG
FORMATION DEBUG
SYNTHESES DES VERSIONS D'OPENGL
→ Synthèse sur les version d'OpenGL sur les devices Android

FORMATION DEBUG

Data collect...
STRUCTURE D'UNE APPLICATION
●

Projet Android sous Eclipse :

Code source en java

Fichier de ressources
Classes par défau...
LE FICHIER MANIFEST

→ Vue des catégories d'un fichier
AndroidManifest.xml

FORMATION DEBUG

●

●

Si vous regardez dans l...
LE FICHIER MANIFEST
La toute première chose que vous devez faire est de permettre à votre application d'accéder à
Internet...
LE FICHIER MANIFEST

FORMATION DEBUG

●

Tous les éléments qui peuvent apparaître dans le fichier manifest sont listés ci-...
LE FICHIER MANIFEST
●

Cas d'utilisations typiques entre « activités », « services », « fournisseurs de contenu ou
Provide...
FORMATION DEBUG

Workflow de génération d'une appli.
FORMATION DEBUG

Workflow de génération d'une appli.

→ Workflow de génération d'une application google/Android des source...
SIGNATURE D'UN APK
Workflow de génération & signature d'une application officielle :

Google
play

En mode développement, ...
FORMATION DEBUG

ANDROID SDK vs APPLE SDK

Comparaison entre le process de développement de Google vs Apple

37
PREREQUIS ANDROID

FORMATION DEBUG

JAVA ↔ C/C++
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID

LibHellotwo-second.so
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

BOOT
FORMATION DEBUG
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

CYCLE DE VIE
PREREQUIS ANDROID

FORMATION DEBUG

→ Une application qui hérite
de la classe java sera visible
à l'écran.

→ Cycle de vie...
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID

→ Cycle de sauvegarde d'une activité.
PREREQUIS ANDROID

FORMATION DEBUG

→ Un service qui hérite
de la classe java ne sera pas
visible.

→ Cycle de vie d'un se...
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

BINDER
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

INTENT
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

SECURITE
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

MEDIA AUDIO/VIDEO
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

CAMERA
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

ACCELEROMETRE
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

RIL
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

WIFI / WIFI DIRECT
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
PREREQUIS ANDROID

FORMATION DEBUG

NFC
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID

http://www.kandroid.org/online-pdk/guide/bluetooth.html
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

PREREQUIS ANDROID
FORMATION DEBUG

DES QUESTIONS ? ?
DES QUESTIONS
Upcoming SlideShare
Loading in...5
×

Prérequis au développement google android

639

Published on

Découvrez quelques points clef du middleware google/Android.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
639
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
61
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Prérequis au développement google android

  1. 1. Prérequis dev. Android Thierry.Gayet@eurogiciel.fr 1 / 111
  2. 2. PREREQUIS ANDROID FORMATION DEBUG ARCHITECTURE
  3. 3. FORMATION DEBUG PREREQUIS ANDROID
  4. 4. FORMATION DEBUG PRESENTATION DU MIDDLEWARE 4
  5. 5. FORMATION DEBUG PREREQUIS ANDROID
  6. 6. PREREQUIS ANDROID FORMATION DEBUG VM DALVIK
  7. 7. FORMATION DEBUG PREREQUIS ANDROID libc = bionic (différente de la glibc ou eglibc de GNU/linux))
  8. 8. FORMATION DEBUG RUNTIME D'UNE APPLICATION 8
  9. 9. LE FORMAT JAR (.class) vs dex Format dex : FORMATION DEBUG - Structure différente ; - Opcodes différents ; - régie autour de registres et non une stack ; - Plusieurs JVM sur un device - Un seul fichier .dex contre plusieurs .class en java
  10. 10. FORMATION DEBUG LE FORMAT JAR (.class) vs APK (dex) 10
  11. 11. PROCESSUS DE GENERATION FORMATION DEBUG Processus de génération sous Android → Un jar est un conteneur ou archive de fichiers .class ou autre qui peut être assemblé grâce à l'outil JAR : $ jar cfm DVMTest.jar manifest.txt ./*.class && dx --dex --output="./classes.dex" --verbose "./maclass.jar" $ javac moncode.java && dx --dex --output=moncode.dex moncode 11
  12. 12. FORMATION DEBUG PREREQUIS ANDROID
  13. 13. FORMATION DEBUG PREREQUIS ANDROID
  14. 14. STRUCTURE D'UNE APPLICATION FORMATION DEBUG ● Structure d'une application Android :
  15. 15. PREREQUIS ANDROID FORMATION DEBUG DEV ANDROID
  16. 16. VM Dalvik vs Java ME FORMATION DEBUG ● Processus de génération Android vs Java standard :
  17. 17. FORMATION DEBUG HISTORIQUE Android un middleware déjà éproupé par le temps au même titre Que celui d'ios (cocoa) issue de nextstep... 17
  18. 18. FORMATION DEBUG HISTORIQUE D'ANDROID Les différentes release officielle du middleware Android Chaque version est associé à une mascotte à l'effigie d'un gâteau ou recette 18
  19. 19. FORMATION DEBUG HISTORIQUE DES VERSIONS http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
  20. 20. SYNTHESE DES VERSIONS FORMATION DEBUG → Synthèse sur les versions de Release de middleware Android présente sur les devices Android Data collected during a 7-day period ending on December 2, 2013
  21. 21. SYNTHESE DES RESOLUTIONS → Synthèse des résolutions sur les devices Android FORMATION DEBUG Data collected during a 7-day period ending on December 2, 2013
  22. 22. SYNTHESE DES RESOLUTIONS ● xlarge screens are at least 960dp x 720dp ● large screens are at least 640dp x 480dp ● normal screens are at least 470dp x 320dp ● small screens are at least 426dp x 320dp FORMATION DEBUG ● 320dp : a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc … ) ● 480dp : a tweener tablet like the Streak (480x800 mdpi) ● 600dp : a 7” tablet (600x1024 mdpi) ● 720dp : a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc … ) http://www.nextinnovation.org/doku.php?id=setting_fb
  23. 23. FORMATION DEBUG
  24. 24. FORMATION DEBUG
  25. 25. FORMATION DEBUG
  26. 26. FORMATION DEBUG
  27. 27. FORMATION DEBUG
  28. 28. SYNTHESES DES VERSIONS D'OPENGL → Synthèse sur les version d'OpenGL sur les devices Android FORMATION DEBUG Data collected during a 7-day period ending on December 2, 2013
  29. 29. STRUCTURE D'UNE APPLICATION ● Projet Android sous Eclipse : Code source en java Fichier de ressources Classes par défaut du middleware Android FORMATION DEBUG Ensemble de ressources Fichier décrivant les droits d'accès aux ressources Fichier de configuration du projet Fichier de configuration pour l'obfuscateur proguard
  30. 30. LE FICHIER MANIFEST → Vue des catégories d'un fichier AndroidManifest.xml FORMATION DEBUG ● ● Si vous regardez dans le dossier principal d'une application, vous verrez le fichier « AndroidManifest.xml » du projet. Il est possible de le visualiser depuis l'éditeur en double-cliquant dessus. Ce fichier définit les multiples aspects de l'application dans son ensemble. Eclipse et ADT définissent un certain nombre d'éléments dans ce fichier manifest à la création de l'application, en se basant sur les paramètres choisis lors de la création du projet. Vous pouvez ajouter d'autres ​ éléments manuellement. Par exemple, si vous ajoutez d'autres activités à votre application.
  31. 31. LE FICHIER MANIFEST La toute première chose que vous devez faire est de permettre à votre application d'accéder à Internet. Si vous utilisez Eclipse comme IDE, il suffit d'ouvrir votre fichier AndroidManifest.xml, allez dans l'onglet "Autorisations", ajouter "Utilise autorisation" et sélectionnez android.permission.INTERNET de la zone de liste déroulante : FORMATION DEBUG ● ● ● Sinon, l'on ouvre le fichier dans le dernier onglet au format XML brut vous devez voir la déclaration suivante : <uses-permission android:name="android.permission.INTERNET"/> Si vous ne le faites pas, votre application reçevra l'exception « UnknownHostException » lorsque vous essayez d'accéder à un hôte distant.
  32. 32. LE FICHIER MANIFEST FORMATION DEBUG ● Tous les éléments qui peuvent apparaître dans le fichier manifest sont listés ci-dessous par ordre alphabétique. Ce sont les seuls éléments qui peuvent être utilisé et ne peut être étendu ou personnalisé:s <action> <activity> <activity-alias> <application> <category> <data> <grant-uri-permission> <instrumentation> <intent-filter> <manifest> <meta-data> <permission> <permission-group> <permission-tree> <provider> <destinataire> <service> <supports-screens> <uses-configuration> <uses-feature> <uses-library> <uses-permission> <uses-sdk> http://developer.android.com/guide/topics/manifest/manifest-element.html http://developer.android.com/guide/topics/data/install-location.html
  33. 33. LE FICHIER MANIFEST ● Cas d'utilisations typiques entre « activités », « services », « fournisseurs de contenu ou Providers» et les « broadcast receivers». http://imsciences.edu.pk/serg/2010/07/android-security-a-survey-so-far-so-good/ FORMATION DEBUG Deux types de vérification de permission dans Android → http://faculty.cs.tamu.edu/guofei/paper/VetDroid-CCS13.pdf
  34. 34. FORMATION DEBUG Workflow de génération d'une appli.
  35. 35. FORMATION DEBUG Workflow de génération d'une appli. → Workflow de génération d'une application google/Android des sources java à une APK 35
  36. 36. SIGNATURE D'UN APK Workflow de génération & signature d'une application officielle : Google play En mode développement, le certificat auto-signé utilisé pour signer une application en mode débug (la valeur par défaut sur Eclipse / ADT et Ant) aura une date d'expiration de ​ 365 jours à compter de sa date de création. Les certificats seront vérifiés à 2 moments : ● Lors de l'upload de l'application sur Google/Play ● Lors de l'installation depuis Google/Play FORMATION DEBUG http://developer.android.com/tools/publishing/app-signing.html http://developer.android.com/tools/publishing/app-signing.html http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html http://developer.android.com/distribute/googleplay/publish/preparing.html http://developer.android.com/tools/publishing/preparing.html https://www.jetbrains.com/idea/webhelp/generate-signed-apk-wizard.html 36
  37. 37. FORMATION DEBUG ANDROID SDK vs APPLE SDK Comparaison entre le process de développement de Google vs Apple 37
  38. 38. PREREQUIS ANDROID FORMATION DEBUG JAVA ↔ C/C++
  39. 39. FORMATION DEBUG PREREQUIS ANDROID
  40. 40. FORMATION DEBUG PREREQUIS ANDROID LibHellotwo-second.so
  41. 41. FORMATION DEBUG PREREQUIS ANDROID
  42. 42. FORMATION DEBUG PREREQUIS ANDROID
  43. 43. FORMATION DEBUG PREREQUIS ANDROID
  44. 44. PREREQUIS ANDROID FORMATION DEBUG BOOT
  45. 45. FORMATION DEBUG
  46. 46. FORMATION DEBUG PREREQUIS ANDROID
  47. 47. FORMATION DEBUG PREREQUIS ANDROID
  48. 48. FORMATION DEBUG PREREQUIS ANDROID
  49. 49. FORMATION DEBUG PREREQUIS ANDROID
  50. 50. PREREQUIS ANDROID FORMATION DEBUG CYCLE DE VIE
  51. 51. PREREQUIS ANDROID FORMATION DEBUG → Une application qui hérite de la classe java sera visible à l'écran. → Cycle de vie d'une application.
  52. 52. FORMATION DEBUG PREREQUIS ANDROID
  53. 53. FORMATION DEBUG PREREQUIS ANDROID
  54. 54. FORMATION DEBUG PREREQUIS ANDROID → Cycle de sauvegarde d'une activité.
  55. 55. PREREQUIS ANDROID FORMATION DEBUG → Un service qui hérite de la classe java ne sera pas visible. → Cycle de vie d'un service/daemon.
  56. 56. FORMATION DEBUG PREREQUIS ANDROID
  57. 57. FORMATION DEBUG PREREQUIS ANDROID
  58. 58. PREREQUIS ANDROID FORMATION DEBUG BINDER
  59. 59. FORMATION DEBUG PREREQUIS ANDROID
  60. 60. FORMATION DEBUG PREREQUIS ANDROID
  61. 61. FORMATION DEBUG PREREQUIS ANDROID
  62. 62. FORMATION DEBUG PREREQUIS ANDROID
  63. 63. FORMATION DEBUG PREREQUIS ANDROID
  64. 64. PREREQUIS ANDROID FORMATION DEBUG INTENT
  65. 65. FORMATION DEBUG PREREQUIS ANDROID
  66. 66. FORMATION DEBUG PREREQUIS ANDROID
  67. 67. FORMATION DEBUG PREREQUIS ANDROID
  68. 68. FORMATION DEBUG PREREQUIS ANDROID
  69. 69. FORMATION DEBUG PREREQUIS ANDROID
  70. 70. FORMATION DEBUG PREREQUIS ANDROID
  71. 71. PREREQUIS ANDROID FORMATION DEBUG SECURITE
  72. 72. FORMATION DEBUG PREREQUIS ANDROID
  73. 73. FORMATION DEBUG PREREQUIS ANDROID
  74. 74. FORMATION DEBUG PREREQUIS ANDROID
  75. 75. PREREQUIS ANDROID FORMATION DEBUG MEDIA AUDIO/VIDEO
  76. 76. FORMATION DEBUG PREREQUIS ANDROID
  77. 77. FORMATION DEBUG PREREQUIS ANDROID
  78. 78. PREREQUIS ANDROID FORMATION DEBUG CAMERA
  79. 79. FORMATION DEBUG PREREQUIS ANDROID
  80. 80. FORMATION DEBUG PREREQUIS ANDROID
  81. 81. PREREQUIS ANDROID FORMATION DEBUG ACCELEROMETRE
  82. 82. FORMATION DEBUG PREREQUIS ANDROID
  83. 83. FORMATION DEBUG PREREQUIS ANDROID
  84. 84. FORMATION DEBUG PREREQUIS ANDROID
  85. 85. PREREQUIS ANDROID FORMATION DEBUG RIL
  86. 86. FORMATION DEBUG PREREQUIS ANDROID
  87. 87. FORMATION DEBUG PREREQUIS ANDROID
  88. 88. FORMATION DEBUG PREREQUIS ANDROID
  89. 89. FORMATION DEBUG PREREQUIS ANDROID
  90. 90. FORMATION DEBUG PREREQUIS ANDROID
  91. 91. PREREQUIS ANDROID FORMATION DEBUG WIFI / WIFI DIRECT
  92. 92. FORMATION DEBUG PREREQUIS ANDROID
  93. 93. FORMATION DEBUG PREREQUIS ANDROID
  94. 94. FORMATION DEBUG PREREQUIS ANDROID
  95. 95. PREREQUIS ANDROID FORMATION DEBUG NFC
  96. 96. FORMATION DEBUG PREREQUIS ANDROID
  97. 97. FORMATION DEBUG PREREQUIS ANDROID
  98. 98. FORMATION DEBUG PREREQUIS ANDROID
  99. 99. FORMATION DEBUG PREREQUIS ANDROID
  100. 100. FORMATION DEBUG PREREQUIS ANDROID
  101. 101. FORMATION DEBUG PREREQUIS ANDROID
  102. 102. FORMATION DEBUG PREREQUIS ANDROID
  103. 103. FORMATION DEBUG PREREQUIS ANDROID http://www.kandroid.org/online-pdk/guide/bluetooth.html
  104. 104. FORMATION DEBUG PREREQUIS ANDROID
  105. 105. FORMATION DEBUG PREREQUIS ANDROID
  106. 106. FORMATION DEBUG PREREQUIS ANDROID
  107. 107. FORMATION DEBUG PREREQUIS ANDROID
  108. 108. FORMATION DEBUG PREREQUIS ANDROID
  109. 109. FORMATION DEBUG PREREQUIS ANDROID
  110. 110. FORMATION DEBUG PREREQUIS ANDROID
  111. 111. FORMATION DEBUG DES QUESTIONS ? ? DES QUESTIONS
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×