¿Cómo se importa un proyecto de Eclipse en Android Studio ahora?

Usar “Importar proyecto” en Android Studio para un proyecto de Eclipse utilizado para cambiar la estructura del proyecto y generar archivos Gradle, pero ahora mismo (estoy usando AS 0.5.3) solo está generando archivos IDEA (.iml, .idea) pero no Gradle y tampoco está tocando la estructura del archivo.

¿Cómo se importa un proyecto de Eclipse en Android Studio ahora?

Actualización: intentar exportar archivos gradle en Eclipse no los exportará para la aplicación, tampoco se muestra como un módulo en Android Studio.

En las versiones más nuevas de Android Studio, la mejor manera de incorporar un proyecto Eclipse / ADT es importarlo directamente a Android Studio; solíamos recomendarle exportarlo de Eclipse a Gradle primero, pero no hemos estado actualizando ADT con la frecuencia suficiente para mantener el ritmo de Android Studio.

En cualquier caso, si elige “Importar proyecto” desde el menú Archivo o desde la pantalla de bienvenida cuando inicia Android Studio, debe llevarlo a través de un asistente especializado que le indicará que intenta copiar los archivos en una nueva estructura de directorios. en lugar de importarlos in situ, ofrecerá arreglar algunas cosas comunes como convertir dependencias en estilos Maven y demás.

No parece que estés recibiendo este flujo especializado. Creo que puede que no reconozca su proyecto importado como un proyecto ADT, y está incumpliendo el antiguo comportamiento integrado en IntelliJ que no conoce acerca de Gradle. Para que la importación especializada funcione, lo siguiente debe ser cierto:

  • El directorio raíz del proyecto que importa debe tener un archivo AndroidManifest.xml .
  • Ya sea:
    • El directorio raíz debe contener los archivos .project y .classpath de Eclipse
  • o
    • El directorio raíz debe contener directorios res y src .

Si su proyecto es complejo, quizás no lo esté señalando como el directorio raíz que quiere que la importación tenga éxito.

Exportar desde Eclipse

  1. Actualice su plugin Eclipse ADT a 22.0 o superior , luego vaya a Archivo | Exportar

  2. Vaya a Android ahora y luego haga clic en Generate Gradle build files , luego generará un archivo de Gradle para usted.

    enter image description here

  3. Seleccione su proyecto que desea exportar

    enter image description here

  4. Haga clic en terminar ahora

    enter image description here

Importar a Android Studio

  1. En Android Studio, cierre todos los proyectos actualmente abiertos. Debería ver la ventana Bienvenido a Android Studio .

  2. Haga clic en Importar proyecto.

  3. Ubique el proyecto que exportó desde Eclipse, amplíelo, selecciónelo y haga clic en Aceptar.

Es más simple con Android Studio Todo lo que necesitas es elegir primero

  1. proyecto de importación (eclipse …..) enter image description here
  2. luego elige tu proyecto basado en eclipse de carpeta. como este a continuación enter image description here

3. basado en el tipo de proyecto y biblioteca que usaste como (ActionBarSherlock), es posible que necesites un asistente de importación especial, así que adelante, haz clic en “Siguiente” y luego en “Finalizar”. en este caso, fue simple

enter image description here

4. Y has terminado. enter image description here

pero a veces las opciones de depurar o Ejecutar no funcionan y se muestra un mensaje de error como

“Esta estructura de proyecto no está basada en gradle ni la migra a gradle”

algo para resolver esto cerrar el proyecto de eclipse abierto y reabrir el mismo proyecto mediante el mismo proceso que antes con el proyecto de importación (eclipse adt, gradle, etc.)) esta vez el estudio de Android agregará todos los archivos gradle necesarios y la opción de depuración verde también funcionará . Lo hice de alguna manera por accidente pero funcionó, solo espero que funcione para ti también.

Pruebe estos pasos: 1- haga clic en Importar proyecto (Eclipse, ADT, …)

enter image description here

2- Elige el directorio principal de tu proyecto Eclipse

