Comment importez-vous un projet Eclipse dans Android Studio maintenant?

Utiliser “Import Project” dans Android Studio pour un projet Eclipse utilisé pour modifier la structure du projet et générer des fichiers Gradle, mais maintenant (j’utilise AS 0.5.3), il ne génère que des fichiers IDEA (.iml, .idea) mais pas Gradle et il ne touche pas non plus la structure des fichiers.

Comment importez-vous un projet Eclipse dans Android Studio maintenant?

Mise à jour: Essayer d’exporter des fichiers dégradés dans Eclipse ne les exportera pas pour l’application. Elle ne s’affiche pas non plus comme module dans Android Studio.

Dans les nouvelles versions d’Android Studio, le meilleur moyen d’intégrer un projet Eclipse / ADT est de l’importer directement dans Android Studio. Nous avions l’habitude de vous recommander de l’exporter d’Eclipse vers Gradle en premier, mais nous n’avons pas mis à jour ADT assez souvent pour suivre le rythme d’Android Studio.

Dans tous les cas, si vous choisissez “Importer un projet” dans le menu Fichier ou dans l’écran d’accueil lorsque vous lancez Android Studio, il vous faudra suivre un assistant spécialisé qui vous demandera de copier les fichiers dans une nouvelle structure de répertoire. au lieu de les importer sur place, il proposera de corriger certaines choses courantes, telles que la conversion de dépendances en éléments inclus dans le style Maven.

Il ne semble pas que vous obteniez ce stream spécialisé. Je pense que cela ne reconnaît peut-être pas votre projet importé en tant que projet ADT, et que cela ne correspond pas à l’ancien comportement intégré à IntelliJ qui ne connaît pas Gradle. Pour que l’importation spécialisée fonctionne, les conditions suivantes doivent être remplies:

  • Le répertoire racine du projet que vous importez doit avoir un fichier AndroidManifest.xml .
  • Non plus:
    • Le répertoire racine doit contenir les fichiers .project et .classpath d’Eclipse
  • ou
    • Le répertoire racine doit contenir des répertoires res et src .

Si votre projet est complexe, vous ne le pointez peut-être pas comme le répertoire racine qu’il souhaite voir pour que l’importation réussisse.

Exporter depuis Eclipse

  1. Mettez à jour votre plug-in Eclipse ADT vers la version 22.0 ou supérieure , puis accédez à Fichier | Exportation

  2. Aller à Android maintenant, puis cliquez sur Generate Gradle build files , puis il générerait un fichier de classement pour vous.

    entrer la description de l'image ici

  3. Sélectionnez votre projet que vous souhaitez exporter

    entrer la description de l'image ici

  4. Cliquez sur Terminer maintenant

    entrer la description de l'image ici

Importer dans Android Studio

  1. Dans Android Studio, fermez tous les projets actuellement ouverts. Vous devriez voir la fenêtre Bienvenue dans Android Studio .

  2. Cliquez sur Importer un projet.

  3. Recherchez le projet que vous avez exporté d’Eclipse, développez-le, sélectionnez-le et cliquez sur OK.

C’est plus simple avec Android Studio Tout ce dont vous avez besoin est de choisir d’abord

  1. projet d’importation (eclipse …..) entrer la description de l'image ici
  2. puis choisissez votre dossier basé sur le projet éclipse.Comme celui-ci ci-dessous entrer la description de l'image ici

3.Sur la base du type de projet et de la bibliothèque que vous avez utilisé (ActionBarSherlock), vous pouvez être invité par un assistant d’importation spécial. Allez-y, cliquez sur Suivant, puis terminez. dans ce cas, c’était simple

entrer la description de l'image ici

4.Et vous avez terminé. entrer la description de l'image ici

mais parfois les options de débogage ou d’exécution ne fonctionnent pas et une erreur msg montre comme

“cette structure de projet n’est pas basée sur la gradation ou la migre pour graduer”

quelque chose pour résoudre ce problème fermez le projet eclipse ouvert et rouvrez le même projet par le même processus que précédemment avec le projet d’importation (eclipse adt, gradle, etc.)) cette fois, Android Studio appenda tous les fichiers de graduation . Je l’ai fait par hasard d’une façon ou d’une autre, mais cela a fonctionné, j’espère juste que cela fonctionne pour vous aussi.

