web-dev-qa-db-fra.com

Copier le projet existant avec un nouveau nom dans Android Studio

Je voudrais copier mon projet Android et créer un nouveau projet à partir des mêmes fichiers, mais avec un nom différent. Le but est de pouvoir disposer d'une deuxième version de mon application, ad pris en charge dans l'App Store.

J'ai trouvé cette réponse ici:

Android - copier un projet existant sous un nouveau nom

Mais c'est pour Eclipse. Comment puis-je faire cela dans Android Studio?

85
Mike

Les étapes du lien que vous avez spécifié doivent également fonctionner pour Android Studio. Créez simplement une copie (à l'aide d'un gestionnaire de fichiers) de l'intégralité du dossier du module et attribuez-lui un nouveau nom. Ouvrez-le et ouvrez-le. utilisation Refactor -> Rename _ (clic droit sur l'élément que vous souhaitez renommer) pour renommer votre module et votre package.

Voir this pour plus de détails sur le refactoring dans IntelliJ/Android Studio.

64
free3dom

Si vous utilisez Gradle, n'oubliez pas de modifier l'attribut applicationId dans le fichier app/build.gradle.

38
Sergii

Comme Free3dom a souligné , voici ce qu'il faut faire:

  1. Créer une copie en utilisant le gestionnaire de fichiers
  2. Éditez manuellement les build.gradle fichier pour changer le nom du paquet (vous pouvez utiliser le gestionnaire de fichiers).
  3. Editer manuellement AndroidManifest.xml pour changer le nom du paquet.
  4. Courir gradle sync.
  5. Ouvrez le projet dans Android Studio et refactorisez le nom du package.
  6. Exécutez gradle sync, encore.

Cela semble fonctionner sans aucun problème.

33
Veeru

Si vous utilisez la dernière version de Android Studio, vous pouvez le laisser vous aider à cela.

Remarque: J'ai testé cela dans Android Studio 3.0 uniquement.

