¿Cómo se cambia el nombre de los paquetes en el nuevo IDE Android Studio, basado en IntelliJ IDEA?
¿Se incluye una refactorización automática?
Quiero hacer una refactorización masiva, pero no sé cómo. Trabajé dos años con Eclipse y en Eclipse es una operación de un solo clic.
android-studio
ramzixp
fuente
fuente
Respuestas:
En Android Studio, puedes hacer esto:
Por ejemplo, si desea cambiar
com.example.app
amy.awesome.game
, entonces:En su panel Proyecto , haga clic en el pequeño ícono de engranaje ( )
Desmarque / deseleccione la
Compact Empty Middle Packages
opciónSu directorio de paquetes ahora se dividirá en directorios individuales
Seleccione individualmente cada directorio que desee renombrar y:
Refactor
Rename
Rename Package
lugar de Cambiar nombre de directoriocom
en Android Studio, puede dar una advertencia. En tal caso, seleccione Renombrar todoAhora abra su Gradle Build File (
build.gradle
- Usualmenteapp
omobile
). Actualice elapplicationId
endefaultConfig
su nuevo Nombre de paquete y Sync Gradle, si aún no se ha actualizado automáticamente:Es posible que deba cambiar el
package=
atributo en su manifiesto.Limpiar y reconstruir.
¡Hecho! De todos modos, Android Studio necesita hacer este proceso un poco más simple.
fuente
com.example.test
quecom.example
a continuación, eliminecom.example.test
.Otro buen método es: Primero cree un nuevo paquete con el nombre deseado haciendo clic derecho en la carpeta Java → Nuevo → Paquete .
Luego, seleccione y arrastre todas sus clases al nuevo paquete. Android Studio refactorizará el nombre del paquete en todas partes.
Finalmente, elimine el paquete anterior.
Hecho.
Muy importante:
Si utiliza este método, debe cambiar manualmente el archivo AndroidManifest.xml y build.gradle al nuevo paquete.
fuente
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 tienes que tocar AndroidManifest. En su lugar, haga lo siguiente:
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
fuente
com.example.sample
paracom.example
usar otras respuestasEl enfoque utilizado por mí para renombrar el nombre del paquete es simple de la siguiente manera:
Paso 1 : selecciona la opción Proyecto del menú izquierdo de Android Studio
Paso 2 : haga clic derecho en Java y agregue un nuevo paquete y configure el nombre del paquete deseado
Paso 3 : Ingrese su nuevo nombre de paquete
Paso 4 : copie todos los archivos de su paquete anterior y péguelo en el nuevo paquete
Paso 5 : cambie el nombre del paquete en el archivo de manifiesto
Paso 6 : cambie el nombre del paquete en el archivo build.gradle
Paso 7 : luego haga clic derecho en el paquete anterior y elimínelo con todos sus datos, y elimine también ese directorio
Paso 8 : luego reconstruye tu proyecto
Paso 9 : Luego encontrará algunos errores del nombre del paquete de importación anterior en su proyecto Seleccione el nombre del paquete anterior en cualquier archivo y presione CTRL + Shift + R , e ingrese su nuevo nombre de paquete en el cuadro de reemplazo, luego presione buscar
Paso 10 : Luego aparece una ventana emergente como la siguiente y selecciona la opción Todos los archivos
Paso 11 : Reconstruya su proyecto nuevamente, bingo, el nombre del paquete de su proyecto ha cambiado :)
fuente
Coloque el cursor en el nombre del paquete como se muestra a continuación. No lo seleccione, solo colóquelo.
Luego presione Shift+ F6, obtendrá una ventana emergente como se muestra a continuación, seleccione Cambiar nombre de paquete .
Ingrese su nuevo nombre y seleccione Refactorizar . (Tenga en cuenta que como mi cursor está en "algo", solo se cambia el nombre de algo).
Ya está hecho.
fuente
Haga clic derecho en el paquete en el Panel del proyecto .
Elija Refactor -> Cambiar nombre en el menú contextual.
fuente
Abre el archivo:
aplicación → manifiestos → AndroidManifest.xml
Resalte cada parte en el nombre del paquete que desea modificar (no resalte el nombre completo del paquete) y luego:
Siga estos pasos en cada parte del nombre del paquete.
Abrir (Gradle Script) >> (build.gradle (Módulo: aplicación))
y actualice el ID de la aplicación al nombre de su paquete
Abra el menú (compilar) y elija (Reconstruir proyecto).
fuente
IntelliJ IDEA tiene una opción llamada "Paquetes intermedios vacíos compactos". Seleccione el ícono de opción del Proyecto pestaña y desactívelo.
Consulte: ¿Cómo puedo cambiar el nombre del paquete de nivel superior en IntelliJ IDEA?
fuente
Seleccione el paquete que será refactorizado. Refactorizar → Mover → "Mover xxx al nuevo paquete" .
fuente
He visto las respuestas más votadas, pero descubrí que es un poco diferente hacer esto, trato de hacer el tutorial más completo.
Desde Android Studio, haga clic sobre el ícono de ajustes ( ) y luego seleccione la opción:,
"Compact Empty Middle Packages"
para ver las carpetas separadas en una vista de árbol.Ahora seleccione la carpeta, haga clic con el botón derecho para abrir el menú contextual, seleccione
Refactor
y luegoRename
Se le recomendará refactorizar el paquete:
Luego, una ventana mostrará las coincidencias dentro del proyecto, seleccione
"Do Refactor"
:No tenemos que cambiar manualmente los archivos AndroidManifest.xml o build.gradle, ¡la refactorización del paquete hará el trabajo !.
fuente
Si el nombre de su paquete tiene más de dos puntos separados, digamos
com.hello.world
y además, no puso nada encom/
ycom/hello/
. Todas sus clases se están implementandocom/hello/world/
, puede REALIZAR los siguientes pasos para refactorizar los nombres de sus paquetes en Android Studio o IntelliJ:com/
,com/hello/
). Puede lograr esto agregando primero dos archivos al paquete com.hello.world, digamosluego refactorícelos moviéndolos a com y com.hello respectivamente. Verá com y com.hello sentados allí en el Proyecto (
Alt+1
oCommand+1
para acceso directo) y cambiar el nombre de directorios refactoring está esperando allí como esperaba.Refactorice para cambiar el nombre de uno o más de estos directorios para alcanzar su objetivo. Lo único que debe notar aquí es que debe elegir los directorios en lugar de los Paquetes cuando un cuadro de diálogo le pregunte.
Si tiene muchas clases en su proyecto, le llevará un tiempo esperar a que se escanee y cambie el nombre automáticamente.
Además, supongo que debe cambiar el nombre del paquete dentro del AndroidManifest.xml manualmente, de modo que otros nombres en este archivo puedan beneficiar el prefijo.
[TAMBIÉN] , podría necesitar que reemplace todo
com.hello.world.R
por el nuevoXXX.XXX.XXX.R
(Command+Shift+R
para abreviar)Reconstruya y ejecute su proyecto para ver si funciona. Y use "Buscar en ruta" para buscar otros nombres no táctiles que le gustaría cambiar el nombre.
fuente
Asegúrese de ir a la gran respuesta de Sheharyar . 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 :
(1) Deseleccionar
Compact Empty Middle Packages
.(2)
Refactor
luegoRename
cada nodo de directorio anterior eligiendoChange Package
( noChange Directory
) para que coincida con el nuevo nombre del paquete. (Asegúrese de hacer una vista previa de los cambios).(3) Edite el
build.gradle
archivo y hagaAPPLICATION_ID
coincidir el nuevo nombre del paquete.fuente
Respuesta actualizada: mayo de 2015
OK, 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:
Eso es...
fuente
Encontré una solución mucho más fácil a este problema que también cambió las importaciones generadas
com.test.testpackagechange.R
y solo toma alrededor de un minuto.Su primer paso es abrir Android Studio y abrir la ventana Reemplazar todo (Mac: cmd + shift + R, Windows supongo: ctrl + shift + R). Escriba el nombre de su paquete anterior y el que está debajo del nombre de su nuevo paquete. Haz 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.
Una vez que haya hecho eso, presione Reemplazar todo para reemplazar el nombre del paquete anterior por el nuevo.
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, así:
Ahora abra Android Studio nuevamente. Gradle se sincronizará y el nombre de su paquete debe cambiarse al nuevo.
He encontrado que esta es la más fácil y la que cubre todas las áreas, como los archivos generados.
fuente
El error común que se puede cometer es que no se puede cambiar el nombre de la estructura del paquete, es decir, no es posible cambiar com.name.android a com.Renamed.android cuando se intenta modificar en el nivel com.name.android .
Para tener el mismo cambio deseado, suba un nivel, es decir, com.name y aquí, cuando refactorice, cámbielo a Renombrado . Esto funcionará siempre.
fuente
Encontré otra forma que funciona o un paso adicional para algunas de las respuestas aquí, especialmente si también desea cambiar el dominio. Funciona en Android Studio 1.4. Esto es lo que hice:
build.gradle
archivo de la aplicación y cambie el Id. De la aplicación en defaultConfig al mismo nombre que en el manifiesto y reconstruya el proyecto.Entonces, por ejemplo, si desea cambiar el nombre de "com.example.app" a "com.YourDomain.app", abra un archivo debajo del paquete que se va a renombrar, en las migas de pan del paquete, coloque el cursor en la parte "ejemplo" del dominio y presione Shift+ F6y cambie el nombre del paquete a "YourDomain".
fuente
El nombre de su paquete cambiará de todos los archivos Java y el archivo de manifiesto. Debe cambiar manualmente el nombre del paquete de
build.gradle
.fuente
Cambiar el nombre del paquete
Para renombrar el nombre de su paquete, todo lo que tiene que hacer es ir a su
AndroidManifest.xml
archivo, colocar el cursor del mouse frente a la parte del nombre del paquete que desea cambiar.Haga clic con el botón derecho> Refactorizar> Cambiar nombre
En la nueva ventana presione Cambiar nombre de paquete
Cambia el nombre y presiona Refactor
... y presione Do Refactor en la parte inferior.
El nombre de su paquete generalmente tiene el formato com.domain.appname, en este ejemplo cambiamos la parte del nombre de la aplicación, pero también puede realizar los mismos pasos para el dominio.
¡Hecho! ¡Cambiaste el nombre de tu paquete!
fuente
Probé las dos soluciones más votadas pero encontré algunos problemas a pesar de que ambos funcionan hasta cierto punto.
Después de algunos experimentos, descubrí que el siguiente método me funciona bien.
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, cambie el nombre en consecuencia.
Tenga en cuenta también que es posible que deba 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, sincronice / limpie / reconstruya el proyecto según sea necesario.
fuente
Cómo renombrar
com.example.app
acom.android.app
:en paquete
com.example.app
seleccione ejemploShift + F6
escoger
rename package
renombrar ejemplo a android
confirmar
do refactor
fuente
Haga clic derecho en el paquete -> refactorizar y cambiar el nombre.
También puede cambiarlo en el manifiesto. A veces, si cambia el nombre del paquete, pero después de crear el archivo .apk, muestra un nombre de paquete diferente. En ese momento, marque "applicationId" en el archivo build.gradle .
fuente
Recomiendo usar el texto sublime (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 de ... \ 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:)
fuente
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 cambiar el 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 por otra cosa.
Una cosa más, esto también actualizará el ID de la aplicación en su build.gradle. 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.
fuente
Manera rápida y fácil:
1- abrir
MainActivity.java
o cualquier archivo java disponible.En la parte superior está la declaración del paquete, como:
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 y luego inserte el nombre del paquete deseado.
2- La etiqueta abierta
AndroidManifest.xml
e interna<manifest>
cambia elpackage
nombre del paquete deseado.3- abra
build.gradle(Module: app)
y cambie elapplicationId
nombre del paquete deseado.fuente
Seleccionar opción
Desactive la opción Compact Empty Middle Packages.
Cambiar el nombre del directorio crl a crl1
Finalmente, haga clic en el botón Do Refactor marcado en la imagen a continuación, ingrese el código aquí
Después de los cambios realizados
fuente
Por favor, intente los siguientes pasos:
******* Finalmente está hecho ******
fuente
Presione Ctrl+ Shift+R
Reemplace el paquete anterior con el nuevo.
Haga clic derecho en el nombre del paquete.
Refactor
>Rename
y renombra al nuevofuente
ctrl+ Shift+ Rsiempre ha funcionado para mí. Simplemente
replace all
y eligeAll Files
.fuente
La primera parte consiste en la creación de un nuevo paquete en
java
la carpeta y seleccionando luego arrastrando todos los archivos de origen desde elold package
que estanew package
. Después de eso, necesitaremane
el nombre del paquete en Androidmanifest
al nombre del nuevo paquete.En el paso 2, esto es lo que debe hacer: debe cambiar el nombre del paquete anterior
applicationId
debajo del módulobuild.gradle
en su estudio de Android, además de cambiar el nombre del paquete en elmanifest
. En resumen, haga clic en elbuild.gradle
que está debajo del "AndroidManifest.xml" y modifique el valor deapplicationId
su nuevo nombre de paquete.Luego, en la parte superior, debajo
build
.clean
tu proyecto, entoncesrebuild
. Debería estar bien desde aquí.fuente
La mejor manera es escribir el nuevo nombre del paquete y arrastrar desde el nombre del paquete anterior.
La segunda forma, si hace clic en Refactorizar, luego mueve la opción y luego cambia el nombre del paquete, cambiará el nombre del paquete y luego lo reconstruirá.
En Build.gradle debe hacerlo manualmente, si refactoriza, entonces no cambiará el nombre en Build.gradle.
fuente