enter image description here

3- Conserva los valores predeterminados. Las primeras dos opciones son para cambiar los archivos jar a bibliotecas remotas (dependencias). Significa que mientras construyes un estudio Android, intenta encontrar la biblioteca en el sistema local o en repositorys remotos. La última opción es mostrar solo una carpeta como aplicación después de la importación.

enter image description here

4- Luego, verás el resumen de los cambios

enter image description here

5- Luego, si ve que la sincronización del proyecto Gradle falló, debe ir a la vista del proyecto (esquina superior izquierda). Luego, debe ir a su proyecto-> aplicación y abrir build.gradle.

enter image description here

6- Luego, debe cambiar su compilesdkVersion y targetsdkVersion a su versión actual que ve en buildToolsVersion (la mía es 23). Por ejemplo, en mi proyecto debería cambiar de 17 a 23 en dos lugares

7- Si ve un error en sus dependencias, debe cambiar la versión del mismo. Por ejemplo, en mi proyecto necesito verificar qué versión de la biblioteca de soporte de Android estoy usando. Entonces, abro el administrador de SDK y voy a la parte inferior para ver la versión. Entonces, debería reemplazar mi versión de estudio de Android con mi versión actual y hacer clic nuevamente en la esquina superior derecha

enter image description here enter image description here enter image description here enter image description here enter image description here

Espero que ayude.

Android Studio ha sido mejorado desde que se publicó esta pregunta, y las últimas versiones de Android Studio (al momento de escribir esto, estamos en 2.1.1) tienen capacidades de importación de Eclipse bastante buenas, por lo que la importación de proyectos de Eclipse directamente en Android Studio es ahora la mejor enfoque para la migración de proyectos de Eclipse a Android Studio.

Describiré cómo hacer esto a continuación, incluidas algunas de las trampas que uno podría encontrar. Trataré en particular con la importación de un espacio de trabajo de Eclipse que contiene múltiples aplicaciones que comparten una o más bibliotecas de proyectos (los enfoques publicados hasta ahora parecen limitarse a importar solo un proyecto de aplicación de Eclipse y sus bibliotecas de proyectos). Si bien no me ocupo de todos los asuntos posibles, detallo muchos de ellos, lo que espero sea útil para aquellos que pasen por este proceso por primera vez.

Recientemente importé los proyectos desde un área de trabajo de Eclipse. Este espacio de trabajo incluía cuatro proyectos de biblioteca que se compartían entre hasta nueve proyectos cada uno.

Algunos antecedentes:

Un espacio de trabajo de Eclipse contiene múltiples proyectos, que pueden ser proyectos de la biblioteca o aplicaciones.

Un proyecto de Android Studio es análogo a un espacio de trabajo de Eclipse, ya que puede contener tanto proyectos de biblioteca como aplicaciones. Sin embargo, un proyecto de biblioteca o una aplicación está representado por un “módulo” en Android Studio, mientras que está representado por un “proyecto” en Eclipse.

Por lo tanto, para resumir: los espacios de trabajo de Eclipse terminarán como proyectos de Android Studio, y los proyectos de Eclipse dentro de un espacio de trabajo terminarán como módulos de Android Studio dentro de un proyecto.

Debe comenzar el proceso de importación creando un proyecto de Android Studio (Archivo / Nuevo / Nuevo proyecto). Puede asignarle a este proyecto el mismo nombre (o similar) que dio a su área de trabajo de Eclipse. Este proyecto eventualmente contendrá todos sus módulos, uno para cada proyecto de Eclipse (incluidas las bibliotecas de proyectos) que importará.

El proceso de importación no cambia sus archivos originales de Eclipse, siempre y cuando coloque los archivos importados en una jerarquía de carpetas diferente, por lo que debe elegir una carpeta para este proyecto que no esté en su jerarquía Eclipse original. Por ejemplo, si sus proyectos de Eclipse están todos en una carpeta llamada Android, puede crear una carpeta de hermanos llamada AStudio.

