Paquete de cambio de nombre de Android Studio

¿Cómo se renombran los paquetes en el nuevo IDE Android Studio, basado en intelijj?

¿Hay alguna refactorización automática incluida?

Quiero hacer una refacturación masiva, pero no sé cómo. Trabajé 2 años con eclipse y en eclipse es una operación de un clic.

En Android Studio, puedes hacer esto:

Por ejemplo, si desea cambiar com.example.app a my.awesome.game , entonces:

  1. En su panel Proyecto , haga clic en el ícono de engranaje pequeño ( Icono de engranajes )

  2. Desmarca / Deselecciona la opción Compact Empty Middle Packages

Paquetes medios vacíos compactos

  1. Su directorio de paquetes ahora se dividirá en directorios individuales

  2. Seleccione individualmente cada directorio que desee cambiar de nombre, y:

    • Haz clic derecho
    • Seleccionar Refactor
    • Haga clic en Rename
    • En el cuadro de diálogo emergente, haga clic en Rename Package lugar de Renombrar directorio
    • Ingrese el nuevo nombre y presione Refactor
    • Haga clic en Do Refactor en la parte inferior
    • Deje pasar un minuto para que Android Studio actualice todos los cambios
    • Nota: Al renombrar com en Android Studio, podría dar una advertencia. En tal caso, seleccione Renombrar todo

enter image description here

  1. Ahora abre tu Gradle Build File ( build.gradle – Usualmente app o mobile ). Actualice el ID de applicationId a su nuevo nombre de paquete y Sync Gradle, si aún no se ha actualizado automáticamente:

Directorios Refactor

  1. Es posible que necesite cambiar el atributo package= en su manifiesto.

  2. Limpiar y reconstruir

  3. ¡Hecho! De todos modos, Android Studio necesita hacer este proceso un poco más simple.

Otro buen método es: primero crea un nuevo paquete con el nombre deseado haciendo clic derecho en la carpeta java -> nuevo -> paquete.

Luego, selecciona y arrastra todas tus clases al nuevo paquete. AndroidStudio refabricará el nombre del paquete en todas partes.

Finalmente, elimine el paquete anterior.

Hecho.

Una cosa más muy importante

Tienes que cambiar manualmente el manifiesto de Android y el archivo gradle al nuevo paquete si utilizas este método.

Cambiar el ID de la aplicación (que ahora es independiente del nombre del paquete) se puede hacer muy fácilmente en un solo paso. No es necesario que toque AndroidManifest. En su lugar, haga lo siguiente:

  1. haga clic derecho en la carpeta raíz de su proyecto.
  2. Haga clic en “Abrir configuración del módulo”.
  3. Ve a la pestaña Sabores.
  4. Cambie el ID de aplicación al nombre de paquete que desee. Presiona OK.

Tenga en cuenta que esto no cambiará el nombre del paquete. El desacoplamiento del nombre del paquete y la identificación de la aplicación se explica aquí: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

El enfoque utilizado por mí para cambiar el nombre del paquete es simple de la siguiente manera:

Paso 1 : selecciona la opción Proyecto desde el menú izquierdo de Android Studio

enter image description here

Paso 2 : haga clic con el botón derecho en Java y agregue un nuevo paquete y configure el nombre del paquete deseado

enter image description here

Paso 3 : introduce tu nuevo nombre de paquete

enter image description here

Paso 4 : copie todos los archivos de su paquete anterior y péguelos en el nuevo paquete

enter image description here

Paso 5 : renombrar el nombre del paquete en el archivo de manifiesto

enter image description here

Paso 6 : cambie el nombre del paquete en el archivo build.gradle

enter image description here

Paso 7 : a continuación, haga clic derecho en el paquete anterior y elimínelo con todos sus datos, y elimine ese directorio también

enter image description here

Paso 8 : luego reconstruye tu proyecto

enter image description here

Paso 9 : A continuación, encontrará algunos errores del antiguo nombre del paquete de importación en su proyecto Seleccione el nombre del paquete antiguo en cualquier archivo y presione CTRL + Mayús + R e ingrese su nuevo nombre de paquete en el cuadro de reemplazo, luego presione Buscar

enter image description here

Paso 10 : Luego aparece una ventana emergente como la siguiente y selecciona la opción Todos los archivos de ella

enter image description here

Paso 11 : Reconstruye tu proyecto otra vez, bingo, tu nombre de paquete del proyecto ha sido cambiado 🙂

Haga clic derecho en el paquete en el Panel de proyectos .

Elija Refactor -> Cambiar nombre en el menú contextual.

  1. Vaya a su AndroidManifest.xml.
  2. coloque el cursor en el nombre del paquete como se muestra a continuación, no lo seleccione simplemente colóquelo.

enter image description here

  1. Luego presione shift+F6 , obtendrá una ventana emergente como se muestra a continuación, seleccione Cambiar nombre de paquete .

enter image description here

  1. Ingrese su nuevo nombre y seleccione Refactorizar . (Nota porque mi cursor está en “algo”, solo algo se renombra).

Eso es todo hecho.

(1)

Abre el archivo:

app >> manifiesta >> AndroidManifest.xml

enter image description here

Resalte cada parte del nombre del paquete que desea modificar (no resalte el nombre completo del paquete) y luego:

  • Hacer clic con el botón derecho del mouse >> Refactorizar >> Cambiar nombre >> Cambiar nombre de paquete
  • escriba el nuevo nombre y presione (Refactorizar)

Haga estos pasos en cada parte del nombre del paquete

enter image description here

(2)

Abrir (Gradle Script) >> (build.gradle (Modul: aplicación))

y actualiza la applicationId a tu nombre de paquete

enter image description here

(3)

abra el menú (comstackción) y elija (Reconstruir proyecto)

Intelli J tiene una opción llamada “Compact Empty Middle Packages”. Seleccione el ícono de opción de la pestaña Proyecto y de / active esto.

Ver: ¿Cómo puedo cambiar el nombre del paquete de nivel superior en IntelliJ

seleccionar el paquete será refactorizado, refactorizar-> mover-> “mover xxx al nuevo paquete”

He visto las mejores respuestas votadas, pero creo que es un poco diferente hacer esto, bash hacer el tutorial más completo.

Desde el Estudio Android, haga clic sobre el ícono de ajustes ( Icono de engranajes ) y luego seleccione la opción: "Compact Empty Middle Packages" , para ver las carpetas separadas en una vista de árbol.

introducir la descripción de la imagen aquí

Ahora seleccione la carpeta, haga clic en el botón derecho para abrir el menú contextual, seleccione Refactor y luego Rename

introducir la descripción de la imagen aquí

Se le recomendará refactorizar el paquete:

introducir la descripción de la imagen aquí

Luego, una ventana mostrará las coincidencias dentro del proyecto, selecciona "Do Refactor" :

introducir la descripción de la imagen aquí

No tenemos que cambiar manualmente los archivos AndroidManifest.xml o build.gradle, ¡Refactorizar el paquete hará el trabajo !.

Si el nombre de su paquete tiene más de dos puntos separados, diga com.hello.world y, además, no puso nada en com/ y com/hello/ . Todas sus clases están ubicadas en com/hello/world/ , puede REALIZAR los siguientes pasos para refactorizar los nombres de sus paquetes en Android Studio o IntelliJ:

  • [FIRST] Agrega algo debajo de tus directorios ( com/ , com/hello/ ). Para lograrlo, primero agregue dos archivos al paquete com.hello.world, diga
  com.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java 

luego refactorícelos moviéndolos a com y com.hello respectivamente. Verá com y com.hello sentado allí en el Proyecto ( Alt+1 o Command+1 para acceso directo) y cambiará el nombre de los directorios que la refactorización está esperando allí como esperaba.

  • Refactor para cambiar el nombre de uno o más de estos directorios para alcanzar su objective. Lo único que debe observar aquí es que debe elegir los directorios en lugar de los paquetes cuando un diálogo le pregunte.

  • Si tiene muchas clases en su proyecto, le tomará un tiempo esperar a que se escanee y renombre automáticamente.

  • Además, debe cambiar el nombre del nombre del paquete dentro de AndroidManifest.xml manualmente, supongo, de modo que otros nombres en este archivo puedan beneficiar al prefijo.

  • [TAMBIÉN] , es posible que necesite reemplazar todo com.hello.world.R por el nuevo XXX.XXX.XXX.R ( Command+Shift+R para abreviar)

  • Reconstruye y ejecuta tu proyecto para ver si funciona. Y use “Buscar en ruta” para buscar otros nombres no táctiles a los que quiera cambiar el nombre.

  • Disfrútala.

Respuesta actualizada: mayo de 2015

