Cambiar completamente el nombre del paquete, incluido el dominio de la empresa


81

Supongamos que este es el nombre del paquete: package com.company.name. ¿Cómo cambio company?

PD: Vi cómo cambiar namepero no company. Estoy usando Android Studio.


Empecé a hacer un proyecto y necesito cambiar la companypalabra por otra, porque este proyecto es para una empresa. ¿y por qué usar la tecla eliminar? ¿dónde?
Filip Luchianenco

2
Posible duplicado del paquete de cambio de nombre
Bo Persson

Simplemente cree un nuevo paquete, luego seleccione las clases que desea mover, luego arrástrelo y suéltelo en el nuevo paquete creado, luego refactorice, esto funciona para mí
Manee.OH

Respuestas:


48

Puedes hacerlo:

Cambie el nombre del paquete manualmente en el archivo de manifiesto. Haga clic en su clase R.java y presione F6 (Refactor-> Mover ...). Le permitirá mover la clase a otro paquete, y se actualizarán todas las referencias a esa clase.

referencia: ¿Cómo cambio el nombre del paquete de Android?


49

paquete actual: com.company.name

Nuevo paquete: com.mycomapny.name

Pasos: 1) Suponga que se encuentra en esta pantalla que se muestra a continuación.

ingrese la descripción de la imagen aquí

2) Abra el panel del proyecto y haga clic en el icono de configuración.

3) Anule la selección de Paquetes intermedios vacíos compactos.

4) Entonces su paquete ahora está dividido en partes individuales como se muestra a continuación.

5) haga clic derecho en "empresa", seleccione Refactorizar -> seleccione renombrar -> renombrar directorio.

ingrese la descripción de la imagen aquí

6) Ahora su "empresa" ha sido cambiada a la nueva "mycomapny" y los cambios se reflejaron como se muestra en la siguiente figura.

ingrese la descripción de la imagen aquí

7) Ahora cambie el nombre del paquete en el archivo AndroidManifest.xml.

ingrese la descripción de la imagen aquí

8) Abra build.gradle de nivel de aplicación y cambie el nombre del paquete.

ingrese la descripción de la imagen aquí

9) obtendrá errores como No se puede resolver el símbolo "R".

10) Elimine la línea que da este error y Studio importará el nuevo archivo R automáticamente.

11) Si tiene varios archivos, use la opción de buscar y reemplazar presionando "Cntrl + Shift + R"

O "Seleccione Editar-> Buscar-> Reemplazar en ruta ..."

ingrese la descripción de la imagen aquí

12) seleccione Reemplazar todo.


31

Esto funcionó para mí, desde https://stackoverflow.com/a/18637004/127434

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. AndroidStudio refactorizará el nombre del paquete en todas partes.

Finalmente, elimine el paquete antiguo.


Esto funcionó parcialmente para mí, pero no solucionó las declaraciones "import com.company.foo". Pude hacer lo último con un reemplazo global en el directorio src /.
LarsH

9

En Android Studio, puede hacer esto:

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

  1. En el panel de su Proyecto, haga clic en el pequeño icono de engranaje ( ingrese la descripción de la imagen aquí)
  2. Desmarque o anule la selección de la opción Paquetes intermedios vacíos compactos ingrese la descripción de la imagen aquí
  3. Su directorio de paquetes ahora se dividirá en directorios individuales
  4. Seleccione individualmente cada directorio al que desee cambiarle el nombre y:

    • Haz clic derecho
    • Seleccione Refactor

    • Haga clic en Cambiar nombre

    • En el cuadro de diálogo emergente, haga clic en Cambiar nombre de paquete en lugar de Cambiar nombre de directorio

    • Ingrese el nuevo nombre y presione Refactor

    • Haga clic en Do Refactor en la parte inferior

    • Espere un minuto para que Android Studio actualice todos los cambios

    • Nota: Al cambiar el nombre de com en Android Studio, puede dar una advertencia. En tal caso, seleccione Renombrar todoingrese la descripción de la imagen aquí

      1. Ahora abra su archivo de compilación de Gradle (build.gradle, generalmente aplicación o dispositivo móvil). Actualice el applicationId en defaultConfig a su nuevo nombre de paquete y sincronice Gradle, si aún no se ha actualizado automáticamente:ingrese la descripción de la imagen aquí

      2. Es posible que deba cambiar el atributo package = en su manifiesto.

      3. Limpiar y reconstruir.

      4. ¡Hecho! De todos modos, Android Studio necesita simplificar un poco este proceso.


