¿Cómo configurar el nivel de registro de depuración y liberación para Retrofit?
Yo uso Retrofit en mi proyecto de Android. Durante el desarrollo, RestAdapter
la salida de registro completa para el RestAdapter
siguiente manera:
new RestAdapter.Builder() .setLogLevel(RestAdapter.LogLevel.FULL);
Cuando hago un lanzamiento el nivel de registro se establece en RestAdapter.LogLevel.NONE
por razones obvias.
- Solo observable con varios suscriptores
- Retrofit con rxjava manejando excepciones de red a nivel mundial
- Prueba de respuestas reales de red con retroadaptación
- No se puede analizar el error en Retrofit 2
- Obtener objeto JSON anidado con GSON utilizando retrofit
Me gustaría cambiar automáticamente esta configuración basada en la arquitectura de la carpeta / compilación:
. ├── app │ └── src │ ├── debug │ ├── main │ └── release
¿Cómo puedo mover RestAdapter.LogLevel.FULL
en app/src/debug
y RestAdapter.LogLevel.NONE
en app/src/release
?
- Rutas dinámicas en la adaptación
- Cómo probar la interfaz de usuario de Android utilizando IdlingResource cuando se utilizan las solicitudes de red de Retrofit
- NetworkOnMainThreadException con retrofit-beta2 y rxjava
- Gestione diferentes tipos de respuesta JSON desde el mismo punto final en RetroFit
- ¿Por qué RxJava con Retrofit en Android doOnError () no funciona, pero el suscriptor onError no
- Cargar archivos en el servidor mediante retroadaptación
- Subir una imagen a Google appengine utilizando Robospice con Retrofit
- Renovación de la referencia $ ref de objeto deserializante de JSON a su copia original
La forma más sencilla es utilizar el indicador BuildConfig.DEBUG
que se establece automáticamente en true para las compilaciones de depuración y false para las compilaciones de versiones.
Lo hago así:
RestAdapter adapter = new RestAdapter.Builder() .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)
Una mejor manera de hacerlo es a través del archivo build.gradle
como tal:
buildTypes { debug { buildConfigField 'retrofit.RestAdapter.LogLevel', 'RETROFIT_LOG_LEVEL', 'retrofit.RestAdapter.LogLevel.FULL' } release { buildConfigField 'retrofit.RestAdapter.LogLevel', 'RETROFIT_LOG_LEVEL', 'retrofit.RestAdapter.LogLevel.NONE' } }
Entonces en el código haga esto:
mRestAdapter = new RestAdapter.Builder() .setEndpoint("http://something.com") .setLogLevel(BuildConfig.RETROFIT_LOG_LEVEL) .build();
De esta manera no hay comprobación en tiempo de ejecución, sólo en el momento de la compilación
- Generador de código QR en android
- Error: No se pudo resolver: com.google.firebase: firebase-core: 11.0.0