La procédure est la suivante:

  1. Dans la vue du projet (avec les captures et la structure à gauche de l'écran), sélectionnez Projet au lieu de . ) Android .
    Le nom de votre projet sera en haut de l’arborescence (à côté des bibliothèques externes).
    Sélectionnez votre projet puis allez à Refactor -> Copy....
    Android Studio vous demandera le nouveau nom et l’emplacement où vous souhaitez copier le projet. Fournir la même chose.

  2. Une fois la copie terminée, ouvrez votre nouveau projet dans Android Studio.
    Les paquets seront toujours sous l'ancien nom du projet.
    C’est le Java, l’ID d’application et tout ce qui a été généré avec l’ancien nom du paquet.
    Nous avons besoin de changer ça.
    Dans la vue du projet, sélectionnez Android .
    Ouvrez le sous-répertoire Java et sélectionnez le paquet principal.
    Puis faites un clic droit dessus et allez dans Refactor puis Rename.
    Android Studio vous avertit que plusieurs répertoires correspondent au package que vous êtes sur le point de refactoriser.
    Cliquer sur Rename package et pasRename directory.
    Après cette étape, votre projet est maintenant complètement sous le nouveau nom.

  3. Ouvrez le fichier res/values ​​/ strings.xml et modifiez le nom du projet.
  4. N'oubliez pas de changer l'ID de votre application dans le "Module de création de Gradle: application".
  5. Une dernière étape consiste à nettoyer et à reconstruire le projet, sinon lorsque vous essayez d'exécuter votre projet Android Studio vous dira qu'il ne peut pas installer l'APK (si vous avez exécuté le projet précédent).
    Alors Build -> Clean project puis Build -> Rebuild project.
    Vous pouvez maintenant exécuter votre nouveau projet cloné.
23
nt.bas

Le but de ceci est que je puisse avoir une deuxième version de mon application qui est supportée par la publicité dans l'App Store.

Actuellement, le meilleur moyen de le faire est sans copier le projet.
Vous pouvez le faire en utilisant différentes saveurs dans votre build.gradle fichier.

 productFlavors {
        flavor1 {
            applicationId = "com.example.my.pkg.flavor1"
        }
        flavorAdSUpport {
            applicationId = "com.example.my.pkg.flavor2"
        }
  }

De cette manière, vous n’avez qu’une copie des fichiers et vous pouvez facilement gérer la différence.

14

Je suis ces étapes et ça marche jusqu'à présent:

  1. Copiez et collez le dossier comme d'habitude.
  2. Ouvrez Android Studio (v3.0.1).
  3. Sélectionnez Ouvrir un projet existant.
  4. Fermez le message qui s’affiche avec le titre: "Importer des projets Gradle".
  5. À gauche de Android Tab, allez à: app -> Java -> sélectionnez le premier dossier (votre dossier de projet)
  6. Refactor => Renommer ... (Maj + F6)
  7. Renommer le paquet, sélectionnez les deux options - Mettez le nom du nouveau dossier en minuscule.
  8. Faire refactor
  9. Sélectionnez: Synchroniser le projet avec Gradle Files dans la barre d’outils.
  10. Construire => Projet propre
  11. Aller à app -> res -> valeurs -> strings.xml, et changer le nom de l'application à la 2ème ligne.
7
Civic

Ceci est une combinaison de la réponse de nt.bas et de l'étape 9 de la réponse de Civic avec des exemples visuels, car il m'a fallu un certain temps pour savoir ce que je voulais savoir depuis que je suis nouveau sur Android Studio. Il a été testé dans Android Studio 3.2.1.

  1. Ouvrez le projet que vous souhaitez cloner Android Studio. (Dans cet exemple, l'ancien nom du projet était test5 et le nouveau nom du projet était test6)

  2. Dans le volet de présentation des fichiers de gauche, cliquez sur: Projet (où l’on pourrait dire actuellement Android).

fig0

  1. Cliquez avec le bouton droit de la souris sur le projet dans le volet Explorateur de fichiers, puis cliquez sur refactoriser> cloner.

fig1

  1. Changez le "Nouveau nom" en votre nouveau nom de projet et cliquez sur ok.

fig2

  1. Fichier> Ouvrir> Nouvelle fenêtre> Sélectionnez votre nouveau projet> Ouvrir dans une nouvelle fenêtre de projet. Dans la nouvelle fenêtre, attendez que la ligne du bas de Android studio est terminée/dit: "Synchronisation terminée".

16

17

14

  1. Dans la sous-fenêtre de vue d'ensemble des fichiers et le bouton droit de la souris, cliquez sur (RMB) sur: app.Java/ <votre ancien nom de projet (pas celui de test, ni celui d'androidTest, mais celui qui est vide)>

fig8

  1. Entrez le nouveau nom de votre colis et cochez les deux cases, puis cliquez sur le refactor.

fig9fig10

  1. Dans la barre en bas à gauche, cliquez sur "Do refactor".

fig12

  1. Ouvrez app/res/values ​​/ strings.xml et remplacez le nom de l'ancien projet (par exemple, test5) par le nouveau nom du projet en ligne:

    <string name="app_name">test5</string>
    

fig3

  1. Ouvrez Gradle scripts/build.gradle (Module: app) et remplacez la ligne par la même ligne avec le nouveau nom de votre projet:% fig4

    applicationId "com.example.a.test5"    
    

fig4

  1. Une ligne jaune apparaîtra en haut de votre volet de code, demandant la synchronisation de gradation. Appuyez sur "sync now".

fig5

  1. dans la barre supérieure, appuyez sur build> Nettoyer le projet.

fig13

  1. Si la mention "Génération terminée" est affichée en bas à gauche, cliquez sur "Construire> Régénérer le projet".

fig14

fig15

  1. Maintenant, vous devriez être capable de compiler et de relancer votre projet (si cela a fonctionné en premier lieu).
5
a.t.

L’annexe du gitbook Android Cours de formation des concepteurs pour les développeurs) comprend les étapes permettant de copier et de renommer un projet existant:

https://google-developer-training.gitbooks.io/Android-developer-fundamentals-course-practicals/content/en/appendix_utilities.html#copy_project

2
Bryon Nicoson

Lors de la refactorisation du nom du paquet dans Android Studio, vous devrez peut-être cliquer sur la petite roue dentée à droite du paquet/Android/project/etc - navigateur et décocher 'compacts vides paquets centraux' dans afin de voir chaque partie du nom du paquet comme un répertoire propre, puis refactoriser pour des répertoires individuels.

2
gnyrfta

J'utilise Android 3.3 et voici comment cela a fonctionné pour moi:

1 - Choisissez la vue du projet

2 - Cliquez avec le bouton droit sur le nom du projet, qui se trouve à la racine du projet, puis choisissez l’option refactor -> copy, il vous invitera avec une fenêtre à choisir le nouveau nom.

3 - Après l'étape 2, Android vous créera un nouveau projet, vous devez l'ouvrir avec le nouveau nom.

4 - Changez le nom de l'application dans le "string.xml", c'est dans "app/res/values ​​/ string.xml"

Maintenant vous l'avez, le même projet avec un nouveau nom. Maintenant, vous voudrez peut-être changer le nom du paquet, il est décrit dans les étapes suivantes