Su proyecto Android Studio se puede crear como una subcarpeta de esta nueva carpeta. El asistente de Nuevo proyecto le pedirá que ingrese esta carpeta de proyecto de nivel superior, en la cual creará su proyecto.

El nuevo asistente de proyecto de Android Studio le pedirá que configure un único módulo en el momento de crear el proyecto. Esto puede ser un poco confuso al principio, porque en realidad nunca te dicen que estás creando un módulo, pero lo eres; está creando un proyecto con un único módulo. Aparentemente, se requiere que cada proyecto tenga al menos un módulo, por lo que, dado que confía en que Eclipse le proporcione sus módulos, su módulo inicial será un marcador de posición para satisfacer vacilantemente ese requisito formal.

Por lo tanto, es probable que desee crear un módulo inicial para su proyecto que haga lo menos posible. Por lo tanto, seleccione Teléfono y Tableta como el tipo de su módulo, acepte el SDK mínimo predeterminado (nivel API 8) y seleccione Agregar ninguna actividad para su módulo.

A continuación, seleccione uno de los proyectos de la aplicación Eclipse en su área de trabajo que requiera la mayor cantidad de bibliotecas como su primer proyecto para importar. La ventaja de hacer esto es que cuando importa ese proyecto, todos los proyectos de la biblioteca que utiliza (directa o indirectamente, si algunos de sus proyectos de biblioteca requieren otros proyectos de biblioteca) serán importados junto con él como parte del proceso de importación. .

Cada uno de estos proyectos importados tendrá su propio módulo dentro de su proyecto Android Studio. Todos estos módulos serán hermanos entre sí (tanto en la jerarquía de su proyecto como en la jerarquía de la carpeta donde se ubican sus archivos), como si hubiera importado los módulos por separado. Sin embargo, las dependencias entre los módulos se crearán para usted (en los archivos build.gradle de su aplicación) como parte del proceso de importación.

Tenga en cuenta que después de que termine de importar, probar y depurar este proyecto Eclipse “más dependiente” y sus proyectos de biblioteca de apoyo, continuará importando un segundo proyecto de aplicación Eclipse (si tiene un segundo en su área de trabajo) y sus módulos de proyecto de biblioteca (los importados anteriormente son encontrados por el asistente de importación como módulos existentes y reutilizados para este nuevo módulo, en lugar de duplicarse).

Por lo tanto, nunca debería tener que importar ni siquiera un solo proyecto de biblioteca desde Eclipse directamente; todos serán traídos indirectamente, en función de sus dependencias a los proyectos de la aplicación que importes. Esto supone que todos sus proyectos de biblioteca en el espacio de trabajo se crean para satisfacer las necesidades de uno o más proyectos de aplicación en ese mismo espacio de trabajo.

Para realizar la importación de este primer proyecto de aplicación, de vuelta en Android Studio, mientras está en el proyecto que acaba de crear, seleccione Archivo / Nuevo / Nuevo Módulo. Podría pensar que debería estar utilizando el Módulo / Nuevo / Importar Módulo, pero no , no debería hacerlo , porque si lo hace, Android Studio creará un nuevo proyecto para contener su módulo importado, y lo importará a ese proyecto . De hecho, podría crear su primer módulo de esa manera, pero los módulos del segundo hasta el N-ésimo requerirían que use este otro método (para importar un módulo en un proyecto existente ), y entonces creo que simplemente comienza con un proyecto “vacío” (o más bien, uno con su propio módulo de marcador de posición vació, no hacer nada), y luego importar cada uno de sus proyectos de Eclipse como un nuevo módulo en ese proyecto (es decir, el enfoque que estamos tomando aquí), puede ser menos confuso.

Por lo tanto, tomará su nuevo proyecto prácticamente vacío y realizará un Módulo Archivo / Nuevo / Nuevo en él. El asistente que invoque le dará la opción de qué tipo de módulo desea crear. Debe seleccionar “Importar proyecto Eclipse ADT”. Eso es lo que accede al asistente que sabe cómo convertir un proyecto de Eclipse en un módulo de Android Studio (junto con los módulos de biblioteca de los que depende) dentro de su proyecto actual de Android Studio.

