<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - Android2EE, le blog par MathiasSeguy</title>
		<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Wed, 03 Jun 2026 10:08:25 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - Android2EE, le blog par MathiasSeguy</title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/</link>
		</image>
		<item>
			<title>Je serai speaker à la DevoxxFR 2016 : Architecture Android et Bonnes Pratiques (université 3h)</title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1138/serai-speaker-devoxxfr-2016-architecture-android-bonnes-pratiques-universite-3h/</link>
			<pubDate>Thu, 18 Feb 2016 14:34:56 GMT</pubDate>
			<description>Bonjour, 
Je suis trop...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
Je suis trop content d'annoncer que je serai speaker à la DevoxxFr 2016 pour une conférence de 3 heures intitulée <b>Architecture Android et bonnes pratiques</b><br />
Le pitch :<br />
<i>Depuis maintenant 7 ans que je développe sous Android, ma principale préoccupation a toujours été l'architecture.   <br />
<br />
Et si nous prenions quelques heures pour en discuter ?  <br />
Je vous propose une vision globale et synthétique s'appuyant sur des exemples concrets, sur les principes et conseils de référence des équipes Google et sur des modèles d'architecture (MVP/n-tiers) et leur mises en place.      <br />
**Au programme:**    <br />
Le contexte Android,    <br />
L'objectif utilisateur,    <br />
La responsabilité du développeur,  <br />
Les bonnes pratiques (celles de Chet Haase, Romain Guy et les miennes),    <br />
Les principes d'architecture (n-tiers, MVP et MVVM),    <br />
Leur application sur Android (services, threads, Application ...),     <br />
Le déploiement continue,   <br />
Les librairies incontournables du moment,    <br />
Un exemple concret d'utilisation d'un service REST (up et download)  <br />
et bien sûr un projet github est associé à cette conférence pour que le code soit avec vous !</i><br />
<br />
Cette conférence est extraite d'une nouvelle formation &quot;Android Ultimate&quot; que je lance à Paris du 10 au 13 Mai pour vous permettre de devenir un développeur Android Ultime. Je vous parlerai des principes d'architecture à mettre en place, des librairies à utiliser pour vous faciliter la vie (Retrofit, OkHttp, Okio, Moshi, Dagger, EventBus, OrmLite, SugarOrm, GoogleAnalytics, GoogleDrive, GoogleAuthentification...), des bonnes pratiques (celles que les équipes Google vous rabâchent et les miennes) et on mettra tout ça en place dans un tp :) Plus d'info: <a href="http://www.android2ee.com/Formations-Android/Formation-Ultimate-Android.html" target="_blank">http://www.android2ee.com/Formations...e-Android.html</a><br />
<br />
Bref, tout ça pour vous dire, n'hésitez pas à venir à la conférence et n'hésitez pas à vous inscrire à la formation parce que ça va être énorme !<br />
Alors à bientôt j'espère.<br />
Prochaine formation : Formation complète Paris 14 Mars.</blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1138/serai-speaker-devoxxfr-2016-architecture-android-bonnes-pratiques-universite-3h/</guid>
		</item>
		<item>
			<title><![CDATA[DroidCon London 2015 ! J'y étais et c'était super !]]></title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1029/droidcon-london-2015-j-y-etais-c-etait-super/</link>
			<pubDate>Fri, 15 Jan 2016 14:17:24 GMT</pubDate>
			<description>Bonjour tous le monde, 
 
