android - 如何为 Retrofit 配置调试和发布日志级别?

标签 android android-gradle-plugin retrofit android-debug

我使用 Retrofit在我的安卓项目中。在开发过程中,我为 RestAdapter 启用了完整的日志输出,如下所示:

new RestAdapter.Builder()
    .setLogLevel(RestAdapter.LogLevel.FULL);

当我烘焙一个版本时,出于显而易见的原因,日志级别设置为 RestAdapter.LogLevel.NONE

我想根据构建/文件夹架构自动切换此设置:

.
├── app
│   └── src
│       ├── debug
│       ├── main
│       └── release

如何将 RestAdapter.LogLevel.FULL 移动到 app/src/debug 并将 RestAdapter.LogLevel.NONE 移动到 app/src/release ?

最佳答案

一个更好的方法是通过这样的 build.gradle 文件:

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'
    }
}

然后在代码中这样做:

mRestAdapter = new RestAdapter.Builder()
    .setEndpoint("http://something.com")
    .setLogLevel(BuildConfig.RETROFIT_LOG_LEVEL)
    .build();

这种方式在运行时不检查,只在编译时检查

关于android - 如何为 Retrofit 配置调试和发布日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370070/

相关文章:

android - 如何从 CookieManager android 获取所有 cookie?

安卓媒体扫描仪 : Remove image file(s) from gallery

android - Butter Knife - 在 Android lib 上注入(inject)

android - 自上次更新以来构建失败

android - 在 Android App 中将 Retrofit Adapter 放在哪里?

android - 使用带有 Retrofit 的响应拦截器

java - android recyclerview viewholder Mediaplayer处理点击问题

java - CardView 填充/间距在不同的 API 级别上有所不同

java - Android:由于 transformDexArchiveWithExternalLibsDexMergerForDebug 程序类型已经存在,Java 库构建失败

android - 如何增加android中改造库的上传时间