代码之家  ›  专栏  ›  技术社区  ›  Steven Jeuris

`vectorResource`在ProGuard应用优化时引发RuntimeException

  •  0
  • Steven Jeuris  · 技术社区  · 5 年前

    我是 using Jetpack Compose 1.0.0-alpha09 with Kotlin 1.4.21 .我用 vectorResource to load an ImageVector from resources .

    所有这些都可以在设计预览和调试版本中正常工作。但是,当我使用ProGuard构建发布版本时,在运行时会出现以下异常:

    org.xmlpull.v1.XmlPullParserException: Binary XML file line #1<VectorGraphic> tag requires viewportWidth > 0
        at androidx.compose.ui.autofill.AndroidAutofillDebugUtilsKt.vectorResource(AndroidAutofillDebugUtils.kt:142)
        at ...
    

    经过一个漫长而乏味的过程,试图找出可能导致这种情况的发布和调试之间的差异,我发现 disabling optimization in ProGuard 使用 -dontoptimize “解决”了这个问题。

    到底是什么导致了这种行为上的差异? 这是我的ProGuard、Jetpack Compose、ProGuard还是我的ProGuard配置中的一个bug?

    0 回复  |  直到 5 年前