Je...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour tous le monde,<br />
<br />
Je n'ai pas encore eu le temps de vous en parler, mais j'étais à la DroidCon London 2015 et c'était super, vraiment super, je me suis régalé.<br />
<br />
Cela fait trois ans maintenant que je m'y déplace et je commence à connaître plein de monde que je revois à cette occasion. Du coup, je passe beaucoup de temps en discussions informelles avec des gens sympas, passionnés et c'est très agréable. Cette année, en particulier, j'ai pas mal discuté avec Damien Level (CapGemini), Jérémy Vagnet (Genymotion), Eyal Lezny (Genymotion), Xavier Hallade (Intel), Cyril Mottier et son comparse Mathieu Calba (CaptainTrain), Damien Mabin (Google), Carl-gustaf Harroch (Novoda), et beaucoup d'autres personnes. Et c'était passionnant. <br />
<br />
Mais bon, ce n'était pas de ça dont je souhaitais vous parler :) Je voulais vous parler des conférences à voir absoluement.<br />
<br />
Déjà, si les animations vous questionne vous pouvez regarder ma conférence &quot;Animate me ! If you don't do it for me do it for Chet&quot; où je vous parle des animations pour clarifier le framework et vous permettre d'avoir une vision globale et simple. Parce que les animations, c'est crucial pour vos applications, alors n'hésitez pas à la visionner. Elle se trouve ici:<a href="https://skillsmatter.com/skillscasts/7124-barcamp-animate-me-if-you-don-t-do-it-for-me-then-do-it-for-chet" target="_blank">https://skillsmatter.com/skillscasts...do-it-for-chet</a>. Pour la petite histoire, la veille, j'avais invité Chet Haase, via tweeter, à venir la voir. Et il est venu.:D merci à Chet Haase d'être venu, d'avoir écouté et de m'avoir fait un retour. Cette conférence est la première partie d'un série de conférence sur les animations, vous aurez droit à la seconde, l'an prochain (pour la DevoxxFR ? peut-être).<br />
<br />
Ensuite, il y a eu des conférences sublimes que vraiment je vous engage à aller visionner.<br />
<br />
&quot;Advancing Development with the language Kotlin&quot; de Jake Wharton que vous pouvez voir ici :<a href="https://skillsmatter.com/skillscasts/6651-advancing-development-with-the-kotlin-language" target="_blank">https://skillsmatter.com/skillscasts...otlin-language</a>. Elle est juste magnifique et vous donne vraiment envie de vous mettre à Kotlin. D'ailleurs, vous ne vous y êtes pas déjà mis ? Ben, qu'est ce que vous foutez ?<br />
<br />
&quot;The long road&quot; de Sandro Mancuso que vous pouvez visionner ici:<a href="https://skillsmatter.com/skillscasts/6825-keynote-the-long-road" target="_blank">https://skillsmatter.com/skillscasts...-the-long-road</a>. Fantastique Key note qui va vous parler de vous et de votre parcours professionnel d'une manière ultra pertinente. Pour vous faire prendre conscience de qui vous êtes et de ce que vous devez mettre en place comme stratégie de carrière. Et le speaker et super.<br />
<br />
&quot;Managing Expectations&quot; de Chet Haase, ici:<a href="https://skillsmatter.com/skillscasts/6669-keynote-managing-expectations-a-manager-s-guide-for-managing-to-manage-unmanageable-teams-manageably" target="_blank">https://skillsmatter.com/skillscasts...ams-manageably</a>. Un grand moment de bonheur.<br />
<br />
&quot;Android for Java developers&quot; de Chet Haase, ici:<a href="https://skillsmatter.com/skillscasts/6670-keynote-android-for-java-developers" target="_blank">https://skillsmatter.com/skillscasts...ava-developers</a>. Dans cette conférence Chet Haase revient sur les articles qu'il a publié concernant les bonnes pratiques du développement Android. Vous devez absoluement la visionner. Ces articles sont à lire si vous êtes un développeur Android et se trouve ici  <a href="https://medium.com/google-developers/developing-for-android-i-understanding-the-mobile-context-fd2351b131f8#.f3svl95jq" target="_blank">https://medium.com/google-developers...1f8#.f3svl95jq</a>, il y en a 9 à lire. Moi, je l'ai déjà lu 5 fois et là j'en extraie la substantielle moelle pour l'inclure dans mes formations. Bref, c'est votre bible.<br />
<br />
&quot;The Jack and Jill build system&quot; de Eric Lafortune pour comprendre ce qui vous attend dans la nouvelle façon de compiler nos applications. ici:<a href="https://skillsmatter.com/skillscasts/6680-the-jack-and-jill-build-system" target="_blank">https://skillsmatter.com/skillscasts...l-build-system</a><br />
<br />
&quot;Meaningful motion&quot; de Nick Butcher et Benjamin Weiss ici:<a href="https://skillsmatter.com/conferences/6712-droidcon-2015#program" target="_blank">https://skillsmatter.com/conferences...n-2015#program</a> Une des conférence que j'ai préféré, elle parle des animations et elle était juste fantastique. Celle là aussi, il faut que vous la regardiez.<br />
<br />
&quot;Vector All the things&quot; de Mark Allison qui se trouve ici: <a href="https://skillsmatter.com/skillscasts/6617-vector-all-the-things" target="_blank">https://skillsmatter.com/skillscasts...all-the-things</a> dans laquelle Mark nous explique les VectorDrawable et les AnimatedVectorDrawable et à quel point il est fan de ces nouvelles techniques. C'était une excellent session.<br />
<br />
Je vous engage fortement à regarder au moins Chet Haase (sur le dèv), Nick Butcher et Jack Wharton, c'est le minimum. Bien sûr, il y a eu plein d'autres talks excellents et ce n'est pas perdre de temps que de les visionner. Alors faîtes vous plaisir, elles sont disponibles.<br />
<br />
Et voilà mon micro compte-rendu de cette DroidCon London, je pense que c'est la DroidCon européene à ne pas manquer et franchement, si vous n'y êtes jamais allé, les early ticket pour l'an prochain sont en vente, vous auriez tord de vous en priver : <a href="https://skillsmatter.com/conferences/7411-droidcon-2016" target="_blank">https://skillsmatter.com/conferences/7411-droidcon-2016</a><br />
<br />
Vous pouvez aussi aller à la DroidCon Paris si vous n'avez jamais fait de DroidCon.<br />
<br />
Et sinon, sinon, et beh les gars, les gueuses, n'hésitez pas à vous faire former à Android par un gars qui s'y connait et n'hésitez pas à vous renseigner sur votre formateur, c'est important et c'est pour ça que c'est quand même super quand c'est moi qui vous forme. :)<br />
<br />
Les prochaines formations Android d’Android2EE <br />
<br />
Lille: Du 15 au 19 février 2015 , Formation complète.<br />
Paris: Du 14 au 18 mars 2015 , Formation complète.<br />
<br />
Et pour le reste, je passerai régulièrement sur Paris, Toulouse, Lyon avec la formation complète : regardez le calendrier il est à jour :) Les formations Master et Utlimate sont ouvertes en intra pour l'instant, il faut que je les prévois en inter, je sais pas encore où ni quand, même c'est prévu.<br />
<br />
Pour l'instant les formations &quot;Ultimate&quot; et &quot;Master&quot; sont en train d'être programmées. Si vous souhaitez l'organisez dans votre entreprise, c'est possible contactez-noi.<br />
<br />
A bientôt.<br />
<br />
Mathias Séguy<br />
<a href="http://mathias-seguy.developpez.com/" target="_blank">Mathias Séguy</a><br />
<br />
Fondateur <a href="http://www.android2ee.com/" target="_blank">Android2EE</a><br />
Formation - Expertise - Consulting Android.<br />
Ebooks pour apprendre la programmation sous Android.<br />
<img src="http://blog.developpez.com/media/androidEvolution_lq_for_web.png" border="0" alt="" /><br />
<br />
<a href="https://plus.google.com/u/0/115788770291974884100/about" target="_blank">Retrouvez moi sur Google+</a><br />
<a href="http://fr.twitter.com/#%21/android2ee" target="_blank">Suivez moi sur Twitter</a><br />
<a href="http://fr.linkedin.com/pub/mathias-seguy/37/a71/a59" target="_blank">Rejoignez mon réseau LinkedIn</a></blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1029/droidcon-london-2015-j-y-etais-c-etait-super/</guid>
		</item>
		<item>
			<title>I am back :)</title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1027/i-am-back/</link>
			<pubDate>Fri, 15 Jan 2016 14:06:03 GMT</pubDate>
			<description>Bonjour tous le  monde, 
