tener 2 aplicaciones identicas con datos diferentes y que no se interfieran

28 views
Skip to first unread message

Jaume Tugores

unread,
Jul 6, 2017, 2:48:02 PM7/6/17
to desarrolladores-android
Tengo una app hecha que funciona muy bien, pero ahora la empresa ha cambiado el nombre y tiene que haber la aplicación original para funcionar con los datos viejos, durante un tiempo, puede que variso años, no se sabe, pero tengo que hacer una copia de la misma app para funcionar con la empresa nueva, de manera que sea como si fueran 2 aplicaciones totalmente distintas.
De momento lo que he hecho es crear un nuevo proyecto con nombres de pakages totalmente diferentes y luego ir copiando cada archivo al nuevo proyecto y adaptando los nombres.
Esto me ha funcionado muy bien, pero me lleva un trabajo enorme y como al hacer modificaciones, que se hacen a menudo, tengo que aplicarlas a las 2 apps, cuando la modificación es pequeña, la hago a mano en cada proyecto independientemente pero cuando es grande, lo hago solo en uno y luego tengo que adaptar otra vez todo el proyecto.
¿ hay alguna forma de hacer esto y que no sea tan pesado ???
He estado buscando y solo he visto la manera de cambiar el nombre, pero no se si esto es suficiente para que las 2 aplicaciones sean totalmente independientes, ¿ no se debería cambiar todas las carpetas, a partir de la raíz del proyecto ??
Gracias..

Martin

unread,
Jul 12, 2017, 7:15:25 PM7/12/17
to desarrolladores-android
Pregunta, ¿ellos te pidieron explicitamente cambiar el package name? si no es asi solo deberias cambiar la info en los recursos (Strings, imagenes, etc), hay muchisimas  apps que llevan package names totalmente diferentes del nombre de la empresa, sin que eso sea un problema

Jauma

unread,
Jul 13, 2017, 2:00:12 AM7/13/17
to desarrollad...@googlegroups.com

No, no me lo pidieron, yo lo quería hacer asi porque en pruebas, cambie el nombre y tambien cambie la package y en algunas de las activitys se me olvido y cuando hice pruebas, me di cuenta de una app se llamaba a las activitys de la otra empresa, hasta que revisando vi que alguna me había quedado la package sin cambiar y de ahi el problema.

Quizas hice algo mal, hice las pruebas que se me ocurrieron, volveré a probar solo cambiando el nombre y los recursos y hare pruebas a ver como sale.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/desarrolladores-android/5zCTdaNXQcg/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/0072ebd6-3f55-4bfd-b426-6f73b9ec4c12%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jaume Tugores

unread,
Jul 13, 2017, 10:51:31 PM7/13/17
to desarrolladores-android
He probado a cambiar el nombre, sin cambiar las packages y no va bien, al estar las 2 apps instaladas en el mismo móvil, al ir a cualquier activity, encuentra las dos apps y pregunta cual de las 2 abrir....
Me da que para evitar esto las packages tiene ser diferentes en las 2 y no se como se puede hacer esto automaticamente, ya que ahora lo que hago es crear las carpetas y luego ir incorporando una a una todas las activitys y es un trabajo enorme...





El jueves, 13 de julio de 2017, 8:00:12 (UTC+2), Jaume Tugores escribió:

No, no me lo pidieron, yo lo quería hacer asi porque en pruebas, cambie el nombre y tambien cambie la package y en algunas de las activitys se me olvido y cuando hice pruebas, me di cuenta de una app se llamaba a las activitys de la otra empresa, hasta que revisando vi que alguna me había quedado la package sin cambiar y de ahi el problema.

Quizas hice algo mal, hice las pruebas que se me ocurrieron, volveré a probar solo cambiando el nombre y los recursos y hare pruebas a ver como sale.




El 13/07/2017 a las 1:15, Martin escribió:
Pregunta, ¿ellos te pidieron explicitamente cambiar el package name? si no es asi solo deberias cambiar la info en los recursos (Strings, imagenes, etc), hay muchisimas  apps que llevan package names totalmente diferentes del nombre de la empresa, sin que eso sea un problema