8

La solución de @Luch Filip funciona bien si solo desea cambiar el nombre del paquete de la aplicación. En mi caso, también quiero cambiar el nombre del paquete fuente, para no confundir las cosas.

Solo se necesitan 2 pasos:

  1. Haga clic en su carpeta de origen, por ejemplo, com.company.example> Shift + F6 (Refactor-> Renombrar ...)> Renombrar paquete > ingrese el nombre deseado.

  2. Vaya a su AndroidManifest.xml, haga clic en el nombre de su paquete> Shift + F6 (Refactor-> Rename ...)> ingrese el mismo nombre que el anterior.

El paso 1 cambiará automáticamente el nombre de su carpeta R.java y podrá compilar de inmediato.


Todo bien, excepto que obtengo "IOException: no se puede cambiar el nombre (...)" para la carpeta de origen principal. Proyecto simple, recién inaugurado.
Kaay

1
Yo uso Android Studio 2.1.1. Mi específico Por ejemplo, al principio, tengo info.apachehive.cardview, quiero tener net.vyhn.cardview. Paso 1. Elija el código fuente de la vista de árbol. Paso 2. Haga clic en apachehive, presione Shift + F6 Refactor \ Renombrar a vyhn. Paso 3. Haga clic en la infocarpeta, presione Shift + F6 Refactor \ Rename to net. El archivo AndroidManifest.xmlcambia automáticamente. Luego ejecuto debug, mi aplicación funciona bien.
Do Nhu Vy

5

A continuación se dan cuatro pasos:

  1. Haga clic en la carpeta de la aplicación a continuación:

ingrese la descripción de la imagen aquí

com.new25.impro. presione Shift + F6 {Refactor-> Rename ...} para cambiar el nombre del paquete y presione refactor.

  1. Después de eso, vea el monitor de Android. Ese programa cambia en todas partes ese nombre de paquete. Haga clic en refactor.

  2. Vaya al módulo con app:changela identificación de la aplicación para que le guste ese nombre. y haga clic en sync now.

  3. Ahora puede cambiar el nombre del paquete por el que desee.


2

1) Abra la carpeta del proyecto en Android Studio.
2) Seleccione la carpeta de la aplicación -> Haga clic derecho y seleccione refactor .
3) Haga clic en mover. Se le preguntará a qué tipo nombre del paquete es el propietario nombre completo del paquete y se le pedirá que cree un nuevo paquete que sí crean nuevo automáticamente pedir gradlea sync.


Tal vez puedas agregar algunas capturas de pantalla.
Asim KT

2

Para cambiar el nombre del paquete en el estudio de Android, haga clic en el icono de configuración en la sección del proyecto y desmarque los Paquetes intermedios vacíos compactos, luego el paquete se dividirá en varios nombres de carpeta, luego haga clic con el botón derecho en la carpeta que necesita para cambiar el nombre, haga clic en refactor-> Renombrar-> Escriba el nombre que desea cambiar en -> Refactor -> Refactor Directory, luego importe el archivo R.java en todo el proyecto. Trabajando para mi.


2

He leído casi todas las respuestas. Pero creo que falta uno. A veces puedo estar equivocado. He utilizado el método siguiente y está funcionando.

3 métodos para cambiar el nombre del paquete en Android Studio

  1. Seleccione su paquete y haga clic derecho , Refactor -> Mover .
  2. Elija Mover paquete de "su paquete" a otro paquete y haga clic en Aceptar.
  3. Aparece un nuevo cuadro de diálogo que dice que varios directorios corresponden al paquete "su paquete" y haga clic en .
  4. Ingrese el nuevo nombre del paquete excepto el último nivel o apellido. Significa Si desea cambiar el nombre del paquete a "info.xyz.yourapplication". Luego escriba "info.xyz" y deje solo "su aplicación".
  5. Haga clic en Refactor .
  6. Un nuevo diálogo No existe Package info.xyz . ¿Quieres crearlo?. Haga clic en .
  7. Haga clic en Refactorizar .
  8. Haz clic derecho en el nuevo paquete para cambiar el apellido. Refactor-> Cambiar nombre .
  9. Cambiar el nombre del paquete
  10. escriba un nuevo nombre y haga clic en Refactorizar .
  11. Elimina todos los directorios de paquetes antiguos.
  12. Cambie ApplicationId en el archivo build.gradle y haga clic en sincronizar ahora