Je...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour tous le  monde,<br />
Je suis en train de me réinvestir dans DVP, sur les articles et sur le blog.<br />
Un petit billet pour annoncer mon retour sur ce blog.<br />
A bientôt donc :)<br />
<br />
<a href="http://mathias-seguy.developpez.com/" target="_blank">Mathias Séguy</a><br />
<br />
Fondateur <a href="http://www.android2ee.com/" target="_blank">Android2EE</a><br />
Formation - Expertise - Consulting Android.<br />
Ebooks pour apprendre la programmation sous Android.<br />
<img src="http://blog.developpez.com/media/androidEvolution_lq_for_web.png" border="0" alt="" /><br />
<br />
<a href="https://plus.google.com/u/0/115788770291974884100/about" target="_blank">Retrouvez moi sur Google+</a><br />
<a href="http://fr.twitter.com/#%21/android2ee" target="_blank">Suivez moi sur Twitter</a><br />
<a href="http://fr.linkedin.com/pub/mathias-seguy/37/a71/a59" target="_blank">Rejoignez mon réseau LinkedIn</a></blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b1027/i-am-back/</guid>
		</item>
		<item>
			<title><![CDATA[Conférence "An Android Journey" par Mathias Seguy à Lyon le Mardi 17 Mars]]></title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b328/conference-an-android-journey-mathias-seguy-lyon-mardi-17-mars/</link>
			<pubDate>Mon, 09 Mar 2015 12:54:21 GMT</pubDate>
			<description>Image :...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><a href="http://android2ee.com" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2014/05/Android2ee-logo-BIG_blue-1024x375.png" border="0" alt="" /></a><br />
