Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo tener diferentes entornos de compilación para Android?

Tengo docenas de claves api para facebook y twitter y muchos otros servicios, ¿cuál es la forma estándar de tener diferentes valores para las claves dependiendo de si estoy haciendo una compilación de desarrollo vs. una compilación de puesta en escena frente a una compilación de producción?

2 Solutions collect form web for “¿Cómo tener diferentes entornos de compilación para Android?”

Puede utilizar un indicador estático para usarlo en un bloque de conmutación para definir las claves. Eso funciona para un proyecto simple con dos o tres claves alternativas.

Si realmente tienes muchos, para usar en varios proyectos, te sugiero que los agregues a una clase de ayuda, para que reduzcas al mínimo el cambio de código en tus clases. Algo como:

public class BuildHelper { public static final int DEBUG=0; public static final int STAGING=1; public static final int PRODUCTION=2; public static int BUILD; public static String getFbKey() { switch(BUILD) { case DEBUG: return "xxx"; case STAGING: return "yyy"; case PRODUCTION: return "zzz"; } return null; } public static String getTwitterKey() { switch(BUILD) { case DEBUG: return "xxx"; case STAGING: return "yyy"; case PRODUCTION: return "zzz"; } return null; } } 

Y utilizarlo como:

 public class YourClass extends Activity { public static String FB_KEY; public static String TWITTER_KEY; //etc. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); BuildHelper.BUILD=BuildHelper.DEBUG; // or STAGING or PRODUCTION FB_KEY = BuildHelper.getFbKey(); TWITTER_KEY = BuildHelper.getTwitterKey(); //etc. } } 

Los mantendría en archivos de propiedades independientes y haría referencia al archivo de propiedades aplicable en el script de creación / ruta de clase de eclipse, dependiendo de lo que esté haciendo.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.