Cómo cambiar el nombre del paquete de una aplicación de Android

Mi almacén de claves está dañado, por lo tanto, el Android Market me exige cambiar el nombre de la aplicación y volver a enviarla. Sin embargo, cada vez que voy a editar los nombres de los paquetes en Manifiesto y en todos los archivos, me da muchísimos errores.

¿Cuál es la forma correcta de cambiar el nombre de la aplicación?

Si está utilizando Eclipse, puede probar estas instrucciones desde el sitio para desarrolladores de Android. Son específicamente para la muestra GestureBuilder pero deben aplicarse a cualquier aplicación por lo que yo sé:

[H] ere cómo puedes hacer esto en Eclipse:

  1. Haga clic derecho en el nombre del paquete ( src/com.android.gesture.builder ).
  2. Seleccione Refactorizar> Cambiar nombre y cambie el nombre, por ejemplo, a com.android.gestureNEW.builder .
  3. Abra el archivo de manifiesto. Dentro de la etiqueta , cambie el nombre del paquete a com.android.gestureNEW.builder .
  4. Abra cada uno de los dos archivos de actividad y haga Ctrl-Shift-O para agregar paquetes de importación faltantes, luego guarde cada archivo. Ejecute la aplicación GestureBuilder en el emulador.

Además, asegúrese de recordar cambiar el nombre del paquete junto con las referencias a él en los archivos. En Eclipse, puede ver el nombre del paquete en la ventana del explorador de archivos / vista de árbol en el lado izquierdo. En mi experiencia, Eclipse a veces puede ser un poco quisquilloso y poco confiable con esto (dejando atrás las referencias al antiguo nombre del paquete, por ejemplo).

Hay una forma de cambiar el nombre del paquete fácilmente en Eclipse. Haga clic derecho en su proyecto, desplácese hacia abajo a Herramientas de Android, y luego haga clic en Cambiar el nombre del paquete de la aplicación.

Así es como puedes hacer esto en Eclipse:

  1. Haga clic derecho en el nombre del paquete ( src/com.android.gesture.builder ).
  2. Seleccione Refactor > Rename y cambie el nombre, por ejemplo, a com.android.gestureNEW.builder .
  3. Abra el archivo de manifiesto. Dentro de la etiqueta , cambie el nombre del paquete a com.android.gestureNEW.builder .
  4. Abra cada uno de los dos archivos de Activity y haga Ctrl + Shift + O para agregar paquetes de importación faltantes, luego guarde cada archivo.
  5. Ejecute la aplicación GestureBuilder en el emulador.

Enlace a la publicación

Actualice la forma súper fácil, haga clic derecho en su proyecto … enter image description here

En Android Studio , que, honestamente, debería usar, cambie el nombre del paquete right-clicking en el nombre del paquete en la project structure -> Refactor -> Rename... del project structure -> Refactor -> Rename...

Luego le da la opción de cambiar el nombre del directorio o el paquete. Seleccione el paquete El directorio debe seguir su ejemplo. Escriba su nuevo nombre de paquete y haga clic en Refactorizar. Cambiará todas las importaciones y eliminará las importaciones redundantes para usted. Incluso puede tenerlo para usted en comentarios y cadenas, etc.

Por último , cambie el nombre del paquete en consecuencia en su AndroidManifest.xml hacia la parte superior. De lo contrario, obtendrá errores en todas partes quejándose de R.whatever.

Otra solución muy útil

Primero crea un nuevo paquete con el nombre deseado by right clicking on the carpeta java -> nuevo -> paquete.

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

Después de eso: en build.gradle tu aplicación agrega / edita applicationId con la nueva. es decir ( com.a.bc en mi caso):

 defaultConfig { applicationId "com.a.bc" minSdkVersion 13 targetSdkVersion 19 } 

Publicación original y más comentarios aquí