<br />
Bonjour tous le monde, en particulier, bonjour amis Lyonnais,<br />
<br />
<b>Je donnerai une conférence intitulé &quot;An Android Journey, astuces et bonnes pratiques tout au long de la route&quot; le mardi 17 Mars à 19h chez Zenika</b><br />
<br />
Durant cette conférence, je parlerai des bonnes pratiques du développement Android. J'aborderai pendant une heure, tout un tas de petits détails qui font qu'une application devient excellente, respectueuse de son utilisateur, adaptée aux contexte, maintenable...<br />
Cette conférence est la somme des bons conseils et des bonnes pratiques sur le développement Android. En particulier, elle abordera le design et l'UX, le développement avec quelques pro-tips, la mise en place d'architecture propres pour vos applications, l'utilisation de librairies, les stratégies réseaux...<br />
Un tour d'horizon presque complet de tous ces petits détails du développement qui font qu'une application devient une application d'excellence vous sera présenté.<br />
Alors si vous n'avez pas pu assister à cette présentation à Paris (PAUG), Toulouse (TAUG) ou encore à Londres (DroidCon London), nous vous invitons à vous joindre à nous lors de cette session Lyonnaise.<br />
<b>N'Oubliez pas de vous inscrire :<a href="http://www.zenika.com/conference-an-android-journey.html&#65279;" target="_blank">http://www.zenika.com/conference-an-...y.html&#65279;</a></b><br />
<br />
<br />
<b>Promotion de 30% sur la session &quot;<a href="http://www.android2ee.com/Formations-Android/formation-complete.html" target="_blank">Formation Android Complète</a>&quot; sur Lyon du 16 au 20 Mars 2015:  2000€ au lieu de 2980€</b><br />
Il est encore temps de s'inscrire à cette formation, surtout que je vous fais une offre promotionnelle 2000€ au lieu de 2980€, alors autant en profitez. Sautez sur votre responsable R.H. et secouez le jusqu'à ce que vous soyez inscrit, c'est une occasion rare, ne la laissez pas passer.<br />
En effet, c'est l'occasion de monter en compétence sur Android dans les meilleures conditions à moindre coût; un cours excellent, un formateur passionné et expert de la technologie, un support de formation exceptionnel. Je vous parle des notifications et des Android Wear, de Palette, des services Android et des services métiers, d'architecture, des bonnes pratiques, des animations, de librairies (EventBus, AndroidAnnotation, OrmLite, SugarOrm,...), des google Api (Authentification, Drive, Localisation, Map, ActionBar Compat) ... Le seul inconvénient de cette formation est que je souhaite tout vous expliquer :) mais est-ce un inconvénient ?<br />
Et les T.P. s'effectuent sous Android Studio, eheh :)<br />
<br />
Ah oui, pour vous inscrire, il suffit de m'envoyer un mail <a href="mailto:mathias.seguy@android2ee.com">mathias.seguy@android2ee.com</a>.<br />
<br />
Bonne journée à vous et au plaisir de vous rencontrez :).<br />
<br />
<a href="http://mathias-seguy.developpez.com/" target="_blank">Mathias Séguy</a><br />
<a href="mailto:mathias.seguy@android2ee.com">mathias.seguy@android2ee.com</a><br />
<br />
Fondateur <a href="http://www.android2ee.com/" target="_blank">Android2EE</a><br />
Formation - Expertise - Consulting Android.<br />
Ebooks pour apprendre la programmation sous Android.<br />
<img src="http://blog.developpez.com/media/androidEvolution_lq_for_web.png" border="0" alt="" /><br />
<br />
<a href="https://plus.google.com/u/0/115788770291974884100/about" target="_blank">Retrouvez moi sur Google+</a><br />
<a href="http://fr.twitter.com/#%21/android2ee" target="_blank">Suivez moi sur Twitter</a><br />
<a href="http://fr.linkedin.com/pub/mathias-seguy/37/a71/a59" target="_blank">Rejoignez mon réseau LinkedIn</a><br />
<br />
<div style="text-align: center;"><div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><td class="cms_table_td"><a href="http://android2ee.com" target="_blank"><img src="http://mathias-seguy.developpez.com/cours/android/vertical_logo_websize.png" border="0" alt="" /></a></td>
<td class="cms_table_td"><div class="cms_table"><table width="350" align="center" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><b><font color="#0000FF"><a href="http://android2ee.com" target="_blank">Android2EE</a></font></b><br />
<b><font color="#0000FF"><a href="http://android2ee.com" target="_blank">La Formation et l'Expertise Android à votre service</a></font></b><br />
<br />
Comme AirFrance, Orange, Capgemini, Atos WorldLine et bien d'autres.<br />
Vous aussi, bénéficiez des meilleures formations Android du moment.<br />
<br />
<div class="cms_table"><table width="350" align="center" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-calendrier.html" target="_blank"><font color="#008000">Calendar</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-complete.html" target="_blank"><font color="#008000">Formation Complète</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Mathias-Seguy.html" target="_blank"><font color="#008000">Contact</font></a></TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/site/Videos/" target="_blank"><font color="#008000">Vidéo</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/les-ebooks/" target="_blank"><font color="#008000">eBook</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/SlideShare/" target="_blank"><font color="#008000">Conférence</font></a></TD>
</tr>
</table></div></TD>
</tr>
</table></div></td>
<td class="cms_table_td"><a href="http://android2ee.com" target="_blank"><img src="http://mathias-seguy.developpez.com/cours/android/vertical_logo_websize.png" border="0" alt="" /></a></td>
</tr>
</table></div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b328/conference-an-android-journey-mathias-seguy-lyon-mardi-17-mars/</guid>
		</item>
		<item>
			<title>La formation Android fait étape sur Lyon en Mars</title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b224/formation-android-etape-lyon-mars/</link>
			<pubDate>Thu, 26 Feb 2015 08:54:39 GMT</pubDate>
			<description>Image :...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><a href="http://android2ee.com" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2014/05/Android2ee-logo-BIG_blue-1024x375.png" border="0" alt="" /></a><br />