Essayez ces étapes: 1- cliquez sur Importer un projet (Eclipse, ADT, …)

entrer la description de l'image ici

2- Choisissez le répertoire principal de votre projet Eclipse

entrer la description de l'image ici

3- Gardez les valeurs par défaut. Les deux premières options permettent de changer les fichiers jar en bibliothèques distantes (dépendances). Cela signifie que lorsque vous construisez un studio Android, essayez de trouver une bibliothèque dans un système local ou dans des référentiels distants. La dernière option permet d’afficher un seul dossier en tant qu’application après l’importation.

entrer la description de l'image ici

4- Ensuite, vous verrez le résumé des modifications

entrer la description de l'image ici

5- Ensuite, si vous voyez que la synchronisation du projet Gradle a échoué, vous devriez aller à la vue du projet (coin supérieur gauche). Ensuite, vous devriez aller sur votre projet-> app et ouvrir build.gradle.

entrer la description de l'image ici

6- Ensuite, vous devriez changer vos comstacksdkVersion et targetdkVersion à votre version actuelle que vous voyez dans buildToolsVersion (la mienne est 23). Par exemple, dans mon projet je devrais changer de 17 à 23 en deux endroits

7- Si vous voyez une erreur dans vos dépendances, vous devez en changer la version. Par exemple, dans mon projet, je dois vérifier la version de la bibliothèque de support Android que j’utilise. Donc, j’ouvre le gestionnaire de SDK et je vais en bas pour voir la version. Ensuite, je devrais remplacer ma version studio Android par ma version actuelle et réessayer dans le coin supérieur droit

entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici entrer la description de l'image ici

J’espère que ça aide.

Android Studio a été amélioré depuis l’affichage de cette question et les dernières versions d’Android Studio (à ce jour, nous en sums à la version 2.1.1) ont des capacités d’importation Eclipse assez importantes, alors importer les projets Eclipse directement dans Android Studio approche pour la migration de projets d’Eclipse dans Android Studio.

Je décrirai comment faire ci-dessous, y compris quelques-uns des pièges que l’on pourrait rencontrer. Je m’attacherai en particulier à importer un espace de travail Eclipse contenant plusieurs applications partageant une ou plusieurs bibliothèques de projets (les approches affichées jusqu’à présent semblent limitées à l’importation d’un seul projet d’application Eclipse et de ses bibliothèques de projet). Bien que je ne traite pas de tous les problèmes possibles, j’entre beaucoup de détails sur certains d’entre eux, ce qui, je l’espère, sera utile à ceux qui traversent ce processus pour la première fois.

J’ai récemment importé les projets depuis un espace de travail Eclipse. Cet espace de travail comprenait quatre projets de bibliothèque partagés entre neuf projets chacun.

Quelques antécédents:

Un espace de travail Eclipse contient plusieurs projets, qui peuvent être des projets de bibliothèque ou des applications.

Un projet Android Studio est analogue à un espace de travail Eclipse, car il peut contenir à la fois des projets de bibliothèque et des applications. Cependant, un projet de bibliothèque ou une application est représenté par un “module” dans Android Studio, alors qu’il est représenté par un “projet” dans Eclipse.

Donc, pour résumer: les espaces de travail Eclipse finiront par être des projets Android Studio, et les projets Eclipse à l’intérieur d’un espace de travail finiront par être des modules Android Studio à l’intérieur d’un projet.

Vous devez démarrer le processus d’importation en créant un projet Android Studio (Fichier / Nouveau / Nouveau projet). Vous pouvez donner à ce projet le même nom (ou un nom similaire) que celui que vous avez donné à votre espace de travail Eclipse. Ce projet contiendra éventuellement tous vos modules, un pour chaque projet Eclipse (y compris les bibliothèques de projet) que vous importerez.

Le processus d’importation ne modifie pas vos fichiers Eclipse d’origine tant que vous placez les fichiers importés dans une hiérarchie de dossiers différente. Vous devez donc choisir un dossier pour ce projet qui ne se trouve pas dans votre hiérarchie Eclipse d’origine. Par exemple, si vos projets Eclipse se trouvent tous dans un dossier appelé Android, vous pouvez créer un dossier frère appelé AStudio.