Sin Eclipse:

  1. Cambie el nombre del paquete y los nombres de la actividad en AndroidManifext.xml y en cualquier otro lugar que aparezca en archivos .xml (nombres de vista personalizados, etc.)

  2. Actualizar la statement de importación del paquete en todos los archivos fuente

  3. Cambie el nombre de todas las carpetas para que coincida con el nombre del paquete. Ubicaciones de carpetas:
    a. bin / classes
    segundo. gen
    do. src

  4. Actualice el nombre del proyecto en build.xml (o el nombre de su apk no cambiará)

  5. Elimine todos los archivos .class en bin / classes / com / example / myapp / (si omite este paso, los archivos no se reescriben durante la comstackción y dex dan un montón de problemas al procesar los errores de “nombre de clase no coincide con la ruta”

  6. Eliminar gen / com / example / myapp / BuildConfig.java (No sé por qué eliminar BuildConfig.class en el paso 3a no causó que dex actualizara su ruta de acceso a esto, pero hasta que eliminé BuildConfig.java, seguía recreando gen / com / oldapp_example / oldapp y poner BuildConfig.class allí. No sé por qué R.java de la misma ubicación no tiene este problema. Sospecho que BuildConfig.java se genera automáticamente en precomstackción pero R.java no es)

Los 6 pasos anteriores son lo que hice para cambiar el nombre de mi paquete y obtener una * comstackción exitosa. Puede haber una mejor manera de manejar los pasos 5 y 6 a través de comandos dex para actualizar las rutas, o tal vez editando classes.dex.d en el directorio raíz del proyecto. No estoy familiarizado con dex o si está bien para eliminar / editar classes.dex.d así que fui con el método de eliminar archivos .class que sé que serán regenerados en la comstackción. Luego revisé classes.dex.d para ver qué necesitaba actualizarse.

* No quedan errores ni advertencias en mi versión EXCEPTO dex y apkbuilder ambos dicen “Archivo de destino eliminado” sin detalles sobre qué es ese archivo. No estoy seguro de si esto aparece en todas las comstackciones, si estuvo allí antes de que estropeara el nombre de mi paquete, o si es el resultado de mis eliminaciones y me falta un paso.

Sigue estos pasos:-

  • Haga clic derecho en el proyecto.
  • Ir a herramientas de Android.
  • Haga clic en Cambiar el nombre del paquete de la aplicación.
  • Cambia el nombre del paquete de la aplicación.

HECHO

La forma más rápida de hacerlo en Android Studio 1.3 :

  1. Cambiar el nombre del paquete en el manifest
  2. Vaya a la Module Settings[F4]-> Flavors , en Application Id escriba el mismo nombre.
  3. Crear nuevo paquete con ese nombre: [right-click-> new-> package]
  4. Seleccione todos los archivos java de su proyecto y luego proceda [Right-click-> Refactor-> Move-> {Select package}-> Refactor]

PD: Si no sigue este orden, puede terminar cambiando todos los archivos java uno por uno con nuevas importaciones y un montón de errores de tiempo de comstackción, por lo que el orden es muy importante.

Cambiar el nombre del paquete es un dolor en el culo. Parece que diferentes métodos funcionan para diferentes personas. Mi solución es rápida y sin errores. Parece que no es necesario limpiar o reiniciar el eclipse.

  1. Haga clic derecho sobre el nombre del paquete y luego Refractor> Renombrar.
  2. Haga clic con el botón derecho en el nombre del proyecto Herramientas de Android> Renombrar paquete de aplicaciones.
  3. Establezca manualmente los nombres de los paquetes en el Manifiesto que no hayan sido cambiados por los pasos anteriores.

Bernstein tiene el método, usa la herramienta Eclipse, “Cambiar el nombre del paquete de la aplicación”, es posible que tengas que hacer un poco de limpieza incluso después del hecho. Además, Eclipse a veces pierde el control de las cosas cuando realiza cambios en un proyecto. Es posible que deba utilizar la herramienta “Proyecto limpio” (en el menú “Proyecto”). Si eso no funciona, es posible que deba cerrar y reiniciar Eclipse. Soluciones de Voo-doo, pero Eclipse puede ser de esa manera.

Encontré que la solución más fácil era usar Regexxer para reemplazar “com.package.name” por “com.newpackage.name”, luego renombrar los directorios correctamente. Súper fácil, súper rápido.

  1. Puño cambiar el nombre del paquete en el archivo de manifiesto
  2. Volver a factorizar> Cambiar el nombre del nombre del paquete en la carpeta src y poner un tilde para rename subpackages
  3. Eso es todo lo que has hecho.

También hay otra solución para usuarios sin Eclipse, simplemente cambie el atributo de paquete en la etiqueta en AndroidManifest.xml, reemplazando el nombre anterior del paquete usado por uno nuevo. Nota: También debe ajustar manualmente todas las declaraciones de importación relacionadas y las carpetas relacionadas en su proyecto.

  

Alternativa:

  1. Abra AndroidManifest.xml
  2. Cambiar paquete = “NUEVO NOMBRE” dentro de la etiqueta de manifiesto.
  1. Haga clic con el botón derecho en Proyecto> Herramientas de Android> Cambiar nombre de paquete de aplicaciones

  2. Vaya a src y haga clic derecho en su paquete principal> Refactorizar> Cambiar nombre

  3. Ve al archivo de manifiesto y cambia el nombre de tu paquete.

Perdí pocas horas probando todas las soluciones. Estaba seguro, el problema está en mi código – el inicio de apk pero algunos errores cuando se trabaja con diferentes clases y actividades.

La única forma de trabajar con mi proyecto:

  1. renombrarlo – file / rename y marcar todas las casillas de verificación
  2. verificar lugares no renombrados, tenía uno de los viejos nombres de disposición en las herramientas: context = “…
  3. crear nuevo espacio de trabajo
  4. importar proyecto al nuevo espacio de trabajo

Para mí funciona, solo solución.

En Android Studio 1.2.2 Di si quieres cambiar com.example.myapp a org.mydomain.mynewapp Puedes seguir los pasos en cada uno de los directorios como se muestra en la siguiente captura de pantalla. Le dará la opción de vista previa para que pueda obtener una vista previa antes de realizar cualquier cambio.

Vaya a Refactor -> Rename y dar su nuevo nombre. Tienes que hacerlo para cada una de las carpetas, por ejemplo para com, example y myapp. Automáticamente actualizará las importaciones para que no tenga que preocuparse por eso. enter image description here

También actualice el archivo build.gradle que no se actualiza automáticamente.

 defaultConfig { applicationId "org.mydomain.mynewapp" //update the new package name here minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } 

Después de eso, pedirá sync . sync . Entonces todo estará bien. Después de esto, puedo subir mi APK a la tienda de google. Asegúrate de haber firmado tu aplicación para subirla a la tienda.

Entonces, el uso de IntelliJ con el complemento de Android (Studio) fue: fui a AndroidManifest.xml en la parte superior y cambié el nombre del paquete haciendo clic derecho -> Refactorizar -> cambiar el nombre. Nuestro nombre del paquete entonces tenía cuatro partes abcd , el nuevo solo abc . Así que renombré los primeros tres. Luego fui al directorio de fonts generadas ( app\build\generated\source\r\development\debug\a\b\c\d ), hice clic derecho en la clase R y Refactor -> Mover [d] a un paquete mayor. Lo mismo con BuildConfig en la app\build\generated\source\buildConfig\development\debug\a\b\c\d .

Al usar Refactor-> Mover, IntelliJ actualiza todas las referencias a BuildConfig y R

Finalmente, actualicé todas las ID de aplicación que encontré en gradle.build que encontré. Presioné Clean Project, Make y Rebuild Project. Eliminé la aplicación de mi teléfono y presioné “Reproducir”. Todo funcionó, así que refactorizar fue fácil y bastante rápido.

  1. En su estudio de Android, en el panel del proyecto, hay un icono de engranaje “Haga clic en él”.
  2. Desmarque los paquetes medios vacíos compactos
  3. Ahora el directorio del paquete se ha dividido, es decir, directorios individuales.
  4. Seleccione el directorio al que desea cambiar el nombre.
  5. Haga clic derecho en ese directorio en particular.
  6. Seleccione refactor y luego cambie el nombre de la opción.
  7. El cuadro de diálogo se ha abierto, renómbrelo.
  8. Después de poner un nuevo nombre, haga clic en Refactorizar.
  9. Luego haga clic en Do Refactor en la parte inferior.
  10. Luego, Android Studio actualizará todos los cambios.
  11. Ahora abra el archivo build.gradle y actualice la Id de la aplicación y sincronícela.
  12. Ahora ve al archivo de manifiesto y cambia el nombre del paquete.
  13. Reconstruye tu proyecto.
  14. Estás listo 🙂