<br />
Bonjour tous le monde, en particulier, bonjour amis Lyonnais,<br />
<br />
<b>J'ouvre une session &quot;<a href="http://www.android2ee.com/Formations-Android/formation-complete.html" target="_blank">Formation Android Complète</a>&quot; sur Lyon du 16 au 20 Mars 2015.</b><br />
C'est l'occasion de monter en compétence sur Android dans les meilleures conditions; un cours excellent, un formateur passionné et expert de la technologie, un support de formation exceptionnel. Je vous parle des notifications et des Android Wear, de Palette, des services Android et des services métiers, d'architecture, des bonnes pratiques, des animations, de librairies (EventBus, AndroidAnnotation, OrmLite, SugarOrm,...), des google Api (Authentification, Drive, Localisation, Map, ActionBar Compat) ... Le seul inconvénient de cette formation est que je souhaite tout vous expliquer :) mais est-ce un inconvénient ?<br />
Et les T.P. s'effectuent sous Android Studio, eheh :)<br />
<br />
<b>On vient d'ouvrir la session, il est encore temps de s'inscrire !!! </b><br />
Alors, allez voir votre responsable formation dans votre entreprise et expliquez lui &quot;Vous voulez être formé à Android par Android2EE car c'est la meilleure formation Android de france !&quot; convainquez le et inscrivez vous. Ah oui, pour vous inscrire, il suffit de m'envoyer un mail <a href="mailto:mathias.seguy@android2ee.com">mathias.seguy@android2ee.com</a>.<br />
<b>Et le cadeau bonux, pour les lecteurs de developpez.com, une remise exceptionnelle de 10% si lors de l'inscription vous me dîtes &quot;je viens de DVP&quot;</b>.<br />
<br />
De plus, pour fêter mon passage pour Lyon, avec Zenika, on organise une soirée <b>Android le Mardi 17 Mars soir, avec au programme, la conférence &quot;An Android Journey&quot; </b>et un temps informel de questions/réponses (ou un tp sur les notifications ou l'ActionBarCompat, à voir). Je reviendrai avec plus de détail dans un prochain billet sur cette conférence.<br />
<br />
Bonne journée à vous et au plaisir de vous rencontrez :).<br />
<br />
<a href="http://mathias-seguy.developpez.com/" target="_blank">Mathias Séguy</a><br />
<a href="mailto:mathias.seguy@android2ee.com">mathias.seguy@android2ee.com</a><br />
<br />
Fondateur <a href="http://www.android2ee.com/" target="_blank">Android2EE</a><br />
Formation - Expertise - Consulting Android.<br />
Ebooks pour apprendre la programmation sous Android.<br />
<img src="http://blog.developpez.com/media/androidEvolution_lq_for_web.png" border="0" alt="" /><br />
<br />
<a href="https://plus.google.com/u/0/115788770291974884100/about" target="_blank">Retrouvez moi sur Google+</a><br />
<a href="http://fr.twitter.com/#%21/android2ee" target="_blank">Suivez moi sur Twitter</a><br />
<a href="http://fr.linkedin.com/pub/mathias-seguy/37/a71/a59" target="_blank">Rejoignez mon réseau LinkedIn</a><br />
<br />
<div style="text-align: center;"><div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><td class="cms_table_td"><a href="http://android2ee.com" target="_blank"><img src="http://mathias-seguy.developpez.com/cours/android/vertical_logo_websize.png" border="0" alt="" /></a></td>
<td class="cms_table_td"><div class="cms_table"><table width="350" align="center" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><b><font color="#0000FF"><a href="http://android2ee.com" target="_blank">Android2EE</a></font></b><br />
<b><font color="#0000FF"><a href="http://android2ee.com" target="_blank">La Formation et l'Expertise Android à votre service</a></font></b><br />
<br />
Comme AirFrance, Orange, Capgemini, Atos WorldLine et bien d'autres.<br />
Vous aussi, bénéficiez des meilleures formations Android du moment.<br />
<br />
<div class="cms_table"><table width="350" align="center" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-calendrier.html" target="_blank"><font color="#008000">Calendar</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-complete.html" target="_blank"><font color="#008000">Formation Complète</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Mathias-Seguy.html" target="_blank"><font color="#008000">Contact</font></a></TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/site/Videos/" target="_blank"><font color="#008000">Vidéo</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/les-ebooks/" target="_blank"><font color="#008000">eBook</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/SlideShare/" target="_blank"><font color="#008000">Conférence</font></a></TD>
</tr>
</table></div></TD>
</tr>
</table></div></td>
<td class="cms_table_td"><a href="http://android2ee.com" target="_blank"><img src="http://mathias-seguy.developpez.com/cours/android/vertical_logo_websize.png" border="0" alt="" /></a></td>
</tr>
</table></div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b224/formation-android-etape-lyon-mars/</guid>
		</item>
		<item>
			<title>Migration AndroidStudio... Mise à jour Gradle</title>
			<link>https://www.developpez.net/forums/blogs/428666-mathiasseguy/b158/migration-androidstudio-mise-jour-gradle/</link>
			<pubDate>Thu, 29 Jan 2015 08:36:10 GMT</pubDate>
			<description><![CDATA[[TR] 
 
[TD]*La Formation et...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><div class="cms_table"><table width="500" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><div style="text-align: center;"><b><font color="#0000FF"><a href="http://android2ee.com" target="_blank">La Formation et l'Expertise Android à votre service</a></font></b><br />
<br />
Comme AirFrance, Orange, Capgemini, Atos WorldLine et bien d'autres.<br />
Vous aussi, bénéficiez des meilleures formations Android du moment.<br />
<br />
<div class="cms_table"><table width="500" align="center" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-calendrier.html" target="_blank"><font color="#008000">Calendar</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Formations-Android/formation-complete.html" target="_blank"><font color="#008000">Formation Complète</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/Mathias-Seguy.html" target="_blank"><font color="#008000">Contact</font></a></TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><a href="http://www.android2ee.com/site/Videos/" target="_blank"><font color="#008000">Vidéo</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/les-ebooks/" target="_blank"><font color="#008000">eBook</font></a></TD>
<TD class="cms_table_td"><a href="http://www.android2ee.com/site/SlideShare/" target="_blank"><font color="#008000">Conférence</font></a></TD>
</tr>
</table></div></TD>
<TD class="cms_table_td"><a href="http://android2ee.com" target="_blank"><img src="http://mathias-seguy.developpez.com/cours/android/vertical_logo_websize.png" border="0" alt="" /></a></TD>
</tr>
</table></div>
<br />
Bonjour,<br />
Ben ça y est, vous avez migré sous AndroidStudio grace à mon précédent billet <a href="http://www.android2ee.com/Blog/migration-androidstudio.html&amp;quot; title=&amp;quot;&#91;url]http://www.android2ee.com/Blog/migration-androidstudio.html&amp;quot;&#91;/url] target=&amp;quot;_blank" target="_blank">Migration AndroidStudio</a>, maintenant passons aux choses sérieuses et avançons dans notre compréhension du système de build basé sur Gradle. En particulier je souhaite vous parler du mode release et debug, des flavors et de la mise en place du projet de tests. Je ferrai un détour aussi sur les deux bugs qui m'ont pourri la vie pendant quelques quart d'heures que vous gagniez du temps :)<br />
<br />
Une première chose importante à comprendre, la notion de module. Dans un projet AndroidStudio, vous pouvez avoir plusieurs modules, chaque module est une application. Le plus souvent vous avez deux modules par projet, l'application principale et son application de tests mais vous pourriez avoir plusieurs projets indépendants (ce qui est je crois une mauvaise pratique).<br />
<br />
Je vous conseille dans AndroidStudio d'utiliser la vue projet plutôt que la vue Android pour votre projet, vous comprendrez mieux comment est structuré votre application dans l'I.D.E.:<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/AndroidStudio-vueProjet.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/AndroidStudio-vueProjet.png" border="0" alt="" /></a><br />
<b>1)Première chose :votre Android SDK</b><br />
Pour pouvoir vraiment utiliser les librairies native android (android-support, googleplayservice,...), il faut que votre android sdk soit à jour et en particulier le repository. Pour cela, ouvrez votre SDK Manager et assurez vous que les deux repository android et google sont installés :<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/SDK-Manager.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/SDK-Manager.png" border="0" alt="" />SDK Manager à jour</a>.<br />
Cela permet a gradle de récupérer les dîtes librairies pour construire vos projets.<br />
<br />
<b>2)Deuxième chose: Le bug du Error:(1, 0) Plugin with id 'com.android.application' not found.</b><br />
Vous avez créé votre projet ou l'avez importé et AndroidStudio vous dit que gradle ne peut synchroniser le projet avec cette erreur improbable &quot;Error:(1, 0) Plugin with id 'com.android.application' not found&quot;. Pourquoi improbable ? Parce que vous utilisez la dernière version d'AndroidStudio et que votre plugin gradle possède une version supérieure à 2. Pour vérifier votre version de gradle, il vous suffit d'ouvrir le fichier gradle-wrapper.properties et de vérifier la ligne: distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip. Vous pouvez aussi aller dans votre répertoire d'installation de gradle (sous ~User\.gradle\wrapper\dists et vérifier la présence du dossier gradle-2.2.1-all). Donc normalement, vous êtes à jour et le plugin com.android.application n'a aucune raison de ne pas être trouvé par AndroidStudio pour construire votre projet.<br />
En fait, il vous suffit d'ouvrir le fichier build.gradle de votre projet (il y en a deux, celui du projet et celui du projet... ahah. Le premier est global au projet, le second est destiné à votre application et est donc associé à son module). Donc il vous suffit d'ouvrir le fichier du projet (&lt;em]build.gradle (Project:MonProjet)&lt;/em]) et de le mettre à jour avec les lignes suivantes:<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:168px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0">
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}</pre></td></tr></table></pre>
</div>Votre projet devient moins con et se construit alors lui-même maintenant qu'il sait où se trouve son plugin android.<br />
<br />
<b>3)Lancer un build</b><br />
Oui, c'est tout bête comme question mais pas évident quand on débarque d'Eclipse. En fait rien de plus simple, vous faîtes un click droit sur votre fichier gradle.build et sélectionnez run ou vous appuyer sur le bouton SyncProject with GradleFile.<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/BoutonBuild.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/BoutonBuild.png" border="0" alt="" />Build</a><br />
<br />
<b>4)Le mode release ou le mode debug</b><br />
Une bonne nouvelle, nous pouvons, sans aucune difficulté construire notre application en mode debug et en mode release. Le mode debug a sa variable debuggable à true, là où le mode release l'a à false. Rien que pour cela ça vaut le coup. Il y a bien sûr d'autres différences, par exemple la clef utilisée pour signer votre projet avant de le déployer.<br />
Si l'on sélectionne l'un ou l'autre de ces modes, il sera automatiquement utilisé lors du build du projet. Trop bon, non ?<br />
Pour sélectionnez votre variante de build, ouvrez le panneau BuildVariants (le bouton en bas à gauche):<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant.png" border="0" alt="" />BuildVariants</a><br />
Il ouvre alors, le panneau vous permettant de choisir votre variante de build pour les différents modules de votre projet. Vous sélectionnez le mode release ou debug en clickant sur release ou debug (ouvre un spinner).<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant-choix.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant-choix.png" border="0" alt="" /></a><br />
<br />
Vous êtes trop content de savoir ça et du coup, vous sélectionnez la variante release et lancez le build, et paf, ça plante avec une exception obscure sur votre clef de signature (&lt;em]&quot;Apk non signé, le mode release ne peut être effectué&quot;&lt;/em]). <br />
En fait, c'est cohérent, comment AndroidStudio pourrait-il savoir où se trouve la clef à utiliser pour signer votre application, le mot de passe du keystore qui la contient et le mot de passe de la clef ? Il n'est pas omniscient (ça rassure). Il faut donc lui fournir ces informations. Pour faire ça, dans le menu Build d'AndroidStudio, on va sur Generate SignedApk, on choisit son module, puis le keystore (soit on en créé un soit on pointe vers un existant) et voilà, c'est fini. Pour plus d'information sur cette notion de clef, vous pouvez lire (ou relire) cet article :<a href="http://www.android2ee.com/Livre-en-consultation/signer-et-deployer.html" target="_blank">Signer et déployer son application</a>.<br />
<br />
<br />
Pour aller plus loin (vers l'infini et au-delà:), vous pouvez rajouter ce keystore (le fichier *.jks) à votre projet. Il y a plein de cas où cela est utile (travail en équipe, projet open source, persistence du keystore, tout ça). Pour cela, rien de plus simple, vous copiez collez le fichier jks dans votre projet et vous expliquez a gradle qu'il faut l'utiliser pour signer votre application.<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant-jks-in-project.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/buildVariant-jks-in-project.png" border="0" alt="" /></a><br />
Ensuite, dans le build.gradle du module, on rajoute un bloc de configuration pour la signature:<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0"> signingConfigs{
        releaseConfig{
            storeFile file(&quot;myKeyStore.jks&quot;);
            storePassword (&quot;toto&quot;);
            keyAlias &quot;myKeyName&quot;;
            keyPassWord &quot;toto&quot;
        }
    }</pre></td></tr></table></pre>