El jueves, 6 de julio de 2017, 15:48:02 (UTC-3), Jaume Tugores escribió:
Tengo una app hecha que funciona muy bien, pero ahora la empresa ha cambiado el nombre y tiene que haber la aplicación original para funcionar con los datos viejos, durante un tiempo, puede que variso años, no se sabe, pero tengo que hacer una copia de la misma app para funcionar con la empresa nueva, de manera que sea como si fueran 2 aplicaciones totalmente distintas.
De momento lo que he hecho es crear un nuevo proyecto con nombres de pakages totalmente diferentes y luego ir copiando cada archivo al nuevo proyecto y adaptando los nombres.
Esto me ha funcionado muy bien, pero me lleva un trabajo enorme y como al hacer modificaciones, que se hacen a menudo, tengo que aplicarlas a las 2 apps, cuando la modificación es pequeña, la hago a mano en cada proyecto independientemente pero cuando es grande, lo hago solo en uno y luego tengo que adaptar otra vez todo el proyecto.
¿ hay alguna forma de hacer esto y que no sea tan pesado ???
He estado buscando y solo he visto la manera de cambiar el nombre, pero no se si esto es suficiente para que las 2 aplicaciones sean totalmente independientes, ¿ no se debería cambiar todas las carpetas, a partir de la raíz del proyecto ??
Gracias..
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/desarrolladores-android/5zCTdaNXQcg/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.

Eduardo Martin Cabrera

unread,
Jul 14, 2017, 4:45:04 PM7/14/17
to desarrollad...@googlegroups.com
estas en un verdadero lio, si son necesarias las 2 apps a la vez, entonces lo del mismo package no te va a servir, irremediablemente te va a tocar mantener 2 apps, por ahi lo mas conveniente seria considerar dejar la version vieja y usar solo la nueva

se me viene a la mente el tema de flavors, que permite hacer variantes de una misma app; pero no te sabria decir como usarlo para tu caso en particular, a lo mejor alguien que use a fondo esa caracteristica te puede decir mejor
https://developer.android.com/studio/build/build-variants.html?hl=es-419

El 13 de julio de 2017, 23:51, Jaume Tugores <jaimet...@gmail.com> escribió:
He probado a cambiar el nombre, sin cambiar las packages y no va bien, al estar las 2 apps instaladas en el mismo móvil, al ir a cualquier activity, encuentra las dos apps y pregunta cual de las 2 abrir....
Me da que para evitar esto las packages tiene ser diferentes en las 2 y no se como se puede hacer esto automaticamente, ya que ahora lo que hago es crear las carpetas y luego ir incorporando una a una todas las activitys y es un trabajo enorme...





El jueves, 13 de julio de 2017, 8:00:12 (UTC+2), Jaume Tugores escribió:

No, no me lo pidieron, yo lo quería hacer asi porque en pruebas, cambie el nombre y tambien cambie la package y en algunas de las activitys se me olvido y cuando hice pruebas, me di cuenta de una app se llamaba a las activitys de la otra empresa, hasta que revisando vi que alguna me había quedado la package sin cambiar y de ahi el problema.

Quizas hice algo mal, hice las pruebas que se me ocurrieron, volveré a probar solo cambiando el nombre y los recursos y hare pruebas a ver como sale.




El 13/07/2017 a las 1:15, Martin escribió:
Pregunta, ¿ellos te pidieron explicitamente cambiar el package name? si no es asi solo deberias cambiar la info en los recursos (Strings, imagenes, etc), hay muchisimas  apps que llevan package names totalmente diferentes del nombre de la empresa, sin que eso sea un problema

El jueves, 6 de julio de 2017, 15:48:02 (UTC-3), Jaume Tugores escribió:
Tengo una app hecha que funciona muy bien, pero ahora la empresa ha cambiado el nombre y tiene que haber la aplicación original para funcionar con los datos viejos, durante un tiempo, puede que variso años, no se sabe, pero tengo que hacer una copia de la misma app para funcionar con la empresa nueva, de manera que sea como si fueran 2 aplicaciones totalmente distintas.
De momento lo que he hecho es crear un nuevo proyecto con nombres de pakages totalmente diferentes y luego ir copiando cada archivo al nuevo proyecto y adaptando los nombres.
Esto me ha funcionado muy bien, pero me lleva un trabajo enorme y como al hacer modificaciones, que se hacen a menudo, tengo que aplicarlas a las 2 apps, cuando la modificación es pequeña, la hago a mano en cada proyecto independientemente pero cuando es grande, lo hago solo en uno y luego tengo que adaptar otra vez todo el proyecto.
¿ hay alguna forma de hacer esto y que no sea tan pesado ???
He estado buscando y solo he visto la manera de cambiar el nombre, pero no se si esto es suficiente para que las 2 aplicaciones sean totalmente independientes, ¿ no se debería cambiar todas las carpetas, a partir de la raíz del proyecto ??
Gracias..
--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/desarrolladores-android/5zCTdaNXQcg/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-android+unsubscr...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/0072ebd6-3f55-4bfd-b426-6f73b9ec4c12%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.

Eduardo Martin Cabrera

unread,
Jul 14, 2017, 4:47:34 PM7/14/17
to desarrollad...@googlegroups.com
revisando algunos tutoriales encontre esto; viendolo asi de pasada veo que usan diferentes applicationid en las variables, creo que te puede dar una guia para lo que buscas