Cuando se le solicite una carpeta fuente, debe ingresar la carpeta de su proyecto Eclipse (esta es la carpeta que contiene el archivo AndroidManifest.xml de ese proyecto).

El asistente de importación mostrará el nombre del módulo que pretende crear (similar al nombre original de su proyecto Eclipse, pero con una primera letra minúscula porque es una convención que distingue los nombres de los módulos de los nombres de los proyectos (que comienzan con una letra mayúscula). letra de mayúscula). Por lo general, funciona bastante bien para aceptar este valor predeterminado.

Debajo del nombre del módulo hay una sección titulada “Módulos requeridos adicionales”. Esto mostrará una lista de todas las bibliotecas requeridas por el módulo que está importando (o por cualquiera de sus bibliotecas, etc.). Dado que este es el primer módulo que está importando, ninguno de estos ya estará en su proyecto, por lo que cada uno de ellos tendrá su casilla Importar seleccionada de forma predeterminada. Debe dejar esto marcado porque necesita estos módulos. (Tenga en cuenta que al importar proyectos de aplicaciones de Eclipse posteriores , si ya se importó una biblioteca que necesitan, esas bibliotecas seguirán apareciendo aquí, pero habrá una nota que “El proyecto ya contiene el módulo con este nombre” y el cuadro Importar se desmarcará de manera predeterminada. En ese caso, debe dejar la casilla sin marcar, de modo que el importador conectará los módulos recién importados a las bibliotecas que ya se han importado. Puede ser que acepte el valor predeterminado los nombres que Android Studio crea para sus módulos serán importantes para permitir que IDE encuentre y reutilice estos módulos de biblioteca.

A continuación, el importador ofrecerá reemplazar cualquier jarro y fuente de biblioteca con dependencias de Gradle, y crear nombres de módulos camelCase para cualquier módulo dependiente, verificando todas esas opciones de forma predeterminada. En general, debe dejar estas opciones marcadas y continuar. Lea la advertencia, sin embargo, sobre posibles problemas. Recuerde que siempre puede eliminar un módulo o módulos importados (a través del cuadro de diálogo Estructura del proyecto) y comenzar nuevamente el proceso de importación.

La siguiente pantalla que obtuve (YMMV) afirma que el repository de soporte de Android no está instalado en mi instalación de SDK. Proporciona un botón para abrir el Administrador de Android SDK con el propósito de instalarlo. Sin embargo, ese botón no funcionó para mí. Abrí manualmente el administrador de SDK como una aplicación independiente y descubrí que el Repositorio de soporte de Android ya estaba instalado. Hubo una actualización, sin embargo. Instalé eso y pulsé el botón Actualizar en el cuadro de diálogo de importación, pero eso no hizo nada. Entonces, procedí, y la aparente falta de este Repositorio no pareció perjudicar el proceso de importación (aunque sí recibí mensajes de que faltaba de vez en cuando, mientras trabajaba con el código importado, lo cual pude apaciguar) haciendo clic en un enlace provisto que corrigió el problema, al menos temporalmente). Finalmente, este problema desapareció cuando instalé una actualización en el repository, por lo que es posible que no lo experimente en absoluto.

En este punto, hará clic en Finalizar, y después de un poco deberá crear sus módulos y comstackrlos. Si todo va bien, debería obtener un mensaje BUILD SUCCESSFUL en su consola Gradle.

Una peculiaridad es que si falla la construcción, es posible que no vea los módulos importados en la jerarquía del proyecto. Parece que necesitas llegar a la primera versión válida antes de que los nuevos módulos aparezcan allí (mi experiencia, de todos modos). Es posible que aún pueda ver los nuevos módulos en el cuadro de diálogo Archivo / Estructura del proyecto (por ejemplo, si desea eliminarlos e iniciar su importación).

