避免 AndroidX Jetifier 日志垃圾邮件

rub*_*ees 5 android build android-gradle-plugin androidx android-jetifier

我最近将我的应用程序迁移到了AndroidX,因此使用了 Jetifier 工具(目前是与 Android Gradle 插件版本捆绑的版本3.3.0-alpha10):

# gradle.properties
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

它工作正常,但在我的应用程序的整个构建过程中添加了许多日志(对于它转换的每个库),如下所示,并使日志难以阅读。

它看起来像这样:

> Transform room-runtime.aar (androidx.room:room-runtime:2.0.0-rc01) with AarTransform
> Transform lifecycle-extensions.aar (androidx.lifecycle:lifecycle-extensions:2.0.0-rc01) with AarTransform
> Transform work-runtime.aar (android.arch.work:work-runtime:1.0.0-alpha08) with AarTransform
Run Code Online (Sandbox Code Playgroud)

有没有办法禁用/忽略/过滤这些日志?

Jan*_*man 3

过滤掉终端/命令行:

要过滤终端/命令行中的输出,请使用 grep 或类似命令。在 Unix 系统上,它会是这样的:

./gradlew build | grep -vE 'Transform'
Run Code Online (Sandbox Code Playgroud)

Windows grep 的等效项是 findstr,因此整个命令如下所示:

./gradlew build | findstr /V "Transform" 
Run Code Online (Sandbox Code Playgroud)

过滤掉logcat:

如果 logcat 中的日志太多,一种可能的解决方案是使用Android Studio 日志过滤器过滤掉所有 Jetifier 的日志。您可以通过单击 Logcat 菜单右上角的下拉列表并选择“编辑过滤器配置”并指定要过滤的内容来执行高级过滤。

在此输入图像描述

在你的情况下,过滤器应该看起来像这样。此配置将过滤掉所有带有“Transform”标签的消息(我不确定 Transform 是标签还是只是消息的一部分)在此输入图像描述

您很可能希望创建更高级的配置,以便仅显示包中的日志。