http://www.androidauthority.com/building-multiple-flavors-android-app-706436/

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsubscr...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.

Eduardo Martin Cabrera

unread,
Jul 14, 2017, 4:48:32 PM7/14/17
to desarrollad...@googlegroups.com

Gabriel Pozo

unread,
Jul 15, 2017, 8:22:05 AM7/15/17
to desarrollad...@googlegroups.com
Iba a comentar lo mismo que Eduardo, deberías utilizar flavors, es lo que necesitas ;)

Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

Jaume Tugores

unread,
Jul 16, 2017, 3:22:47 AM7/16/17
to desarrolladores-android
Según lo que he entendido el flavors se usa para cambiar las funcionalidades de una misma aplicacion: Un productFlavor define versiones personalizadas de nuestra aplicación utilizando un único proyecto, un mismo proyecto puede tener diferentes flavors.
Aparte que tengo que rediseñar toda la app, no habla que puedan estar 2 aplicaciones iguales, que ademas tienen que tener las mismas caracteristicas, excepto la llamada a web-services y la propia base de datos, que esto no es problema el cambiarlo, simplemente con buscar y sustituir..
Al final lo que hago es CAMBIAR las packages y para ello uso este método:

Paso 1, cambiar el nombre de la app.
-ir al menu, File.Project Structure, abrir la pestaña Flavors y en 
  Application Id cambiar el nombre por: es.nuevaempresa.nuevaapp
Paso 2, cambiar las packages
En Android Studio:
seleccionar ficha Android
abrir app.java
en los iconos a la derecha de Android, pulsar el del piñón y desselecionar: Compact Empty Middel Packages
ahora veremos las packages separadas por es.viejaempresa.viejaapp
nos posicionamos sobre la package viejaempresa, vamos al menu y pulsamos Refactor, Rename, y en la ventana
  pulsamos Rename package, nos sale otra ventana y le cambiamos el nombre
ahora procedemos igual sobre la otra package, viejaapp.
paso terminado.
Paso 3
Salir de Android Studio, o cerrar el proyecto,
  ir al explorador de archivos de windows, cambiar el nombre de la carpeta raiz del 
  proyecto "ViejoProyecto" por: "NuevaProyecto"
Abrir el nuevo proyento desde Android studio, nos dira que
  el archivo: ViejoProyecto.iml es incorrecto y nos pedira permiso para borrarlo,
  hay que decirle que si, entonces lo borra y crea uno nuevo: NuevaProyecto.iml
  fin de este paso.

** Ahora el proyecto ya funciona perfectamente y conjuntamente las 2 apps en el mismo móvil,  solo queda ir al código y cambiar las referencias de los web-services, tambien el nombre de la app, y algunas cosistas mas...
Es un poco trabajoso, pero mucho menos que crear el proyecto nuevo he ir importando a mano.

Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/0072ebd6-3f55-4bfd-b426-6f73b9ec4c12%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.

Gabriel Pozo

unread,
Jul 16, 2017, 11:56:22 AM7/16/17
to desarrolladores-android
Has leído algo como esto? Y la documentación oficial a la que se refiere?
https://stackoverflow.com/q/16777534/1748764

Te cito:

Aparte que tengo que rediseñar toda la app, no habla que puedan estar 2 aplicaciones iguales, que ademas tienen que tener las mismas caracteristicas, excepto la llamada a web-services y la propia base de datos, que esto no es problema el cambiarlo, simplemente con buscar y sustituir..

Fin de la cita :D

Si, vas a tener que reestructurar un poco el proyecto, pero una vez que lo hagas es mucho más cómodo para trabajar. Yo eh tenido que hacer algo como lo que comentas, y con gradle lo pude hacer sin problemas. En pocas palabras, lo que es común a las dos apps te queda en un mismo lugar y solo cambias esos detalles, en mi caso hasta los logos eh imágenes.
Básicamente tenía dos apps iguales, pero con diferentes logos, base de datos y dirección webservices. Así no tenes que buscar y sustituir cada vez que necesitas realizar un fix o implementar algo nuevo.

Los pasos que seguí en su momento no los recuerdo, pero si te digo que lo pude configurar con la documentación oficial. Vas a ver que si lo haces te va a ahorrar mucho tiempo y te vas a quitar varios posibles errores de encima ;)


Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.

Eduardo Martin Cabrera

unread,
Jul 16, 2017, 2:22:14 PM7/16/17
to desarrollad...@googlegroups.com
osea, resumen taringuero nivel 5:
  • Se puede usar la característica de flavors para mantener diferentes versiones de una misma app.
  • Si se van instalar las 2 aplicaciones a la vez, (ovbiamente) no pueden llevar el mismo packagename / ApplicationId.


Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.

--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages