【问题标题】:Avoid AndroidX Jetifier log spam避免 AndroidX Jetifier 日志垃圾邮件
【发布时间】:2019-02-20 12:27:57
【问题描述】:

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

# gradle.properties
android.useAndroidX=true
android.enableJetifier=true

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

看起来像这样:

> 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

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

【问题讨论】:

    标签: android build android-gradle-plugin androidx android-jetifier


    【解决方案1】:

    过滤掉终端/命令行:

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

    ./gradlew build | grep -vE 'Transform'
    

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

    ./gradlew build | findstr /V "Transform" 
    

    过滤掉logcat:

    如果您在 logcat 中有太多日志,一种可能的解决方案是使用 Android Studio log filters 过滤掉所有 Jetifier 的日志。您可以通过单击 Logcat 菜单右上角的下拉菜单并选择 Edit Filter Configuration 并指定要过滤的内容来进行高级过滤。

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

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

    【讨论】:

    • 谢谢,但这不是我的意思。我在谈论 Gradle Build 日志。例如从命令行调用./gradlew build 之后。
    • 哦,我明白了。所以也许如果你使用的是 unix 系统,你可以使用 grep 吗?像这样的东西应该可以工作:./gradlew build | grep -vE '变换'
    • 对于 Windows,grep 的等价物是这样的:findstr /V "Transform"
    • 没有考虑过这种方法,谢谢,这就是我要找的!
    • 这冒着隐藏完全不相关的日志的风险
    猜你喜欢
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多