Recuerde que ya que no está cambiando sus proyectos originales de Eclipse, siempre puede eliminar los módulos que acaba de importar (si la importación no funciona), y comenzar de nuevo. Incluso puede realizar cambios en el lado de Eclipse después de eliminar sus módulos de Android Studio, si eso hace que la importación mejore la segunda vez (siempre y cuando mantenga la capacidad de recuperación de su fuente existente en Eclipse). Como verá cuando analicemos el control de versiones a continuación, puede ser necesario que conserve su capacidad de comstackción en Eclipse, ya que la estructura del proyecto se modificó en Android Studio, por lo que si necesita volver a un compromiso que preceda a su pasar a Android Studio (por ejemplo, para corregir un error), querrás tener la capacidad de comstackr esa confirmación anterior en Eclipse.

Para eliminar un módulo, debe seleccionar Archivo / Estructura del proyecto, luego seleccionar el módulo desde el lado izquierdo del cuadro de diálogo y luego presionar la tecla Eliminar. Por alguna razón, no pude eliminar un módulo directamente en la jerarquía del proyecto; tenía que hacerse usando este diálogo de estructura de proyecto.

El asistente de importación genera un archivo import-summary.txt que contiene una lista detallada de los problemas que pueda haber encontrado, junto con las medidas tomadas para resolverlos. Debe leerlo detenidamente, ya que puede proporcionar pistas sobre lo que está sucediendo si tiene problemas para generar o ejecutar el código importado. También lo ayudará a encontrar las cosas que el importador mueve para acomodar la estructura diferente de los proyectos de Android Studio.

Si todo no funciona bien, tenga en cuenta estos posibles problemas que puede encontrar, junto con soluciones para esos problemas:

En términos generales, hay dos tipos principales de problemas que encontré:

  1. Proguard problemas
  2. Problemas manifiestos

Cuando Proguard está en mal estado, los nombres de los métodos (ofuscados) en sus bibliotecas pueden no coincidir con los nombres utilizados para invocarlos desde su aplicación, y obtendrá errores de comstackción como “error: no se puede encontrar la clase de símbolo …”

En Eclipse, Proguard es prácticamente ignorado para los proyectos de la biblioteca, con los recursos de Proguard para cualquier proyecto de aplicación que esté creando determinando la ofuscación, etc., no solo para sí mismo, sino para procesar todas las bibliotecas de las que depende. Y eso es generalmente lo que quieres.

En Android Studio, sin embargo, debe realizar algunos cambios para lograr el mismo efecto. Básicamente, en los archivos build.gradle para cada uno de los módulos de proyecto de su biblioteca, querrá algo como esto:

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

Donde proguard.cfg es el propio archivo de configuración proguard de su biblioteca.

El término “consumidor” en “consumerProguardFiles” al parecer se refiere al módulo de aplicación que está utilizando este módulo de biblioteca. Por lo tanto, los comandos de proguard de esa aplicación se utilizan con preferencia a los del propio módulo de biblioteca, y aparentemente esto resulta en ofuscaciones coordinadas y compatibles, de modo que todas las llamadas desde el módulo de la aplicación a sus módulos de biblioteca se hacen con símbolos coincidentes.

Estas entradas de “consumerProguardFiles” no se crean automáticamente durante el proceso de importación (al menos esa fue mi propia experiencia), por lo que querrá asegurarse de editarlas en los archivos build.gradle de los módulos de biblioteca si no se crean durante la importación. .

Si quisiera distribuir sus proyectos de biblioteca por separado, con ofuscación, entonces necesitaría un archivo de protección individual para ellos; No he hecho esto yo mismo, y eso está más allá del scope de esta respuesta.

En el módulo de aplicación, querrás algo como esto:

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

(Por cierto, al momento de escribir esto, aunque mis aplicaciones funcionan correctamente, aún no he confirmado directamente que las cosas se ofuscan con este enfoque, así que compruebalo tú mismo, por ejemplo, usando un decomstackdor como apktool. Seré revisando esto más adelante, y editaré esta respuesta cuando obtenga esa información).