(optionnel) Pour changer le nom du paquet main

5 - allez sur "app/Java", il y aura trois dossiers avec le même nom, un principal, un (androidTest) et un (test), faites un clic droit sur celui principal et choisissez format -> rename, il vous avertira que plusieurs répertoires correspondent à ce paquet, puis cliquez sur "Renommer le paquet". Choisissez un nouveau nom et cliquez dans le refactor. Maintenant, au-dessous de la vue code, voici un aperçu du refactor, cliquez sur "Do refactor"

6 - Allez dans l’option "build", cliquez sur "Clean project", puis "Rebuild project".

7 - Fermez maintenant le projet et rouvrez-le.

2
vinicius de novaes

J'ai essayé de nt.bas answer et gnyrfta answer qui fonctionne bien pour moi.

Citant de nt.bas answer :

Si vous utilisez la dernière version de Android Studio, vous pouvez le laisser vous aider à cela.

Remarque: J'ai testé cela dans Android Studio 3.0 uniquement.

La procédure est la suivante:

  1. Dans la vue du projet (avec les captures et la structure à gauche de l'écran), sélectionnez Projet au lieu de Android.
    Le nom de votre projet sera en haut de l’arborescence (à côté des bibliothèques externes).
    Sélectionnez votre projet puis allez à Refactor -> Copy....
    Android Studio vous demandera le nouveau nom et l’emplacement où vous souhaitez copier le projet. Fournir la même chose.

  2. Une fois la copie terminée, ouvrez votre nouveau projet dans Android Studio.
    Les paquets seront toujours sous l'ancien nom du projet.
    C’est le Java, l’ID d’application et tout ce qui a été généré avec l’ancien nom du paquet.
    Nous avons besoin de changer ça.
    Dans la vue du projet, sélectionnez Android.
    Ouvrez le sous-répertoire Java et sélectionnez le paquet principal.
    Puis faites un clic droit dessus et allez dans Refactor puis Rename.
    Android Studio vous avertit que plusieurs répertoires correspondent au package que vous êtes sur le point de refactoriser.
    Cliquer sur Rename package et pas Rename directory.
    Après cette étape, votre projet est maintenant complètement sous le nouveau nom.

  3. Ouvrez le fichier res/values ​​/ strings.xml et modifiez le nom du projet.
  4. Une dernière étape consiste à nettoyer et à reconstruire le projet, sinon lorsque vous essayez d'exécuter votre projet Android Studio vous dira qu'il ne peut pas installer l'APK (si vous avez exécuté le projet précédent).
    Alors Build -> Clean project puis Build -> Rebuild project.

Jusqu'à présent, vous n'avez renommé que le nom complet de votre projet . Pour renommer le nom de l’emballage, vous devez suivre gnyrfta answer , décrit comme suit:

Lors de la refactorisation du nom du paquet dans Android Studio, vous devrez peut-être cliquer sur la petite roue dentée à droite du paquet/Android/project/etc - navigateur et décocher 'compacts vides paquets centraux' dans afin de voir chaque partie du nom du paquet comme un répertoire propre, puis refactoriser pour des répertoires individuels.


PS: Si vous rencontrez un

Échec de la finalisation de la session: INSTALL_FAILED_INVALID_APK: Split lib_slice_0_apk a été défini plusieurs fois.

Il suffit de supprimer le dossier de construction de appmodule et de reconstruire le projet!

Cela résoudra le problème!

1
Mukyuu

Lorsque vous copiez votre projet, vous devrez également supprimer les fichiers de construction intermédiaires restants d'origine (certains actifs $ 4.class) des répertoires C: ...\AndroidStudioProjects (nom_projet)\app\build\intermediates\classes\release .... Sinon, le nouveau projet échouera presque certainement si vous tentez de compiler le projet copié. Le refactoring ne résoudra pas ce problème.

1
Mark Rossmiller

Accédez au dossier source où se trouve votre projet.

  1. Copiez le projet et passé et changez le nom.
  2. Ouvrez Android Studio et actualisez.
  3. Aller à ->Settings.gradle.
  4. Comprendre ':your new project name '
1
Bassem Qoulta

J'ai eu des problèmes avec ce qui suit:

https://google-developer-training.github.io/Android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html

sur Android version Studio: 3.3.2

jusqu'à ce que j'ai tué le fichier .idea/workspace.xml.

$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux

Avant de faire cela Android Studio pointait toujours sur le dossier source original et tous les renommés étaient appliqués aux fichiers source originaux (dans Testcopysys dans mon exemple ci-dessus).

0
daveb