Votre projet Android Studio peut alors être créé en tant que sous-dossier de ce nouveau dossier. L’assistant Nouveau projet vous invitera à entrer dans ce dossier de projet de niveau supérieur dans lequel il créera votre projet.

Le nouvel assistant de projet d’Android Studio vous demandera ensuite de configurer un seul module au moment de la création du projet. Cela peut être un peu déroutant au début, car ils ne vous disent jamais réellement que vous créez un module, mais vous êtes; vous créez un projet avec un seul module. Apparemment, chaque projet doit avoir au moins un module. Comme vous vous fiez à Eclipse pour fournir vos modules, votre module initial sera un espace réservé pour satisfaire à cette exigence formelle.

Ainsi, vous voudrez probablement créer un module initial pour votre projet qui en fait le moins possible. Par conséquent, sélectionnez Téléphone et tablette comme type de module, acceptez le kit SDK minimum par défaut (niveau 8 de l’API) et sélectionnez Ajouter aucune activité pour votre module.

Ensuite, sélectionnez l’un des projets d’application Eclipse dans votre espace de travail qui nécessite le plus grand nombre de bibliothèques en tant que premier projet à importer. L’avantage est que lorsque vous importez ce projet, tous les projets de bibliothèque qu’il utilise (directement ou indirectement, si certains de vos projets de bibliothèque nécessitent d’autres projets de bibliothèque) seront importés avec le processus d’importation. .

Chacun de ces projets importés aura son propre module dans votre projet Android Studio. Tous ces modules seront frères et sœurs (à la fois dans la hiérarchie de votre projet et dans la hiérarchie des dossiers où leurs fichiers sont placés), comme si vous aviez importé les modules séparément. Cependant, les dépendances entre les modules seront créées pour vous (dans les fichiers build.gradle de votre application) dans le cadre du processus d’importation.

Notez qu’après avoir importé, testé et débogué ce projet Eclipse “le plus dépendant” et ses projets de bibliothèque, vous allez importer un deuxième projet d’application Eclipse (si vous en avez un deuxième dans votre espace de travail) et ses modules de projet de bibliothèque (ceux importés plus tôt seront trouvés par l’assistant d’importation en tant que modules existants et réutilisés pour ce nouveau module, plutôt que d’être dupliqués).

Ainsi, vous ne devriez jamais avoir à importer directement un seul projet de bibliothèque depuis Eclipse; ils seront tous intégrés indirectement, en fonction de leurs dépendances sur les projets d’application que vous importez. Cela suppose que tous vos projets de bibliothèque dans l’espace de travail sont créés pour répondre aux besoins d’un ou de plusieurs projets d’application dans ce même espace de travail.

Pour effectuer l’importation de ce premier projet d’application dans Android Studio, sélectionnez Fichier / Nouveau / Nouveau module pendant que vous êtes dans le projet que vous venez de créer. Vous pourriez penser que vous devriez utiliser File / New / Import Module, mais non , vous ne devriez pas le faire , car si vous le faites, Android Studio créera un nouveau projet pour contenir votre module importé, et il importera votre module dans ce projet. . Vous pouvez en fait créer votre premier module de cette façon, mais ensuite, les deuxième à troisième modules nécessiteront toujours que vous utilisiez cette autre méthode (pour importer un module dans un projet existant ). Je pense donc que commencer par un projet “vide” (ou plutôt, une avec son propre module d’espace réservé), puis importer chacun de vos projets Eclipse en tant que nouveau module dans le projet (c’est-à-dire l’approche que nous prenons ici), peut être moins déroutant.

Donc, vous allez prendre votre nouveau projet pratiquement vide, et y effectuer un nouveau fichier / nouveau / nouveau module. L’assistant que cela appelle vous donnera le choix du type de module que vous voulez créer. Vous devez sélectionner “Importer le projet ADT Eclipse”. C’est ce qui permet d’accéder à l’assistant qui sait convertir un projet Eclipse en un module Android Studio (avec les modules de bibliothèque dont il dépend) dans votre projet Android Studio actuel.

