Mi almacén de claves está dañado, por lo tanto, Android Market me exige que cambie el nombre de la aplicación y la vuelva a enviar. Sin embargo, cada vez que voy a editar los nombres de los paquetes en Manifiesto y en todos los archivos, me da muchos errores.
¿Cuál es la forma correcta de cambiar el nombre de la aplicación?
Respuestas:
Si está utilizando Eclipse, puede probar estas instrucciones del sitio para desarrolladores de Android. Son específicamente para la muestra GestureBuilder, pero deberían aplicarse a cualquier aplicación, por lo que puedo decir:
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 referencias extrañas al antiguo nombre del paquete, por ejemplo).
fuente
app_name
en res-> values => strings.xmlHay una manera de cambiar el nombre del paquete fácilmente en Eclipse. Haga clic derecho en su proyecto, desplácese hacia abajo hasta Herramientas de Android y luego haga clic en Cambiar nombre de paquete de aplicación.
fuente
Así es como puedes hacer esto en Eclipse:
src/com.android.gesture.builder
).Refactor > Rename
y cambie el nombre, por ejemplo acom.android.gestureNEW.builder
.<manifest>
etiqueta, cambie el nombre del paquete acom.android.gestureNEW.builder
.Activity
archivos y haga Ctrl+ Shift+ Opara agregar los paquetes de importación que faltan, luego guarde cada archivo.GestureBuilder
aplicación en el emulador.Enlace a la publicación
Actualice la manera súper fácil de hacer clic derecho en su proyecto
fuente
En Android Studio , que, honestamente, deberías usar, cambia el nombre
right-clicking
del paquete en el nombre del paqueteproject structure -> Refactor -> Rename...
Luego da la opción de renombrar el directorio o el paquete. Selecciona 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 por usted. Incluso puede hacer que lo arregle por 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. lo que sea.
Otra solucion muy util
Primero cree un nuevo paquete con el nombre deseado de la
by right clicking on the
carpeta java -> nuevo -> paquete.`Luego, seleccione y arrastre todas sus clases al nuevo paquete. AndroidStudio re-factorizará el nombre del paquete en todas partes.
Después de eso: en el
build.gradle
add / edit applicationId de su aplicación con el nuevo. es decir (com.a.bc
en mi caso):Publicación original y más comentarios aquí
fuente
package
debajo de la carpetajava
Sin Eclipse:
Cambie el nombre del paquete y los nombres de actividad en AndroidManifext.xml y en cualquier otro lugar que aparezca en archivos .xml (nombres de vista personalizados, etc.)
Actualización de la declaración de importación del paquete en todos los archivos fuente
Cambie el nombre de todas las carpetas para que coincidan con el nombre del paquete. Ubicaciones de carpeta:
a. bin / clases
b. gen
c. src
Actualice el nombre del proyecto en build.xml (o el nombre de su apk no cambiará)
Elimine todos los archivos .class en bin / classes / com / example / myapp / (si omite este paso, los archivos no se reescriben durante la compilación y dex da un montón de problemas al procesar errores de "nombre de clase no coincide con la ruta"
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 a esto, pero hasta que eliminé BuildConfig.java siguió recreando gen / com / oldapp_example / oldapp y poner BuildConfig.class allí. No sé por qué R.java desde la misma ubicación no tiene este problema. Sospecho que BuildConfig.java se genera automáticamente en la precompilación pero R.java no es)
Los 6 pasos anteriores son los que hice para cambiar el nombre de mi paquete y obtener una compilació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 eliminar / editar classes.dex.d, así que utilicé el método de eliminación de archivos .class que sé que se regenerarán en la compilación. Luego revisé classes.dex.d para ver lo que todavía necesitaba ser actualizado.
* No quedan errores ni advertencias en mi compilación, EXCEPTO que dex y apkbuilder dicen "Archivo de destino eliminado encontrado" sin detalles sobre qué es ese archivo. No estoy seguro de si esto aparece en cada compilación, si estaba allí antes de que me metiera con el nombre de mi paquete, o si es el resultado de mis eliminaciones y me falta un paso.
fuente
Sigue estos pasos:-
HECHO
fuente
La forma más rápida de hacerlo en Android Studio 1.3 :
manifest
Module Settings[F4]-> Flavors
,Application Id
escriba el mismo nombre.[right-click-> new-> package]
[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 compilación, por lo que el orden es muy importante.
fuente
Cambiar el nombre del paquete es un fastidio. 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 restablecer el eclipse.
fuente
Bernstein tiene el método, use la herramienta Eclipse, "Renombrar paquete de aplicación", puede que tenga que hacer alguna limpieza incluso después del hecho. Además, Eclipse a veces pierde la noción de las cosas cuando realiza cambios en un proyecto. Puede que tenga que usar la herramienta "Proyecto limpio" (en el menú "Proyecto"). Si eso no funciona, puede que tenga que cerrar y reiniciar Eclipse. Soluciones Voo-doo, pero Eclipse puede ser así.
fuente
Encontré que la solución más fácil era usar Regexxer para reemplazar "com.package.name" con "com.newpackage.name", luego cambiar el nombre de los directorios correctamente. Súper fácil, súper rápido.
fuente
src
carpeta y marcarrename subpackages
fuente
También hay otra solución para usuarios sin Eclipse, simplemente cambie el atributo del paquete en la etiqueta <manifest> en AndroidManifest.xml, reemplazando el antiguo nombre del paquete usado por uno nuevo. Nota: También debe ajustar manualmente todas las declaraciones de importación relacionadas y carpetas relacionadas en su proyecto.
fuente
Alternativa:
fuente
Haga clic derecho en Proyecto> Herramientas de Android> Cambiar nombre del paquete de la aplicación
Vaya a src y haga clic derecho en su paquete principal> Refactorizar> Cambiar nombre
Vaya al archivo de manifiesto y cambie el nombre de su paquete.
fuente
Acabo de perder algunas horas probando todas las soluciones. Estaba seguro, el problema está en mi código: inicio de apk pero algunos errores al trabajar con diferentes clases y actividades.
Única forma de trabajar con mi proyecto:
Para mí funciona, única solución.
fuente
Entonces, usar IntelliJ con el complemento de Android (Studio) fue: fui a la
AndroidManifest.xml
parte superior y cambié el nombre del paquete haciendo clic derecho -> Refactorizar -> cambiar nombre. Nuestro nombre de paquete tenía cuatro partesa.b.c.d
, la nueva solamentea.b.c
. Entonces cambié el nombre de los tres primeros. Luego fui al directorio de fuentes generadas (app\build\generated\source\r\development\debug\a\b\c\d
), hice clic derecho en laR
clase y Refactor-> Mover [d] a un paquete más alto. Lo mismo conBuildConfig
inapp\build\generated\source\buildConfig\development\debug\a\b\c\d
.Al usar Refactor-> Move, IntelliJ actualiza todas las referencias a
BuildConfig
yR
.Finalmente actualicé todos los ID de aplicación que encontré en gradle.build que encontré. Llegué a Clean Project, Make and Rebuild Project. Eliminé la aplicación de mi teléfono y presioné "Reproducir". Todo funcionó, por lo que la refactorización fue fácil y bastante rápida.
fuente
En Android Studio 1.2.2 Diga si desea cambiar
com.example.myapp
aorg.mydomain.mynewapp
Puede seguir los pasos en cada uno de los directorios que se muestran 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.Ve
Refactor -> Rename
y da tu nuevo nombre. Debe hacerlo para cada una de las carpetas, por ejemplo, para com, example y myapp. Actualizará automáticamente las importaciones para que no tenga que preocuparse por ello.Actualice también el archivo
build.gradle
que no se actualiza automáticamente.Después de eso pedirá
sync
hacerlo. Entonces todo estará bien. Puedo subir mi APK a la tienda de Google después de esto. Asegúrese de haber firmado su aplicación para subirla a la tienda.fuente
fuente