Tengo una aplicación para Android que viene en dos formas: una versión de prueba y una versión "pro" de pago. Las dos versiones conviven en Android Market y tienen diferentes nombres de paquetes (llamémosles com.app.trial y com.app.pro). Comparten la misma base de código. Cuando tengo que cambiar entre compilaciones de prueba y pro en Eclispe, debo pasar no menos de 20 minutos cada vez que edito el código para hacerlo construir la versión correcta. Mi procedimiento es el siguiente:Conmutación de versiones de prueba y prueba con aplicaciones de Android en Eclipse: ¿cómo hacer que sea menos doloroso?
Renombrar el nombre del paquete en AndroidManifest.xml (también cambiar el nombre de la aplicación nombre de la versión, y versionCode).
Haga clic en el nombre del paquete principal "com.app.pro" (si pro fue la última versión y ahora quiero hacer una versión de prueba) y seleccione Refactor-> Cambiar nombre (marque 'Actualizar referencias' y 'Cambiar nombre de subpaquetes ') y deja que Eclipse cambie el nombre.
Después de esto viene la parte difícil: en mi código muchos archivos importan el "viejo" nombre del paquete, "com.app.pro" en lugar de ser cambiado automáticamente a "com.app.trial". En algunos casos, Eclipse agrega esas referencias durante el cambio de nombre, sin razones aparentes (no hay referencias a este paquete específico dentro de un archivo Java dado). Tengo que editar manualmente todas las instancias.
Mi pregunta es:
¿Cómo puedo hacer este procedimiento consume menos tiempo? También he estado usando NetBeans, donde hay un soporte útil para #ifdefs (también conocido como Habilidades) que realmente hace que cambiar entre compilaciones sea muy fácil. Desafortunadamente, Eclipse no tiene soporte (al menos, no es compatible con el buil-in) para #ifdefs.
Cualquier sugerencia sería muy apreciada.
P.S. Para la referencia estoy usando Eclipse Ganymede versión 3.4.2 pero también probé una versión más nueva, hace lo mismo.
he publicado un paso por la respuesta de paso en otro hilo aquí: [El mantenimiento de las versiones libres y pro de una aplicación] [1] [1]: http://stackoverflow.com/questions/2529062/maintaining-both-free-and-pro-versions-of-an-application – ProgMasta