</div>Ensuite, il suffit d'expliquer, dans le bloc des buildTypes, que la variante release utilise cette configuration pour signer l'apk:<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">
    buildTypes {
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.releaseConfig
        }</pre></td></tr></table></pre>
</div>Pour aller encore plus loin (&quot;Il y a bien longtemps, dans une galaxie lointaine, très lointaine...&quot;:), vous pouvez customiser votre variante de build debug aussi, par exemple:<br />
<ul><li style=""> rajouter le debuggable à true,</li><li style=""> suffixer le package root de votre application en mode debug avec debug, pour pouvoir déployer le mode debug et le mode release sur un même device sans avoir à désintaller/réinstaller)</li><li style="">activer ou désactiver proguard</li></ul><br />
<br />
Pour cela rien de plus simple, on rajoute le bloc suivant dans les buildtypes, juste sous celui de release:<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">debug {
            debuggable true
            packageNameSuffix &quot;.debug&quot;
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.releaseConfig
        }
    }</pre></td></tr></table></pre>
</div><b>5)Flavor</b><br />
Le système des saveurs avec gradle, yes, yes et yes !<br />
Bon, c'est quoi les saveurs ? C'est la capacité avec un même module de construire plusieurs apk qui ont du code différent. En d'autres termes, avec un même projet on est capable en un build de le construire en mode premium, payant ou gratuit. Un autre scénario est de le construire en mode amd ou intel. On pourrait aussi, le construire en mode tablette, phablette ou téléphone (mauvaise idée en fait à part pour l'optimisation de la taille de l'apk pour les images). On pourrait aussi se faire plaisir avec un mode post ou pre Honeycomb. Bref, cela nous permet de faire des branches de code indépendantes les unes des autres, séparées dans le code et qui construisent plusieurs apk.<br />
L'idée est que votre code principal se trouve dans le dossier src/main et toutes les classes et les ressources qui changent de comportement en fonction de la saveur seront surchargées dans une branche src/maSaveur. Le système de build ferra le merge lui-même (que ce soit pour les classes, les fichiers de ressources et même les fichiers xml, typiquement vos chaînes de caractères).<br />
Pour cela, la première chose à faire est de rajouter dans votre gradle.build un bloc productFlavor et de décrire les saveurs que vous souhaitez mettre en place sur votre projet. En vis-à-vis de ces saveurs, vous mettez en place dans votre projet la structure correspondante:<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/flavor-1.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/flavor-1-1024x454.png" border="0" alt="" /></a><br />
Il ne vous reste plus qu'à surcharger les classes ou les ressources qui changent en fonction de la saveur.<br />
Quand vous avez fait cela, il vous suffit de revenir dans le panneau BuildVariant et de sélectionner le build souhaité. Vous avez le mode release et debug pour chacune de vos saveurs. ce qui donne release/debug/maSaveurRelease/maSaveurDebug.<br />
Pour pouvoir déployer tous ces apk sur le même appareil, vous pouvez pour chacune de ces saveur, changer le package root, par exepmle:<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">productFlavors {
        blackberry {
            packageName &quot;testproject.firstproject.androidstudio.gradle.myblackberryflavor&quot;
        }
        strawberry {

        }
    }</pre></td></tr></table></pre>
