tengo studio saber que configurar como code cambiar actualizar android eclipse apk adt android-install-apk

android - studio - ¿Cómo tener la apk Debug y Release en el mismo dispositivo?



configurar gradle android studio (5)

Mientras continúo desarrollando mi aplicación y probándola en un teléfono real, necesito tener la versión de lanzamiento de la misma en el mismo teléfono, para fines de demostración (la versión de lanzamiento es mucho más receptiva, gracias a no-logs).

El problema es que la única manera de hacer que dos aplicaciones coexistan en el mismo dispositivo en Android es tener diferentes nombres de paquetes.

Pero los nombres de paquetes requieren re-factoring y un montón de correcciones manuales de propagación ... sin mencionar que esto confunde el control de versiones ...

Idealmente, Eclipse + ADT permitiría agregar una variable modificadora que generaría automáticamente un nombre de paquete diferente para debug / release y permitiría tal coexistencia, pero no pude encontrar ningún mecanismo que permita hacer eso.

¿Conoces alguna forma de solucionar esto?

Soluciones creativas e ideas son bienvenidas.


¿Podría poner todo su código en un Proyecto de biblioteca y luego tener dos proyectos normales, que tienen diferentes nombres de paquetes y simplemente incluir el proyecto de biblioteca en ambos?

Esto debería mantener todo su código en un solo lugar. Lo más probable es que los proyectos normales solo necesiten un archivo de manifiesto válido que apunte a las actividades en el proyecto de la biblioteca.


En Android Studio, agregue variantes de compilación utilizando Product Flavors, que se pueden personalizar fácilmente para diversos entornos y para probar múltiples variantes de la misma aplicación. Echa un vistazo a este enlace para obtener más información - Configuración de Gradle


Es posible que desee probar esta técnica utilizando ant , Jenkins y quizás otras herramientas para automatizar el cambio de nombre de los paquetes como lo sugiere @LAS_VEGAS.

Aunque no es lo que solicitó, este fragmento de código puede ayudarlo a descubrir en tiempo de ejecución si su código es debug o release.

Otro intento interesante se puede encontrar en este hilo . No estoy seguro de si funciona en Android.


La única forma que conozco es cambiar el nombre del paquete en el archivo de manifiesto de su aplicación. Eclipse debe manejar todo el cambio de nombre del código por ti.


Use Android Studio porque Gradle le hace la vida mucho más fácil, solo use applicationIdSuffix

android { ... buildTypes { release {...} debug { applicationIdSuffix ''.debug'' } } }

Para más vaya here .