El segundo tipo de problema se debe al hecho de que Eclipse prácticamente ignora los archivos manifiestos para proyectos de biblioteca cuando comstack un proyecto de aplicación que usa esos proyectos de biblioteca, mientras que en Android Studio, hay un intercalado de los dos que aparentemente no prioriza sistemáticamente la aplicación se manifiesta sobre las de sus bibliotecas.

Me encontré con esto porque tenía un manifiesto de la biblioteca que enumeraba (solo para fines de documentación) una clase de actividad abstracta como la actividad principal. Hubo una clase derivada de esta clase abstracta en mi aplicación que se declaró en el manifiesto de cada aplicación que usó la biblioteca.

En Eclipse, esto nunca causó ningún problema, porque los manifiestos de la biblioteca fueron ignorados. Pero en Android Studio, terminé con esa clase abstracta como mi clase de actividad para la aplicación, lo que provocó un error en tiempo de ejecución cuando el código intentó crear una instancia de esa clase abstracta.

Tienes dos opciones en este caso:

  1. Use la syntax de las herramientas para anular las cosas específicas del manifiesto de la biblioteca en el manifiesto de su aplicación, por ejemplo:
  

o,

  1. Elimine prácticamente todo, desde los manifiestos de los módulos de su biblioteca, y confíe en el manifiesto del módulo de la aplicación para proporcionar todos los valores. Tenga en cuenta que necesita tener un manifiesto para cada módulo de biblioteca, pero no se requiere mucho más que el encabezado y un elemento de manifiesto puro con solo un atributo de paquete.

Intenté ambos y terminé con el acercamiento 2., arriba, como el método más simple. Sin embargo, si desea distribuir sus módulos de biblioteca por separado, deberá crear un archivo de manifiesto más significativo que refleje los requisitos individuales de cada módulo de biblioteca.

Probablemente exista una manera más "correcta" de hacer esto que impone requisitos (por ejemplo, permisos) para cada biblioteca en el manifiesto de la biblioteca, y permite que el proceso de entrelazado automático los combine con los declarados para la aplicación. Sin embargo, dado que Eclipse ignora los manifiestos de las bibliotecas, parece más seguro, al menos inicialmente, confiar completamente en los manifiestos de la aplicación y simplemente desmantelar los manifiestos de la biblioteca hasta el mínimo detalle.

Tenga en cuenta que algunas de las propiedades del proyecto, y también los atributos de manifiesto, de su proyecto Eclipse se usarán para construir partes de sus archivos build.gradle. Específicamente, su compileSdkVersion en build.gradle se establece en la versión de comstackción del proyecto desde las propiedades del proyecto Eclipse, applicationId es el nombre del paquete del manifiesto de su aplicación, y minSdkVersion y targetSdkVersion también se copian del archivo de manifiesto de la aplicación. La sección de dependencias de build.gradle proviene de las dependencias del proyecto de la biblioteca en las propiedades de su proyecto.

Tenga en cuenta que esto puede hacer que algunos de sus valores de AndroidManifest.xml sean redundantes y muy posiblemente residuales (es decir, no utilizados). Esto podría crear confusión. Tengo entendido que los valores build.gradle son los que realmente tienen un efecto, y que los valores manifiestos como targetSdkVersion ya no se usan para construir. Sin embargo, aún pueden ser utilizados por tiendas de aplicaciones como Google Play; No sé con certeza de una manera u otra, así que en este momento estoy simplemente manteniéndolos en tándem.

Además de los dos tipos de problemas anteriores, hay más cosas rutinarias, como la importación de un proyecto que tiene un nivel de comstackción de proyecto de 22 cuando solo ha instalado el nivel 23 de SDK en Android Studio. En esa situación, probablemente sea mejor editar el archivo build.gradle de su módulo de aplicación para mover compileSdkVersion de 22 (el valor importado) a 23, de lo que sería instalar el SDK para el nivel 22, pero cualquiera de los dos enfoques debería funcionar.

A lo largo de todo este proceso, cuando algo no se construye correctamente y realiza un cambio para tratar de solucionarlo, puede probar Build / Rebuild Project y / o Tools / Android / Sync Project con Gradle Files, y / o File / Invalidate Caches / reiniciar, para asegurarse de que sus cambios se hayan incorporado por completo. No sé exactamente cuándo son realmente necesarios, porque no sé cuánto se hace gradualmente cuando aún no se ha construido con éxito, pero los realicé con bastante regularidad como una especie de ritual supersticioso, y Estoy bastante seguro de que ayudó. Por ejemplo, cuando recibí un error de tiempo de ejecución de Resources $ NotFound que parecía ser una incapacidad para encontrar el recurso de icono de inicio, intenté los tres y el problema se solucionó.

Cuando haya realizado lo anterior para su primer proyecto de Eclipse y haya logrado una construcción exitosa, con suerte, puede seleccionar su módulo de aplicación del menú desplegable en la parte superior de la pantalla de Android Studio a la izquierda del botón de reproducción, luego haga clic en botón de reproducción, luego seleccione un dispositivo o dispositivo virtual Android, y la aplicación debe cargarse para ejecutarse.

Del mismo modo, debería poder crear una copia firmada de su aplicación utilizando la función Build / Generate Signed APK. Tenga en cuenta que algunos errores relacionados con la importación pueden aparecer al ejecutar su copia firmada que no aparece al usar el botón de reproducción, por lo que debe confirmar que ambos estén funcionando antes de decidir que la importación se haya completado.

Después de esto, es probable que desee activar el control de versión. Estoy usando git, pero hay varias otras opciones disponibles.

El control de versiones está fuera del scope de esta respuesta, pero hay algunas cosas que se ven afectadas por el proceso de importación. En primer lugar, en Eclipse puede tener sus diversos proyectos en varias carpetas pegadas por todas partes, pero cuando importe a Android Studio, todos los módulos se crearán como carpetas secundarias directas de la carpeta principal del proyecto. Entonces, si tuviera una carpeta de git separada para cada proyecto en Eclipse, o para grupos de proyectos relacionados organizados en una carpeta principal para cada grupo (como yo lo hice), eso no se traducirá muy bien a Android Studio.

Mi conocimiento de esto es limitado, ya que aún no he trabajado con el control de versiones en Android Studio, así que tal vez haya una forma de evitar esto, pero parece que todo el control de versiones en Android Studio está unificado a nivel de proyecto, por lo que todos tus los módulos estarán bajo un único archivo git.

Esto significa que es posible que deba abandonar su antiguo archivo git y comenzar de nuevo con un nuevo archivo para su código fuente importado. Y eso significa que querrá guardar su antiguo archivo git, para que pueda ser utilizado con Eclipse para realizar cualquier corrección de errores necesaria, etc., al menos por un tiempo. Y también querrás que preserve un historial de tu proyecto.

Si tiene la suerte de tener todos sus proyectos organizados en un solo espacio de trabajo de Eclipse, y si estaba usando un solo archivo de git para esos proyectos, entonces es posible que simplemente copie su antiguo archivo de git de dentro y debajo de su Carpeta del espacio de trabajo de Eclipse en y debajo de la carpeta del proyecto de Android Studio. Luego, puede editar cualquier ítem .gitignore aún relevante de su proyecto Eclipse en el archivo .gitignore generado automáticamente para su proyecto Android Studio, y deje que git descubra qué se ha cambiado durante el proceso de importación (y algunas cosas habrán sido movido alrededor, por ejemplo, el archivo de manifiesto ya no se encuentra en el nivel superior de su módulo). Otros han informado que git es bastante bueno para descifrar qué ha cambiado; No lo he intentado yo mismo.

Pero incluso si lo hicieras, volver a una confirmación que preceda a tu cambio de Eclipse a Android Studio sería volver a un conjunto de archivos que solo tendría sentido desde dentro de Eclipse. Entonces suena, bueno, "difícil" trabajar con. Especialmente dado que Eclipse seguirá apuntando a su conjunto original de carpetas de proyectos.