De acuerdo, he estado luchando con proyectos de clonación y cambio de nombre en Android Studio, pero finalmente lo logré. Estos son los pasos a seguir:

  1. Copie la carpeta del proyecto, cambie el nombre y ábralo con Android Studio
  2. Cambiar el nombre del directorio del módulo del explorador
  3. Renombrar projectName.iml y contenido
  4. Renombrar el contenido de idea / .name
  5. En su panel Proyecto, haga clic en el ícono de engranaje pequeño -> desmarque “Paquete intermedio compacto vacío”
  6. Refactorizar directorios src para el nuevo nombre del paquete (cambiar el nombre del paquete, “no cambiar el nombre del directorio”)
  7. En build.gradle cambiar el nombre de la id. De la aplicación
  8. Módulo de cambio de nombre de settings.gradle

Eso es…

Probé las dos soluciones mejor votadas, pero encontré algunos problemas, aunque ambos funcionan hasta cierto punto.

  • Artículo de lista: el nuevo método de arrastrar y soltar paquete deja algunos sin cambios y crea algunos efectos no deseados
  • Elemento de la lista: el paquete de cambio de nombre solo cambia la última parte del nombre del paquete

Después de algunos experimentos, encontré que el siguiente método funciona bien para mí.

Si solo necesita cambiar la última parte del nombre del paquete, use el método descrito por GreyBeardedGeek, a saber

Haga clic derecho en el paquete en el panel Proyecto. Elija Refactor -> Cambiar nombre en el menú contextual

Si necesita cambiar el nombre completo del paquete, haga lo siguiente.

Haga clic derecho en el paquete en el panel Proyecto. Elija Refactor -> Mover desde el menú contextual

Esto creará una nueva carpeta de paquetes (cuando sea necesario) pero mantendrá la última parte del nombre de su paquete como antes. Si necesita cambiar la última parte, haga el cambio de nombre en consecuencia.

Tenga en cuenta también que puede necesitar modificar los nombres de los paquetes en, por ejemplo, build.gradle, manifest y / o cualquier archivo de recursos xml, o incluso en su código si está codificado. Después de todo eso, realice Sync / Clean / Rebuild project según sea necesario.

Por favor, prueba los siguientes pasos:

  1. Haga clic en el icono de configuración de engranaje y anule la selección de Paquete medio vacío compacto
  2. Ahora podemos ver que cada carpeta de paquete está dividida en partes
  3. Ahora haz clic derecho en la primera carpeta del paquete >>> refactor >>> renombra
  4. Ahora se mostrará una advertencia, pero continúe y haga clic en Cambiar nombre del paquete.
  5. Después de eso, ingrese su nombre de dominio para el nombre del paquete
  6. Haga clic en ‘Do Refactor’
  7. Ahora ha cambiado el nombre de dominio del paquete de la aplicación. Ahora cambie la extensión del dominio y el nombre de la carpeta de la aplicación según su requisito
  8. Ahora abra build.gradle (Module: app) en Gradle Scripts. Aquí cambie la identificación de la aplicación y haga clic en Sincronizar ahora.

******* Finalmente está hecho ******

El error común que uno puede cometer es que no se puede cambiar el nombre de la estructura del paquete, es decir, no es posible cambiar com.name.android por com.Renamed.android cuando se intenta modificar a nivel com.name.android.

Para tener el mismo cambio deseado, suba un nivel, es decir com.name y aquí cuando refactorícelo, cámbielo a Renombrado. Esto funcionará siempre

Haga clic derecho en el paquete -> refactorizar y cambie el nombre. También puedes cambiarlo en manifiesto. A veces si cambias el nombre del paquete pero después de crear el apk muestra un nombre de paquete diferente en ese momento, marca “applicationId” en el archivo build.gradle.

Encontré otra manera que funciona o un paso adicional para algunas de las respuestas aquí, especialmente si también quieres cambiar el dominio. Funciona en Android Studio 1.4. Esto es lo que hice:

  1. Abra Manifest.xml y cambie el nombre del paquete a lo que desee.
  2. abra su archivo build.gradle de aplicación y cambie el Id. de aplicación en defaultConfig al mismo nombre que en manifest y vuelva a generar el proyecto.
  3. si aún hay problema, abra un archivo bajo el nombre del paquete, vaya al paquete de rutas de navegación (es decir, statement del paquete en la cabecera del archivo) y coloque el cursor en el dominio que desea cambiar y presione “Shift + F6”, saldrá con un diálogo con múltiples advertencias de uso, haga clic en “Renombrar paquetes” y luego haga clic en “Refactorizar”, debería cambiar el nombre de todo, incluidos los archivos R.Java.

