Android 如何为改装配置调试和发布日志级别?
我在我的Android项目中使用。在开发过程中,我为Android 如何为改装配置调试和发布日志级别?,android,android-gradle-plugin,retrofit,android-debug,Android,Android Gradle Plugin,Retrofit,Android Debug,我在我的Android项目中使用。在开发过程中,我为RestAdapter启用完整日志输出,如下所示: new RestAdapter.Builder() .setLogLevel(RestAdapter.LogLevel.FULL); 当我烘焙发布时,出于明显的原因,日志级别设置为RestAdapter.LogLevel.NONE 我想根据生成/文件夹体系结构自动切换此设置: . ├── app │ └── src │ ├── debug │ ├── ma
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
中?最简单的方法是使用BuildConfig.debug
标志,对于调试版本自动设置为true,对于发布版本自动设置为false
我是这样做的:
RestAdapter adapter = new RestAdapter.Builder()
.setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE)
更好的方法是通过
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();
这样在运行时就不需要检查,只需要在编译时进行检查谢谢。我唯一不喜欢的是“配置”不在一个地方,比如
res/values/config.xml
。