</div><b>6)Le fichier gradle.build obtenu</b><br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br /></div></td><td valign="top"><pre style="margin: 0">apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion &quot;21.1.2&quot;

    defaultConfig {
        applicationId &quot;testproject.firstproject.androidstudio.gradle.formation.android2ee.com.mytestproject&quot;
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName &quot;1.0&quot;
    }

//    signingConfigs{
//        releaseConfig{
//            storeFile file(&quot;myKeyStore.jks&quot;);
//            storePassword (&quot;toto&quot;);
//            keyAlias &quot;myKeyName&quot;;
//            keyPassWord &quot;toto&quot;
//        }
//    }
    buildTypes {
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//            signingConfig signingConfigs.releaseConfig
        }
        debug {
            debuggable true
            applicationIdSuffix &quot;.debug&quot;
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//            signingConfig signingConfigs.releaseConfig
        }

    }

    productFlavors {
        blackberry {
            packageName &quot;testproject.firstproject.androidstudio.gradle.formation.android2ee.com.myblackberryflavor&quot;
        }
        strawberry {

        }
    }


    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
    }

}</pre></td></tr></table></pre>
</div><b>7)Les tests</b><br />
Soit vous démarrez un nouveau projet et là il n'y a rien à faire, le wizard de création de projet le fait pour vous.<br />
Sinon, ben il faut le faire :<br />
Pour cela, sous MyApp\src vous créez votre structure de test; new Folder &quot;MyTest&quot; ou &quot;androidTest&quot;, puis un folder java et enfin le package de vos tests qui est soit le même que celui de votre application, soit un autre (comme vous souhaitez, vous êtes libres).<br />
<a href="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/test-la-structure.png" target="_blank"><img src="http://blog.developpez.com/android2ee-mathias-seguy/files/2015/01/test-la-structure.png" border="0" alt="" />Projet de tests</a><br />
Si c'est le même package, il n'y a rien à faire, si c'est un autre package que celui de votre application, il faut modifier le fichier gradle.build et ajouter dans votre bloc de defaultConfig la balise testApplicationId<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">defaultConfig {
        applicationId &quot;com.android2ee.formation.gradle.androidstudio.firstproject&quot;
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 1
        versionName &quot;1.0&quot;
        testApplicationId &quot;com.android2ee.formation.gradle.androidstudio.firstproject.test&quot;
    }</pre></td></tr></table></pre>
