Argumentos / variables personalizados pasados ​​al emulador de Android

Me gustaría pasar un argumento al emulador de Android lanzado a través de Eclipse. Este argumento es uno personalizado que usaría para determinar si la dirección del servidor para conectarse es "localhost" o "myserverdomain.com". Esto es porque no quiero tener dos binarios, o dos versiones, del mismo programa, siempre que ejecute el programa en producción o en un entorno de prueba local.

En Java simple, puedo usar los argumentos de la línea de comandos para esa materia, y recuperarlos en el main() , o también utilizar las variables de ambiente de encargo y recuperarlas con System.getProperty() .

No puedo encontrar ninguna función similar en Android. ¿Conoce alguno por favor?

Esto es posible, aunque no he intentado hacerlo vía Eclipse.

Desde la línea de comandos puede utilizar adb para iniciar un shell y ejecutar una aplicación con parámetros.

Por ejemplo,

 adb shell am start -a android.intent.action.MAIN -n org.caoilte.MyActivity -e SOME_KEY some_value -e SOME_OTHER_KEY some_other_value 

comenzará mi actividad con extras que puedo extraer del paquete como tal,

 public class MyActivity extends Activity { protected void onStart() { super.onStart(); String someKey = null; String someOtherKey = null; Bundle extras = getIntent().getExtras(); if (extras != null) { jsEnv = extras.getString("SOME_KEY"); serverEnv = extras.getString("SOME_OTHER_KEY"); } } 

Cuando inicia un emulador para depurar su aplicación es como instalar en un dispositivo. El emulador no es sólo un mecanismo para ejecutar tu aplicación, es casi un teléfono. Crear una opción de línea de comandos para pasar datos a su aplicación sería un poco complicado, ya que no hay main(String[]) y que necesitaría varias opciones en cuanto a quién y cuándo desea que las opciones de línea de comandos entregado.

Decirle a una aplicación qué servidor ejecutar en contra se puede lograr un par de maneras diferentes. Primero puede configurarlo como un recurso de cadena . En segundo lugar, puede detectar con qué dispositivo se está ejecutando con Build.PRODUCT y otros valores de compilación . También hay algunas opciones con el uso de NetworkInterface . Además, por qué estás desarrollando tu aplicación, puedes dejar que el usuario decida con un AlertDialog o ListPreference con la depuración como un disparador.

  • Detectar orientación con javascript en dispositivos Android
  • Cómo utilizar assert en android?
  • Tensorflow Android demo: cargar un gráfico personalizado?
  • Prueba de NaN en Java
  • Cambiar la ruta del archivo de entrada de android y ios en el proyecto reactivo-nativo
  • ¿Cómo agregar publicidad Admob en mi aplicación de Android?
  • aceleración de hardware webview slide-in animación parpadeo en ICS
  • ¿Esto causará fugas de memoria?
  • Volley JSONException: Fin de la entrada en el carácter 0 de
  • Permisos de Android SU: ¿Cómo usarlos?
  • Android REST POST pierde valor de fecha
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.