1
Para mí, esta es la mejor respuesta. Gracias.
Hasan El-Hefnawy

1

Si el nombre del paquete / dominio de su empresa es muy largo, es más complicado.

Este fue el eslabón perdido para mí. Debe seleccionar Archivos de proyecto -> configuración -> luego desmarcar 'clases medias vacías compactas'.


0

La forma más sencilla de hacer esto sería la de cambiar el nombre de la carpeta raíz de la aplicación com.example.MyAppde com.newcompanyname.MyNewAppNamey luego reemplazar todas las apariciones de la antigua ruta de la nueva ruta en cualquier IDE que está utilizando.


0

Encontré otra solución para cambiar el nombre de un paquete en todo el proyecto:

Abra un archivo en el paquete. IntelliJ muestra las rutas de navegación del archivo, encima del archivo abierto. En el paquete cuyo nombre desea cambiar: haga clic derecho> Refactor> Cambiar nombre. Esto cambia el nombre del paquete / directorio a lo largo de todo el proyecto.


0

También enfrenté el mismo problema y así es como lo resolví: -

Quiero cambiar el nombre del paquete np.com.shivakrstha.userlog a np.edu.khec.userlog

Seleccioné shivakrstha y presioné Shift + F6 para Rename Refract y lo renombré a khec .

Finalmente, use el mismo nombre de paquete en AndroidManifest.xml , applicationId en build.gradle y no se olvide de reconstruir su proyecto .

Nota: - Traté de cambiar np a jp , así que seleccioné np y presioné Shift + F6 para Rename Refract y lo renombré a jp , está bien cambiar otros también.


0

Esto podría ayudarlo a: 1) Abra un archivo de su paquete. 2) Android Studio muestra las rutas de navegación del archivo, encima del archivo abierto. En el paquete cuyo nombre desea cambiar: haga clic derecho> Refactor> Cambiar nombre.

ingrese la descripción de la imagen aquí


0

No he cambiado el nombre de ningún paquete. Los siguientes dos pasos funcionaron para mí. Después de hacer lo siguiente, la aplicación se instaló como NUEVA, aunque había dos aplicaciones con el mismo nombre de paquete.

1) En build.gradle

applicationId "mynew.mynewpackage.com"

2) En AndroidManifest.xml, android: communities = "mynew.mynewpackage.com.fileprovider"


-2

Hola, encontré la forma más fácil de hacer esto.

  1. Cree un nuevo proyecto con el nombre de paquete deseado
  2. copie todos los archivos del proyecto antiguo al nuevo proyecto (todos los archivos en old.bad.oldpackage => new.fine.newpackage, res => res)
  3. Copie el viejo build.graddle dentro del nuevo build.graddle
  4. copiar el antiguo manifiesto dentro del nuevo manifiesto
  5. Haga una copia de seguridad o simplemente elimine el proyecto antiguo

¡Hecho!


esa no es la forma más confiable, simplemente la refactorización hace el trabajo, imagina que alguien tiene un proyecto más complejo, que tiene estilos, dimensiones, elementos de diseño, bibliotecas. Este método requiere mucho tiempo.
Amir Dora.

1
Es confiable si sigues mi método paso a paso y es muy rápido si los sigues. Simplemente olvídese de cualquier complejidad y considere que está creando un nuevo proyecto a partir de una fuente existente, luego, como puedo ver, no sabe dónde se encuentran las bibliotecas dimens dibujables, se lo explicaré y luego debe votar mi respuesta. 1- las bibliotecas están dentro de su build.graddle, por lo que si hizo una copia de seguridad del archivo, solo tendría que copiar el contenido dentro del nuevo build.graddle 2- drawables, dimens, styles están todos dentro de la carpeta res. así que si tiene ambos proyectos nuevos / viejos (paquete) abiertos, solo tiene que arrastrar / soltar
Martin Jovial

En algún momento, la refracción es más complicada de lo que puedes imaginar porque lo probé sin éxito y luego, usando mi método, todas las cosas funcionaron a la perfección
Martin Jovial

Sí, Martin, estoy de acuerdo en que esto también es una forma y funciona. Pero no es el método más rápido. Gracias por una respuesta detallada.
Amir Dora.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.