por ejemplo, si quieres renombrar “com.example.app” a “com.YourDomain.app”, abre un archivo debajo del paquete para renombrarlo, en el paquete de rutas de navegación, coloca el cursor en “ejemplo” de la parte del dominio y presiona Shift + F6 y cambia el nombre del paquete a “YourDomain”.

Espero que esto ayude 🙂

Encontré una solución mucho más fácil a este problema que también modificó las importaciones generadas, como com.test.testpackagechange.R y solo demora alrededor de un minuto.

El primer paso es abrir Android Studio y abrir la ventana reemplazar todo (Mac: cmd + shift + R, Windows supongo: ctrl + shift + R). Escriba su nombre de paquete anterior y el que se encuentra debajo del nombre de su nuevo paquete. Haga clic en Buscar. Esto puede llevar un tiempo porque también está mirando a través de los elementos generados. Si tiene más de 1000 visitas, simplemente haga clic en continuar.

enter image description here

Después de que haya hecho eso, presione Reemplazar todo para reemplazar el nombre de su paquete anterior por el nuevo.

enter image description here

Ahora cierre Android Studio y vaya a Finder en Mac o Windows Explorer en Windows. Cambie el nombre de las carpetas a su nuevo nombre de paquete, como este:

enter image description here

Ahora abra Android Studio nuevamente. Gradle se sincronizará y el nombre de su paquete se debe cambiar al nuevo.

He encontrado que este es el más fácil y el que cubre todas las áreas, como los archivos generados.

La primera parte consiste en crear un nuevo paquete en la carpeta “java” y seleccionar y luego arrastrar todos los archivos fuente desde el paquete anterior a este nuevo paquete. Después de eso, debe volver a guardar el nombre del paquete en el manifiesto de Android con el nombre del nuevo paquete.

En el paso 2, esto es lo que debe hacer. Debe cambiar el nombre del paquete anterior en “applicationId” en el módulo “build.gradle” en su estudio Android, además de cambiar el nombre del paquete en el manifiesto. Entonces, en resumen, haga clic en “build.gradle”, que está debajo del “AndroidManifest.xml” y modifique el valor de “applicationId” en su nuevo nombre de paquete.

Luego, en la parte superior, debajo de “construir”. limpia tu proyecto, luego reconstruye. Debería estar bien desde aquí.

Los paquetes tienen dos propósitos. Una es identificar de manera única su aplicación en Google Play Store. La otra es nombrar el paquete para la clase R.java que se genera cuando construyes tu proyecto. Puedes pensar en el primer propósito como el paquete externo y el segundo como el paquete interno. Suponiendo que desea cambiar el paquete externo para que pueda identificarlo en Play Store, hay una forma conveniente de hacerlo.

En Android Studio, elija Archivo> Estructura del proyecto> Elegir el módulo de su aplicación> Haga clic en la pestaña Sabores> cambie la ID de la aplicación. Ahora, cuando construyas tu proyecto, tu APK y manifiesto usarán este nuevo nombre de paquete.

Esto creo que lo que estás buscando es Refactor> Mover. También puedes presionar F6.

Obtendrás dos ventanas emergentes. Asegúrese de seleccionar el cambio de nombre del paquete en ambos. Después de eso, aparecerá una ventana emergente para colocar el nuevo nombre del paquete.

Tenga en cuenta que si el nombre de su paquete es, por ejemplo, com.example.android.projectname, esto le permitirá cambiar com.example.android a otra cosa.

Una cosa más, esto actualizará la applicationId en tu build.gradle también. Solo asegúrese de que las casillas de verificación “buscar en comentarios y cadenas” y “buscar ocurrencias de texto” estén marcadas para que funcione.

La mejor manera de escribir el nuevo nombre del paquete y arrastrar desde un nombre de paquete anterior. En segundo lugar, si hace clic en Refactorizar, luego mueve la opción y cambia el nombre del paquete, se renombrará el nombre del paquete y luego se reconstruirá.

En Build.gradle tienes que hacerlo manualmente, si u Refactor no cambiará de nombre en Build.gradle.

Asegúrate de volver a la respuesta de Sheharyar que comienza. In Android Studio, you can do this: porque es EXCELENTE. Hay tantas Respuestas y comentarios que siguen que sería fácil confundirse y darse por vencido, pero NO LO HAGA. Esa respuesta FUNCIONA.