Lorsque vous êtes invité à fournir un dossier source, vous devez entrer le dossier de votre projet Eclipse (il s’agit du dossier contenant le fichier AndroidManifest.xml de ce projet).

L’assistant d’importation affichera ensuite le nom du module qu’il a l’intention de créer (similaire au nom de votre projet Eclipse d’origine, mais avec une première lettre en minuscule car il s’agit d’une convention qui distingue les noms de module des noms de projet lettre de cas) Cela fonctionne généralement assez bien pour accepter ce défaut.

Sous le nom du module se trouve une section intitulée “Modules supplémentaires requirejs”. Cela listera toutes les bibliothèques requirejses par le module que vous importez (ou par l’une de ses bibliothèques, etc.). Comme il s’agit du premier module que vous importez, aucun de ceux-ci ne figurera déjà dans votre projet. Par conséquent, chacun d’eux verra sa case Importer cochée par défaut. Vous devez laisser ces éléments cochés car vous avez besoin de ces modules. (Notez que lorsque vous importez des projets d’applications Eclipse ultérieurs , si une bibliothèque dont ils ont besoin a déjà été imscope, ces bibliothèques apparaîtront toujours ici, mais il y aura une note indiquant que “Projet contient déjà un module avec ce nom” et la zone d’importation ne sera pas cochée par défaut. Dans ce cas, vous devez laisser la case décochée afin que l’importateur connecte vos modules nouvellement importés aux bibliothèques qui ont déjà été imscopes. Les noms créés par Android Studio pour vos modules seront importants pour permettre à l’EDI de trouver et de réutiliser ces modules de bibliothèque.

Ensuite, l’importateur proposera de remplacer les sources et les fichiers de bibliothèque par des dépendances Gradle, et de créer des noms de modules camelCase pour tous les modules dépendants, en cochant toutes ces options par défaut. Vous devriez généralement laisser ces options cochées et continuer. Lisez l’avertissement, cependant, sur les problèmes possibles. N’oubliez pas que vous pouvez toujours supprimer un module ou des modules importés (via la boîte de dialog Structure du projet) et relancer le processus d’importation.

L’affichage suivant (YMMV) indique que le référentiel de support Android n’est pas installé dans l’installation de mon SDK. Il fournit un bouton pour ouvrir le gestionnaire de SDK Android à des fins d’installation. Cependant, ce bouton n’a pas fonctionné pour moi. J’ai ouvert manuellement le gestionnaire de SDK en tant qu’application distincte et j’ai constaté que le référentiel de support Android était déjà installé. Il y a eu une mise à jour, cependant. Je l’ai installé et j’ai tapé sur le bouton Actualiser dans la boîte de dialog d’importation, mais cela n’a rien fait. Donc, j’ai continué, et le manque perçu de ce Repository ne semblait pas nuire au processus d’importation (bien que j’ai reçu des messages indiquant qu’il manquait de temps en temps, tout en travaillant avec le code importé, que j’ai pu apaiser). en cliquant sur un lien fourni qui corrige le problème – au moins temporairement). Ce problème a fini par disparaître lorsque j’ai installé une mise à jour sur le référentiel, de sorte que vous ne puissiez pas en faire l’expérience du tout.

À ce stade, vous cliquerez sur Terminer et après quelques instants, vous devrez créer vos modules et les construire. Si tout se passe bien, vous devriez recevoir un message BUILD SUCCESSFUL dans votre console Gradle.

Une des bizarreries est que si la génération échoue, vous risquez de ne pas voir vos modules importés dans la hiérarchie du projet. Il semble que vous ayez besoin d’atteindre la première version valide avant que les nouveaux modules ne s’y trouvent (mon expérience, de toute façon). Vous pouvez toujours voir les nouveaux modules dans la boîte de dialog Structure de fichier / projet (par exemple, si vous souhaitez les supprimer et lancer l’importation).

