Definir buildConfigField para androidTest

Estoy definiendo un campo en particular en BuildConfig para obtener la URL durante el tiempo de ejecución. Por lo tanto, para cada tipo de compilación, utilizo una cadena diferente:

  prod { buildConfigField "String", "BASE_URL", "\"abc.com\"" } debug { buildConfigField "String", "BASE_URL", "\"efg.com\"" } 

¿Es posible definir una URL diferente mientras se ejecutan las pruebas de Android? He intentado poner esta configuración en sourceSets->androidTest , pero no es aceptada.

2 Solutions collect form web for “Definir buildConfigField para androidTest”

Agregue BuildConfig.java personalizado a your.app.package en test / androidTest dir.

Android Studio lo marca en rojo, pero funciona.

Tienes que pasarlo como un parámetro a la tarea connectedAndroidTest .

 android { ... buildTypes { prod { buildConfigField "String", "BASE_URL", "\"${getBaseUrl("abc.com")}\"" } debug { buildConfigField "String", "BASE_URL", "\"${getBaseUrl("efg.com")}\"" } } } def getBaseUrl(String fallback) { return project.hasProperty("base_url") ? project.getProperties().get("base_url") : fallback } 

Luego pasar los parámetros a través de -P :

 ./gradlew connectedDebugAndroidTest -Pbase_url="xxx.com" ./gradlew connectedProdAndroidTest -Pbase_url="yyy.com" 
  • Muchos mensajes de error después de actualizar el complemento de Gradle para Android a 2.0.0
  • No se pudo encontrar gradle 2.2.0-rc1
  • El proyecto no se puede compilar después de actualizar a gradle: 2.1.0-alpha5
  • ¿Cuál es la diferencia entre la implementación y compilar en gradle
  • El complemento de Android Studio es demasiado antiguo
  • La sincronización de Gradle falló: No se pudo actualizar el complemento de Android a la versión '2.0.0'
  • Actualización de Android Studio 2.2: alineado APK (zipAlign) no generado con el nuevo Gradle Plugin 2.2.0
  • Error de pelusa en Okio
  • Gradlew build freezing en mergeDebugResources
  • Lint recursos no utilizados falsos positivos con la nueva versión de plugin de Android para gradle
  • Se ha producido un error en el procesamiento de archivos, consulte los registros para obtener más detalles.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.