En resumen, haces TRES COSAS:

Deseleccione Compact Empty Middle Packages .

Refactor Rename cada nodo de directorio antiguo seleccionando CAMBIAR PAQUETE ( no el directorio) para que coincida con el nuevo nombre del paquete. (Asegúrese de hacer una vista previa de los cambios).

Edite el archivo build.gradle y haga que APPLICATION_ID coincida con el nombre del nuevo paquete.

Respuesta adicional después de 3 años, por supuesto si cualquier anterior no funciona para usted porque “algo”.

  • Vaya a la ruta del proyecto> donde ubicó los archivos java y el paquete
  • Crear nuevas carpetas, por ejemplo com> super_package> actividades
  • Android Studio actualizará la estructura del proyecto
  • Mueva todos los archivos Java a nuevas carpetas
  • Eliminar carpetas viejas
  • Editar> Buscar> Reemplazar en la ruta:
  • cambiar el nombre del paquete anterior a nuevo
  • cambiar también en manifiesto y construir gradle

¡Hecho!

  1. Seleccione el nombre del paquete en la carpeta Java.
  2. Shift + F6
  3. Cambie el nombre del paquete y haga clic en Aceptar.

El nombre de su paquete se cambiará de todos los archivos java y archivo Manifest. Tienes que cambiar manualmente el nombre del paquete de build.gradle

ctrl + shift + R siempre me ha funcionado. Simplemente reemplace todo y elija Todos los archivos.

Recomiendo usar el Sublime Text (o Notepad ++). Reemplace com.one.lastname -> com.two.newname y com / one / lastname -> com / two / newname en … \ Projects [MyProject]. y no olvide cambiar el nombre … \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, … \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname y … \ Projects \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname! Eso es todo:) captura de pantalla

Eso funciona muy bien para mí, incluso para cambiar las ocurrencias, en todos los módulos afectados, para los nombres de las carpetas que deseo modificar en el paquete pero, para mí, funciona bien solo si sigo exactamente los siguientes pasos:

  • A – Si desea cambiar el nombre de la carpeta raíz (en otras palabras, el nombre de la carpeta que se usa normalmente en el paquete para contener la actividad principal), puede hacerlo antes o después de los siguientes pasos (B a C) por salir de “Android Studio” y renombrar manualmente esta carpeta raíz. Haga clic después en “Importar proyecto …” y luego en el nuevo nombre de su proyecto (este proceso de importación reajustará automáticamente los archivos ‘Gradle’ con los archivos del proyecto).
  • B: antes del siguiente paso C, no olvide modificar manualmente los nombres de la carpeta que desea cambiar en el paquete cambiándolos en los 3 archivos siguientes: ‘AndroidManifest.xml’, ‘MainActivity.java’ (o el nombre que finalmente elija su primera actividad) y el archivo ‘build.gradle (Module: app)’.
  • C – Siga los pasos del 1 al 6 descritos anteriormente (“En el panel de su proyecto, haga clic en el ícono del engranaje pequeño …”) -> https://stackoverflow.com/a/29092698/2001610
  • D: solo si desea cambiar el nombre de la carpeta raíz ahora, puede seguir el proceso ‘A’, como se describe arriba.

Después de seguir una de estas técnicas para cambiar el nombre de su paquete, es posible que comience a ver errores.

Si / cuando su R.java no se genera correctamente, obtendrá muchos errores en su proyecto diciendo error: cannot find symbol class R y también el error: package R does not exist .

Recuerde verificar su manifiesto de aplicación xml. El nombre del paquete de manifiesto debe coincidir con el nombre del paquete real. Parece que R.java se genera a partir del Manifiesto de la aplicación y puede causar estos errores si hay una discrepancia.

Recuerde comprobar las coincidencias de atributos del package en su

Manera rápida y fácil:

1- abrir MainActivity.java o cualquier archivo java disponible.

En la parte superior está la statement del paquete, como:

paquete com. example .myapp;

seleccione la parte del paquete que desea cambiar y presione Mayús + F6 . Yo personalmente quiero cambiar el example .

En el cuadro de diálogo de advertencia, seleccione Cambiar nombre del paquete e inserte el nombre del paquete deseado.

2- Abra AndroidManifest.xml y dentro de la etiqueta cambie el package al nombre del paquete deseado.

3- abrir build.gradle(Module: app) y cambiar el build.gradle(Module: app) la applicationId al nombre del paquete deseado.