Upload
edouard-marquez
View
33.790
Download
1
Embed Size (px)
Citation preview
Android StudioQuoi de neuf ?
2
Sommaire
Historique d’Android Studio
Astuces d’utilisation
— Les versions stables
— Android Studio 2.0
— DexInProcess
— Des plugins pratiques
— Démos
Les nouveautés d’Android Studio 2.0
— Nouvel émulateur
— Profiler GPU
— IntelliJ Idea 15
— Autres améliorations
— Instant Run
Passer à Android Studio 2.0
— Comment convertir un projet
— Démo
Edouard MarquezDéveloppeur Android
ORIGINAL-CARDBOARD
3
@g123k
+EdouardMarquez
Bref historiqueRappel des dates importantes
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Historique d’Android Studio
5
v0.1 Mai 2013
Première version
Présenté à la Google I/O 2013
v1.0 Décembre 2014
Version stable
Android Studio devient l’IDE officiel.
Le plugin Eclipse est déprécié
v1.2 Avril 2015
Memory & CPU monitors, IntelliJ 14.1
v1.1 Février 2015
Template pour Android Wear, icônes par
défaut dans mipmap
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Historique d’Android Studio
6
v1.3 Juillet 2015
Support du data binding, C/C++, séparation des ressources privées /
publiques…
v1.4 Septembre 2015
Vector Asset Studio, moniteurs GPU & réseau
v1.5 Novembre 2015
Amélioration des outils d’analyse mémoire
v2.0 Non annoncé
Nouvelle version majeure
Instant Run, nouvel émulateur…
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
26
Historique des Previews d’Android Studio 2.0
7
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 12 13 4 15
16 17 18 19 20 21 22
24 25 26 27 28 29
L M M J V S D
30 1 2 3 4 5 6
Novembre
Première preview
11
30 1 2 3 5 6
7 8 9 11 12 13
14 15 16 18 19 20
22 23 24 25 26 27
28 29 30 31 1 2 3
L M M J V S D
4 5 6 7 8 9 10
Décembre
Environ une preview par semaine
4
21
28 29 30 31 1 2 3
4 5 6 7 9 10
11 12 13 15 16 17
18 19 21 22 24
25 27 30
L M M J V S D
2 3 4 5 6 7 8
Janvier
8
20
Le rythme s’accélère à la fin janvier
23
10
17
31
14
23
28 29
Les nouveautésC’est le moment où l’on va parler d’Instant Run
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S9
Instant RunNouvel émulateur
Profiler GPU
Adb plus rapide
IntelliJ Idea 15.0.*
Nombreuses améliorations
Quelles nouveautés pour Android Studio 2.0 ?
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S10
Android Studio 2.0 : Nouvel émulateur
Etat du réseau Voix & data séparés
Support des empreintes Android 6.0+
Drag’n’drop de fichier Fichier (image, musique…) ou application
Redimensionnable En gardant toutefois le ratio du terminal
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S11
Android Studio 2.0 : Nouvel émulateur (paramètres)
GPS
Saisie des coordonnées GPS au format latitude / longitude
Saisie de l’altitude
Possibilité de donner en entrée un fichier GPX ou KML afin de simuler le
suivi d’une route
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S12
Android Studio 2.0 : Nouvel émulateur vs GenyMotion
A faire à la main (screenrecord), tout comme la récupération du fichier
Capture vidéo
Utiliser son téléphone comme surface tactile
Remote Control
Consommation CPU supérieure pour
l’émulateur de base
CPU
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S13
Android Studio 2.0 : Profiler GPU
GPU Profiler
Télécharger les GPU Debugging Tools
Inclure la bibliothèque gapii dans le code natif & dans le Java
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S14
Android Studio 2.0 : IntelliJ Idea 15.0.*
Amélioration des testsFind in path avec preview
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S15
Android Studio 2.0 : Autres Améliorations
Autocompletion pour le DataBinding
Lint : Switch avec constantes manquantes
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S16
Android Studio 2.0 : Autres Améliorations
Shrinker
Suppression des méthodes inutiles
Plus rapide que Proguard, car se limite à enlever les méthodes
(pas d’obfuscation par exemple)
A utiliser en debug uniquement
Encore instable aujourd’hui (Crashlytics non compatible)
buildTypes { debug { signingConfig signingConfigs.release useProguard false minifyEnabled true } release { signingConfig signingConfigs.release shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }}
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S17
Android Studio 2.0 : Instant Run
Instant Run permet de ne plus installer à chaque build une application en entier, mais d’envoyer uniquement les différences.
Les modifications peuvent être envoyées : - sans avoir besoin de relancer l’application (hotswap) - en relançant l’Activity (warmswap) - en redémarrant l’application (coldswap)
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S18
Android Studio 2.0 : Instant Run
Hotswap pour :
- Changement d’implémentation d’une méthode (statique ou non) - Ajouter / Suppression de classe
Warmswap pour :
- Modification d’une ressource (strings.xml)
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S19
Android Studio 2.0 : Instant Run
Coldswap pour :
- Ajouter / Modifier / Supprimer une annotation - Ajouter / Modifier / Supprimer un attribut de classe - Ajouter / Modifier / Supprimer une méthode statique - Modification de classe parente - …
Rebuild pour :
- Modifier l’Android Manifest - Modifier une des ressources utilisées dans l’Android Manifest
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S20
Android Studio 2.0 : Instant Run
Application
Serveur
Classes
Android StudioGradle
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S21
Android Studio 2.0 : Instant Run
User
public class User {
private String name;
public String getName() { return “toto”;
}
}
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S22
Android Studio 2.0 : Instant Run
User$override
public class User$override {
static String getName(User user) { // nouveau code
}
}
User
public class User {
private String name;
public String getName() { return User$override.getName(this);
}
}
Passer à
Android Studio 2.0
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Android Studio 2.0 : Quelques conseils
24
Avoir une instance pour le développement quotidien et une autre pour les previews
Nouvelle Instance
Ne pas importer la configuration d’une version précédente d’Android Studio
(bugs en tous genres)
Partir de zéro
De nombreux plugins ne fonctionnent plus avec
Android Studio 2.0
Plugins NOK
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Android Studio 2.0 : Convertir votre projet
25
gradle/wrapper/ gradle-wrapper.properties
distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-beta2' }}allprojects { repositories { jcenter() }}
build.gradle (projet)
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Android Studio 2.0 : Attention au gradle-experimental
26
Démo
27
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S A S T U C E S
Android Studio 2.0 : Faut-il l’utiliser ?
28
Avoir une instance pour le développement quotidien et une autre pour les previews
Builds plus rapides
Bien que les performances soient au rendez-vous, les
résultats sont parfois imprévisibles
Instant Run
S’agissant de versions bêtas ou previews, il est encore déconseillé de passer à
Android Studio 2.0
Trop tôt
Trucs & Astuces
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S C O N S E I L S
DexInProcess
30
DexInProcess
Gradle 2.4+ Plugin 2.0.0+
Build Tools 23.0.2+
android { dexOptions { dexInProcess = true } }
Il faut penser d’accroître la mémoire allouée à la JVM (gradle.properties) :
org.gradle.jvmargs=-Xmx4g
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S C O N S E I L S
Mesurer les temps de build
31
Build Time Tracker
Mesure les temps de build
Statistiques quotidiennes et totales
DevFest Paris 2016 Quoi de neuf pour Android Studio ?
H I S T O R I Q U E N O U V E A U T E S D E M O Q U E L Q U E S C O N S E I L S
Live templates
32
Idea Live Templates
MerciAvez-vous des questions ?
@g123k +EdouardMarquez
33