</div>Ensuite vous écrivez vos tests. Le mieux là, c'est que vous lisiez les articles d'android2ee consacrés à la mise en place des tests : <a href="http://www.android2ee.com/Livre-en-consultation/les-tests.html" target="_blank">Les tests sous Android</a>.<br />
Pour lancer vos tests, click droit sur le nom de votre application &quot;MonApp&quot; et runAllTests.<br />
Et normalement, les tests se passent et vous obtenez le rapport dans l'onglet run en bas à gauche<br />
Moi, j'ai eu un bug où l'activité n'était pas trouvée (ClassNotFoundException) car j'avais surchargée la balise TestApplicationId en y mettant le même path que celui de mon projet, donc il installait le projet puis le désinstallait pour y mettre celui de tests (ils avaient le même package) et du coup la classe à tester n'était plus là. Par contre si on omet cette balise, le système rajoute un .test au nom de package du projet de test et donc il n'y a plus de conflit.<br />
<br />
<b>8)Rajouter une dépendence (un jar)</b><br />
Tout d'abord, cela ne s'applique pas aux librairies natives google (googleservices) et android (support-librairie) mais seulement aux librairies externes.<br />
Pour cela, la marche à suivre est simple :<br />
<ul><li style="">Déposez votre jar dans le dossier libs de votre module</li><li style="">Click droit sur le dossier et choisissez &quot;Add as librairy&quot;</li><li style="">Vérifier que votre build.gradle contient la ligne compile files('libs/maLib.jar')</li><li style="">Faîtes un clean build (dans le menu Build, choisir &quot;clean project&quot; ou via la console gradle, faîtes gradlew clean)</li></ul><br />
<br />
Et voilà, vous avez rajouter votre librairie à votre projet.<br />
<br />
<b>9) Faire une librairie</b><br />
Vous souhaitez que votre projet soit une librarie, rajouter une module de type librairie et cela suffit.<br />
Pour ceal, &quot;new Module&quot;, choisir librairie.<br />
<br />
<b>Conclusion</b><br />
Bon ben voilà, vous avez atteint le niveau 1 de la migration vers AndroidStudio et de l'utilisation de Gradle.<br />
Pour information, je fais des formations Android, c'est mon métier et je ne fais que ça, alors n'hésitez pas à montée en compétence avec moi, c'est le moment et je vous donnerai tout un tas de conseils d'experts qu'aucune autre formation ne peut vous fournir. Devenez un excellent développeur Android, qu'attendez-vous : <a href="http://www.android2ee.com/Formations-Android/formation-calendrier.html&amp;quot; title=&amp;quot;Calendrier&amp;quot; target=&amp;quot;_blank" target="_blank">Calendrier</a><br />
<br />
Bonne journée à vous et au plaisir de vous rencontrez.<br />
<br />
<a href="http://mathias-seguy.developpez.com/" target="_blank">Mathias Séguy</a><br />
<a href="mailto:mathias.seguy@android2ee.com">mathias.seguy@android2ee.com</a><br />
<br />
Fondateur <a href="http://www.android2ee.com/" target="_blank">Android2EE</a><br />
Formation - Expertise - Consulting Android.<br />
Ebooks pour apprendre la programmation sous Android.<br />
<img src="http://blog.developpez.com/media/androidEvolution_lq_for_web.png" border="0" alt="" /><br />
<br />
<a href="https://plus.google.com/u/0/115788770291974884100/about" target="_blank">Retrouvez moi sur Google+</a><br />
<a href="http://fr.twitter.com/#%21/android2ee" target="_blank">Suivez moi sur Twitter</a><br />
<a href="http://fr.linkedin.com/pub/mathias-seguy/37/a71/a59" target="_blank">Rejoignez mon réseau LinkedIn</a></blockquote>

]]></content:encoded>
			<dc:creator>MathiasSeguy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/428666-mathiasseguy/b158/migration-androidstudio-mise-jour-gradle/</guid>
		</item>
	</channel>
</rss>