Personalmente, tenía varios archivos de git para mis diversos conjuntos de proyectos relacionados, así que decidí hacer una pausa y volver a empezar de cero en Android Studio. Si tuviera que hacer esto, podría afectar su planificación, porque le gustaría estar en un punto muy estable en el desarrollo de su código antes de realizar la mudanza en ese caso, ya que perderá algo de accesibilidad a ese código anterior dentro del control de su versión sistema (por ejemplo, capacidad de fusionarse con el código posterior a la importación) una vez que haya realizado el cambio a Android Studio.

La parte de esta respuesta relacionada con git es en parte especulativa, ya que aún no he trabajado con el control de versiones en los archivos de proyectos importados, pero quería incluirlo para dar una idea de los desafíos, y tengo la intención de actualizar mi respuesta después de haber trabajado más con el control de versiones dentro de Android Studio.

De acuerdo con http://tools.android.com/tech-docs/new-build-system/migrating-from-eclipse-projects , tienes un par de opciones
– simplemente importando
– preexportación primero desde Eclipse.

La preexportación desde eclipse puede ser la mejor opción si su proyecto contiene muchas relaciones que son específicas de Eclipse. AS no puede ‘traducir’ todo lo que Eclipse puede producir. Si desea continuar usando Eclipse y AS en este código de proyecto, esta es la mejor opción. Si elige este método, lea el enlace anterior, hay algunos requisitos previos importantes.

Simplemente importar en AS permitirá que AS ‘traduzca’ y reordene el proyecto, y es el método recomendado, especialmente si no tiene intención de volver a Eclipse. En este caso, permite que el asistente AS haga todo y no necesita generar manualmente archivos gradle.

Además de la respuesta de Scott Barta anterior, es posible que aún tenga problemas de importación si hay referencias a los archivos de la biblioteca del espacio de trabajo de Eclipse, con, por ejemplo,

 /workspace/android-support-v7-appcompat 

siendo uno común.

En este caso, la importación se detendrá hasta que proporcione una referencia (y si ha clonado desde un repository git, probablemente no estará allí) e incluso apuntando a su propia instalación (por ejemplo, algo como / android-sdk-macosx / extras / android / m2repository / com / android / support / appcompat-v7) no serán reconocidos y detendrán la importación, dejándote en tierra de nadie.

Para evitar esto, busque refs en los archivos project.properties o .classpath que vinieron desde el proyecto Eclipse y eliminarlos / comentarlos, por ej.

  

Eso lo hará pasar la etapa de importación y luego puede agregar estos refs en su build.gradle (Módulo: aplicación) como se indica en el tutorial de Android , como a continuación:

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

Aquí hay una forma más simple de migrar:

Comience con un ejemplo de proyecto de Android Studio. Abra el estudio de Android y cree un nuevo proyecto (o) simplemente descargue un proyecto de estudio de “muestra” aquí: https://github.com/AppLozic/eclipse-to-android-studio-migration . Ahora, abra el proyecto descargado en Android Studio siguiendo las instrucciones a continuación.

Importar módulos de proyecto eclipse en Android Studio. Seleccione Archivo -> Nuevo -> Importar título de la imagen del módulo

A continuación, seleccione la ruta del proyecto Eclipse e importe los módulos. En caso de que aparezca el mensaje “No se pudo sincronizar el proyecto Gradle”, haga clic en “Instalar herramientas de comstackción y sincronizar el proyecto …”

Ahora, elimine los módulos de proyecto de muestra siguiendo los pasos simples a continuación:

Abre settings.gradle y elimina “include”: aplicación “” Haz clic derecho en el módulo “app” y “Delete”. Ahora, lo que tenemos es el proyecto Eclipse abierto en el estudio de Android con la comstackción de Gradle.

Aquí hay algunos otros enlaces que pueden ayudarle:

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..