{"id":776,"date":"2017-12-11T19:27:21","date_gmt":"2017-12-11T18:27:21","guid":{"rendered":"http:\/\/chezdom.net\/etu\/?page_id=776"},"modified":"2020-01-06T00:38:44","modified_gmt":"2020-01-05T23:38:44","slug":"dupliquer-un-projet-android","status":"publish","type":"page","link":"https:\/\/chezdom.net\/etu\/dupliquer-un-projet-android\/","title":{"rendered":"Dupliquer un projet android"},"content":{"rendered":"<p>Vous voulez cloner un projet, par exemple pour passer \u00e0 une seconde version tout en conservant la version courante, ou simplement partir d&rsquo;un projet existant pour faire une nouvelle application.<\/p>\n<h2>Avec un syst\u00e8me de gestion de version<\/h2>\n<p>Si votre projet est g\u00e9r\u00e9 par un syst\u00e8me de gestion de version (type CVS, SVN, GIT, <em>etc.<\/em>), c&rsquo;est tout simple il suffit de d\u00e9marrer une nouvelle branche.<\/p>\n<h2>\u00ab\u00a0\u00c0 la main\u00a0\u00bb<\/h2>\n<p>L&rsquo;id\u00e9e est de faire une copie du r\u00e9pertoire du projet et l&rsquo;importer dans Android Studio, puis de faire quelques mises au point. En effet lorsqu&rsquo;on copie simplement le<br \/>\nr\u00e9pertoire du projet, il y a un certain nombre de chemins qui doivent \u00eatre mis \u00e0 jour.<\/p>\n<ul>\n<li>Copier de fa\u00e7on r\u00e9cursive votre r\u00e9pertoire<\/li>\n<\/ul>\n<pre class=\"brush: java; gutter: true\">\n&gt; cp -R projet1 projet2\n<\/pre>\n<ul>\n<li>Dans Android Studio,  <strong>Importer<\/strong> votre nouveau projet en utilisant l&rsquo;item de menu <code>Import projet (Gradle, Eclipse ADT, etc.)<\/code>. Attention pour cette premi\u00e8re fois on ne va pas l&rsquo;ouvrir mais bien l&rsquo;importer : cela lui permet de mettre \u00e0 jour les chemins. \u00c9videmment on ne l&rsquo;importe que la premi\u00e8re fois&#8230; par la suite on ouvrira le projet normalement.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/chezdom.net\/etu\/wp-content\/uploads\/sites\/3\/2017\/12\/AndroidStudioWelcomeMenu.png\" alt=\"Menu Welcome\" \/><\/p>\n<ul>\n<li>\n<p>Renommez le package : dans le navigateur de projet (vue en arbre, sur la gauche), dans la branche java, s\u00e9lectionnez avec la souris le nom du package (net.monurl.chemin.projet1), et utilisez appliquer le menu contextuel <code>Refactor\/Rename<\/code>. Normalement un warning doit vous indiquer que ce package correspond \u00e0 plusieurs r\u00e9pertoires (directories), choisissez <code>Rename package<\/code> (par exemple on pourra mettre \u00ab\u00a0net.monurl.chemin.projet2\u00a0\u00bb \u00e0 la place de \u00ab\u00a0&#8230;projet1\u00a0\u00bb), de fa\u00e7on \u00e0 ce que le changement de nom soit report\u00e9 partout \u00e0 c&rsquo;est n\u00e9cessaire (ressources, code java, manifest). Attention il y a encore une confirmation \u00e0 donner (dans un cadre en bas de l&rsquo;interface).<\/p>\n<\/li>\n<li>\n<p>Ouvrir le fichier <code>AndroidManifest.xml<\/code>, et v\u00e9rifiez le nom du package :<\/p>\n<\/li>\n<\/ul>\n<pre class=\"brush: java; gutter: true\">\n&lt;manifest xmlns:android=&quot;http:\/\/schemas.android.com\/apk\/res\/android&quot;\n    package=&quot;net.monurl.chemin.projet1&quot;&gt;\n<\/pre>\n<ul>\n<li>\n<p>Si besoin aller dans le fichier <code>strings.xml<\/code> pour modifier manuellement le nom de l&rsquo;appli (la cha\u00eene de caract\u00e8re), ou bien un num\u00e9ro de version (c&rsquo;est utile de le faire<br \/>\nafin d&rsquo;\u00eatre s\u00fbr de d\u00e9boguer le bon code).<\/p>\n<\/li>\n<li>\n<p>Enfin il faut mettre \u00e0 jour 2 scripts gradle (vous les trouvez dans le navigateur de projet :<\/p>\n<\/li>\n<li>dans le script gradle build.gradle (Module: app), changer l&rsquo;applicationId (sinon la nouvelle app prendra la place de l&rsquo;ancienne dans votre t\u00e9l\u00e9phone) <\/li>\n<li>\n<p>le nom de projet dans le settings.graddle (il faut alors faire un \u00ab\u00a0sync\u00a0\u00bb du gradle, studio vous propose de le faire lorsque vous \u00e9ditez ce fichier). Lorsque vous modifiez cette valeur, Gradle vous propose de faire un Project Sync, faites le en cliquant sur &lsquo;Sync Now&rsquo;.<\/p>\n<\/li>\n<li>\n<p>Aller dans le menu <code>Build<\/code> et lancer <code>Clean project<\/code> afin de tout remettre \u00e0 jour, puis \u00ab\u00a0Rebuild Project\u00a0\u00bb.<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Vous voulez cloner un projet, par exemple pour passer \u00e0 une seconde version tout en conservant la version courante, ou simplement partir d&rsquo;un projet existant pour faire une nouvelle application. Avec un syst\u00e8me de gestion de version Si votre projet<span class=\"ellipsis\">&hellip;<\/span> <span class=\"read-more\"><a href=\"https:\/\/chezdom.net\/etu\/dupliquer-un-projet-android\/\">Lire la suite &#8250;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-776","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9qu1A-cw","_links":{"self":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/comments?post=776"}],"version-history":[{"count":13,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/776\/revisions"}],"predecessor-version":[{"id":1105,"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/pages\/776\/revisions\/1105"}],"wp:attachment":[{"href":"https:\/\/chezdom.net\/etu\/wp-json\/wp\/v2\/media?parent=776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}