2010-12-07 14 views
7

Acabo de lanzar mi primera aplicación y me gustaría tener una versión gratuita también. Me preguntaba cómo debería gestionar mi rama de versión gratuita (en svn) para que sea fácil fusionar los cambios de la versión completa. ¿Es posible simplemente cambiar el nombre del paquete en el archivo Manifiesto? o los nombres de los paquetes tienen que ser diferentes en el código? Si es así, ¿cómo podría fusionar cambios fácilmente?cómo administrar la versión gratuita?

Gracias, Jason

Respuesta

1

¿Realmente desea mantener una rama diferente para crear una versión libre?
Usaría la misma base de código y desactivaría algunas características en la versión gratuita, ya sea por #ifdef o por los parámetros de configuración.

+0

Pero no puedo publicar el mismo nombre del paquete apk dos veces en el mercado de todos modos podría? – Jason

+0

@Jason, no conozco el desarrollo de Android, pero ¿no puedes guardar una copia por separado del archivo donde está definido el nombre del paquete? –

+0

Si solo está en el manifiesto, sí, pero si necesito cambiar el paquete del código, entonces eso podría ser un problema. Me sugirieron que hiciera un paquete falso y simplemente cambiara el archivo de manifiesto a ese paquete falso que podría funcionar. saber si lo hace – Jason

2

yo uso esto en todas mis aplicaciones:

public static final boolean LITE_VERSION = true; 

luego usarlo para desactivar algunas características.

Es importante saber que el compilador java ignorará cualquier fragmento de código en un bloque if (! LITE_VERSION) si LITE_VERSION se establece en verdadero, por lo que no se puede modificar mediante ingeniería inversa (puede probarlo con el "javap" -c "comando).

+1

Enfriar gracias, pero eso todavía me deja con el problema del nombre del paquete, ¿qué haces al respecto? – Jason

+0

bien ... también te deja con el problema de las licencias. La versión gratuita no puede ser licenciada. La biblioteca es el camino a seguir – GSree

0

Uso Ant para compilaciones. Anteriormente documenté how I build two versions of the same app. La última sección en la que discuto cómo tratar con diferentes manifiestos es probablemente de mayor interés para usted.

+0

Parece interesante leer esto cuando llegue a casa mañana, ¿este método permite desactivar las características de cretino? – Jason

+0

Características de Cretin? :) Uso diferentes archivos de manifiesto para cada versión. También configuré tres árboles fuente (principal, demostración y común) y utilizo Ant para fusionar dos de los tres árboles (principal + común o demo + común) en un solo árbol antes de construir. –

0

Intento utilizar la misma base de código y nombre de paquete y ofrecer una clave superior, que podría ser una aplicación adicional (apk) o simplemente un número de serie. Este enfoque tiene el efecto positivo de que los usuarios que desean actualizar pueden usar sus datos y configuraciones anteriores. La clave solo habilita una marca como mención antes de habilitar características dinámicamente

Cuestiones relacionadas