N’oubliez pas que puisque vous ne modifiez pas vos projets Eclipse d’origine, vous pouvez toujours supprimer les modules que vous venez d’importer (si l’importation échoue) et recommencer à zéro. Vous pouvez même apporter des modifications à la partie Eclipse après avoir supprimé vos modules Android Studio, si cela permet une meilleure importation la deuxième fois (à condition de conserver votre capacité de secours à générer votre source existante sous Eclipse). Comme vous le verrez lorsque nous discuterons du contrôle de version ci-dessous, vous devrez peut-être conserver votre capacité à créer sous Eclipse, car la structure du projet est modifiée sous Android Studio. Par conséquent, si vous devez revenir à un commit déplacer vers Android Studio (par exemple, pour faire un correctif de bogue), vous voudrez avoir la possibilité de construire cette validation antérieure dans Eclipse.

Pour supprimer un module, vous devez sélectionner Structure du fichier / projet, puis sélectionner le module dans la partie gauche de la boîte de dialog, puis appuyer sur la touche Suppr. Pour une raison quelconque, je n’ai pas pu supprimer un module directement dans la hiérarchie du projet; cela devait être fait en utilisant cette boîte de dialog de structure de projet.

L’assistant d’importation génère un fichier import-summary.txt contenant une liste détaillée des problèmes rencontrés, ainsi que les mesures sockets pour les résoudre. Vous devriez le lire attentivement, car cela peut fournir des indices sur ce qui se passe si vous rencontrez des problèmes lors de la construction ou de l’exécution du code importé. Cela vous aidera également à trouver des choses que l’importateur déplace pour s’adapter à la structure différente des projets Android Studio.

Si tout ne va pas bien, alors examinez ces problèmes possibles que vous pouvez rencontrer, ainsi que des solutions à ces problèmes:

D’une manière générale, il y a deux types principaux de problèmes que j’ai rencontrés:

  1. Problèmes de Proguard
  2. Problèmes manifestes

Lorsque Proguard est perturbé, les noms (obscurcis) des méthodes de vos bibliothèques peuvent ne pas correspondre aux noms utilisés pour les appeler depuis votre application, et vous obtiendrez des erreurs de compilation telles que “erreur: impossible de trouver la classe de symbole …”

Dans Eclipse, les éléments Proguard sont pratiquement ignorés pour les projets de bibliothèque, avec les éléments Proguard pour tout projet d’application que vous construisez en déterminant l’obscurcissement, etc., non seulement pour lui-même, mais pour traiter toutes les bibliothèques dont il dépend. Et c’est généralement ce que vous voulez.

Dans Android Studio, cependant, vous devez apporter certaines modifications pour obtenir le même effet. En gros, dans les fichiers build.gradle de chacun des modules de votre projet de bibliothèque, vous voudrez quelque chose comme ceci:

 buildTypes { release { minifyEnabled false consumerProguardFiles 'proguard.cfg' } } 

Où proguard.cfg est le propre fichier de configuration de votre module de bibliothèque.

Le terme “consommateur” dans “consumerProguardFiles” fait apparemment référence au module d’application qui utilise ce module de bibliothèque. Ainsi, les commandes proguard de cette application sont utilisées de préférence à celles du module de bibliothèque lui-même, ce qui entraîne apparemment des obfuscations coordonnées et compatibles, de sorte que tous les appels du module application vers ses modules de bibliothèque soient faits avec des symboles correspondants.

Ces entrées “consumerProguardFiles” ne sont pas créées automatiquement pendant le processus d’importation (du moins c’était ma propre expérience), vous devez donc vous assurer de les modifier dans les fichiers build.gradle de vos modules de bibliothèque s’ils ne sont pas créés pour vous. .

Si vous vouliez dissortingbuer vos projets de bibliothèque séparément, avec un obscurcissement, vous auriez alors besoin d’un fichier proguard individuel; Je ne l’ai pas fait moi-même, et cela dépasse le cadre de cette réponse.

Dans le module d’application, vous voudrez quelque chose comme ceci:

 buildTypes { release { minifyEnabled true proguardFiles 'proguard.cfg' } } 

(À ce jour, bien que mes applications fonctionnent correctement, je n’ai pas encore directement confirmé que les choses se brouillaient en utilisant cette approche, alors vérifiez-les vous-même, par exemple en utilisant un décompilateur comme apktool. vérifier ceci plus tard, et éditera cette réponse quand j’aurai cette information).

Le deuxième type de problème est dû au fait que Eclipse ignore à peu près les fichiers manifest pour les projets de bibliothèque lors de la compilation d’un projet d’application utilisant ces projets de bibliothèque, alors qu’Android Studio, il existe un entrelacement qui ne l’application se manifeste sur celles de ses bibliothèques.

J’ai rencontré cela parce que j’avais un manifeste de bibliothèque qui répertoriait (uniquement à des fins de documentation) une classe d’activité abstraite comme activité principale. Il y avait une classe dérivée de cette classe abstraite dans mon application qui était déclarée dans le manifeste de chaque application qui utilisait la bibliothèque.

Dans Eclipse, cela n’a jamais posé de problème, car les manifestes de bibliothèque étaient ignorés. Mais dans Android Studio, j’ai fini par avoir cette classe abstraite comme classe d’activité pour l’application, ce qui a provoqué une erreur d’exécution lorsque le code a tenté d’instancier cette classe abstraite.

Vous avez deux choix dans ce cas:

  1. Utilisez la syntaxe des outils pour remplacer des éléments de manifeste de bibliothèque spécifiques dans votre manifeste d’application – par exemple:
  

ou,

  1. Retirez pratiquement tout des manifestes de vos modules de bibliothèque et utilisez le manifeste du module de l'application pour fournir toutes les valeurs. Notez que vous devez avoir un manifeste pour chaque module de bibliothèque, mais pas beaucoup plus que l'en-tête et un élément manifeste contenant uniquement un atsortingbut de package.

J'ai essayé les deux et je me suis retrouvé avec l'approche 2. ci-dessus, comme méthode plus simple. Toutefois, si vous souhaitez dissortingbuer vos modules de bibliothèque séparément, vous devez créer un fichier manifeste plus significatif qui reflète les exigences individuelles de chaque module de bibliothèque.

Il existe probablement un moyen plus "correct" de le faire, qui impose des exigences (par exemple, des permissions) pour chaque bibliothèque dans le manifeste de la bibliothèque, et permet au processus d'entrelacement automatique de les combiner avec ceux déclarés pour l'application. Cependant, étant donné qu'Eclipse ignore les manifestes pour les bibliothèques, il semble au moins plus sûr, au départ, de se fier entièrement aux manifestes de l'application et de simplement supprimer les manifestes de la bibliothèque jusqu'aux parties nues.

Sachez que certaines des propriétés du projet, ainsi que les atsortingbuts manifest de votre projet Eclipse auront été utilisés pour construire des parties de vos fichiers build.gradle. Plus précisément, votre comstackSdkVersion dans build.gradle est défini sur la version du projet à partir des propriétés du projet Eclipse, applicationId est le nom du package du manifeste de votre application et minSdkVersion et targetSdkVersion sont également copiés à partir du fichier manifeste de l'application. La section dépendances de build.gradle provient des dépendances du projet de bibliothèque dans les propriétés de votre projet.

Notez que cela peut rendre certaines de vos valeurs AndroidManifest.xml redondantes et très probablement résiduelles (c'est-à-dire inutilisées). Cela pourrait créer de la confusion. Je crois savoir que les valeurs build.gradle sont celles qui ont un effet et que les valeurs de manifeste comme targetSdkVersion ne sont plus utilisées à des fins de construction. Cependant, ils peuvent toujours être utilisés par des magasins d'applications tels que Google Play. Je ne sais pas avec certitude d'une manière ou d'une autre, alors à ce stade, je ne fais que les maintenir en tandem.

Outre les deux types de problèmes ci-dessus, il existe d'autres tâches plus courantes, comme l'importation d'un projet dont le niveau de construction est de 22 lorsque vous n'avez installé que le niveau 23 du SDK dans Android Studio. Dans ce cas, il est probablement préférable d'éditer le fichier build.gradle de votre module d'application pour déplacer comstackSdkVersion de 22 (valeur imscope) à 23 que d'installer le SDK pour le niveau 22, mais l'une ou l'autre approche devrait fonctionner.

Tout au long de ce processus, lorsque quelque chose ne se construit pas correctement et que vous apportez une modification pour essayer de le résoudre, vous pouvez essayer Build / Rebuild Project et / ou Tools / Android / Sync Project avec Gradle Files et / ou File / Invalidate. Caches / Restart, pour vous assurer que vos modifications ont bien été intégrées. Je ne sais pas exactement quand cela est vraiment nécessaire, parce que je ne sais pas combien cela se fait progressivement quand vous n’avez pas encore réussi votre construction, mais je les ai toutes exécutées assez régulièrement comme une sorte de rituel superstitieux, et je suis assez certain que cela a aidé. Par exemple, lorsque j'ai reçu une erreur d'exécution Resources $ NotFound qui semblait provenir d'une incapacité à trouver la ressource de l'icône de lancement, j'ai essayé les trois et le problème a été résolu.

Lorsque vous avez effectué les opérations ci-dessus pour votre premier projet Eclipse et que vous avez réussi la construction, vous pouvez, avec un peu de chance, sélectionner votre module d’application dans la liste déroulante en haut de l’Android Studio Cliquez sur le bouton lui-même, puis sélectionnez un périphérique ou un périphérique virtuel Android, et l'application doit être chargée pour être exécutée.

De même, vous devriez pouvoir créer une copie signée de votre application à l'aide de la fonctionnalité Build / Generate Signed APK. Notez que certaines erreurs liées à l'importation peuvent apparaître lors de l'exécution de votre copie signée qui n'apparaissent pas lors de l'utilisation du bouton de lecture. Vous devez donc confirmer que les deux fonctionnent avant de décider que votre importation est terminée.

Après cela, vous voudrez probablement activer le contrôle de version. J'utilise Git moi-même, mais il existe un certain nombre d'autres options.

Le contrôle de version dépasse généralement le cadre de cette réponse, mais il y a quelques éléments qui sont affectés par le processus d'importation. Tout d'abord, dans Eclipse, vos différents projets peuvent se trouver dans différents dossiers, mais lorsque vous importez dans Android Studio, tous les modules seront créés en tant que dossiers enfants directs de votre dossier de projet principal. Donc, si vous aviez un dossier git distinct pour chaque projet dans Eclipse ou pour des groupes de projets connexes organisés dans un dossier parent pour chaque groupe (comme je l'ai fait), cela ne se traduira pas très bien dans Android Studio.

Ma connaissance de ceci est limitée car je n'ai pas encore travaillé avec le contrôle de version dans Android Studio, donc peut-être y a-t-il un moyen de contourner cela, mais il semble que tout le contrôle de version dans Android Studio soit unifié au niveau du projet. les modules seront sous une seule archive git.

Cela signifie que vous devrez peut-être abandonner votre ancienne archive git et démarrer avec une nouvelle archive pour votre code source importé. Et cela signifie que vous voudrez conserver votre ancienne archive git, de sorte qu'elle puisse être utilisée avec Eclipse pour effectuer les corrections de bogues nécessaires, etc., au moins pendant un certain temps. Et vous voudrez également qu'il conserve une histoire de votre projet.

Si vous avez la chance d'avoir tous vos projets organisés sous un seul espace de travail Eclipse, et si vous utilisiez une seule archive git pour ces projets, il est possible que vous copiiez simplement votre ancienne archive git sous et sous votre Dossier de travail Eclipse dans et sous votre dossier de projet Android Studio. Ensuite, vous pouvez éditer les éléments .gitignore encore pertinents de votre projet Eclipse dans le fichier .gitignore généré automatiquement pour votre projet Android Studio, et laisser git déterminer ce qui a été modifié pendant le processus d'importation (et certaines choses auront été déplacé - par exemple, le fichier manifeste n'est plus au niveau supérieur de votre module). D'autres ont rapporté que git est assez efficace pour déterminer ce qui a changé; Je n'ai pas essayé cela moi-même.

Mais même si vous aviez fait cela, revenir à une validation qui précède votre passage d'Eclipse à Android Studio reviendrait à un ensemble de fichiers qui n'aurait de sens que depuis Eclipse. Donc, ça a l'air, bien, "difficile" de travailler avec. Surtout que Eclipse continuera à pointer vers son ensemble de dossiers de projet d'origine.

Personnellement, j'avais plusieurs archives git pour mes différents projets connexes. J'ai donc décidé de faire une pause et de recommencer à zéro dans Android Studio. Si vous deviez le faire, cela pourrait affecter votre planification, car vous voudriez être à un point très stable dans le développement de votre code avant de le déplacer, car vous perdriez une certaine accessibilité à ce code plus ancien dans votre contrôle de version. système (par exemple, la capacité de fusionner avec le code post-importation) une fois que vous avez effectué le passage à Android Studio.

La partie de cette réponse concernant git est en partie spéculative, car je n'ai pas encore travaillé avec le contrôle de version sur mes fichiers de projets importés, mais je voulais l'inclure pour donner une idée des défis, et je compte mettre à jour ma réponse après j'ai travaillé plus avec le contrôle de version dans Android Studio.

Selon http://tools.android.com/tech-docs/new-build-system/migrating-from-eclipse-projects , vous avez quelques choix
– importation simple
– pré-exportation d’abord à partir d’Eclipse.

La pré-exportation à partir d’eclipse peut être le meilleur choix si votre projet contient beaucoup de relations spécifiques à Eclipse. AS ne peut pas “traduire” tout ce que Eclipse peut produire. Si vous souhaitez continuer à utiliser Eclipse et AS sur ce code de projet, c’est le meilleur choix. Si vous choisissez cette méthode, veuillez lire le lien ci-dessus, il existe des conditions préalables importantes.

Importer simplement dans AS laissera AS “traduire” et réorganiser le projet, et c’est la méthode recommandée, surtout si vous n’avez pas l’intention de retourner à Eclipse. Dans ce cas, vous laissez l’Assistant AS tout faire et vous n’avez pas besoin de générer manuellement des fichiers dégradés.

En plus de la réponse de Scott Barta ci-dessus, il se peut que vous ayez encore des problèmes d’importation s’il existe des références aux fichiers de bibliothèque de l’espace de travail Eclipse, avec par exemple

 /workspace/android-support-v7-appcompat 

être un commun

Dans ce cas, l’importation s’arrêtera jusqu’à ce que vous fournissiez une référence (et si vous avez cloné à partir d’un repository git, ce ne sera probablement pas le cas) et même sur votre propre installation (par exemple extras / android / m2repository / com / android / support / appcompat-v7) ne sera pas reconnu et arrêtera l’importation, vous laissant dans le no-man’s land.

To get around this, look for refs in the project.properties or .classpath files that came in from the Eclipse project and remove/comment them out, eg

  

That will get you past the import stage and you can then add these refs in your build.gradle (Module:app) as indicated in the Android tutorial , like below:

 dependencies { comstack 'com.android.support:appcompat-v7:22.2.0' } 

Here is a simpler way to migrate:

Start off with a sample Android Studio project. Open android studio and create a new project (or) just download a ‘sample’ studio project here: https://github.com/AppLozic/eclipse-to-android-studio-migration . Now, open the downloaded project in Android Studio by following the below instructions.

Import eclipse project modules into Android Studio. Select File -> New -> Import Module Image title

Next, select the path of the eclipse project and import the modules. In case, if you see the message “Failed to sync Gradle project,” then click on “Install Build Tools and sync project…”

Now, remove the sample project modules by following the below simple steps:

Open settings.gradle and remove “include ‘:app’” Right click on “app” module and “Delete” it. Now, what we have is the Eclipse project open in Android studio with the Gradle build.

Here are few other links which might help you:

http://developer.android.com/sdk/installing/migrate.html Source: http://www.applozic.com/blog/migrating-project-from-eclipse-to-studio/

Simple steps: 1.Go to Android Studio. 2.Close all open projects if any. 3.There will be an option which says import non Android Studio Projects(Eclipse ect). 4.Click on it and choose ur project Thats’t it enjoy!!!

The best way to bring in an Eclipse/ADT project is to import it directly into Android Studio. At first GO to Eclipse project & delete the *project.properties** file.After that, open the Android studio Tool & import Eclipse project(Eclipse ADT, Gradle etc).

— Thanks and Regards

Rakesh Kumar Jha Android Developer

Stop installing android studio 3.0.1 and go back 2.3.3 ( Stable version) . Check for the stable version and you can find them a lot

All you have to do uninstall and go back to the other version. Yes it asks to create gradle file seperately which is completely new to me!

Failure is the stepping stone for success..