查找在资源缩减期间导致问题的确切 xml 文件

问题描述 投票:0回答:1

我在我的 Android 项目中启用了

shrinkResources true
。当我在发布模式下运行应用程序时,它会抛出以下错误。

[行,列]处的解析错误:[1,1] 消息:序言中不允许出现内容。

我可以通过在

gradle.properties
中添加 enableNewResourceShrinker=false 来暂时抑制该问题。

但我需要找到导致问题的确切文件。

在任何 xml 文件中,我无法在 xml 标头之后找到任何拼写错误或附加字符或附加行。

有什么方法可以找出哪个文件导致此资源缩减构建问题?

android xml android-studio android-layout android-resources
1个回答
0
投票

这是一个很难破解的问题。但这就是我所做的:

  • 使用 --trace 运行
    shrinkResources
    任务以获取断线。使用Android Studio,打开
    ToolsAttributeUsageRecorder
    文件

  • 按照这些说明设置 Gradle 调试器。以调试模式启动 gradle 任务:

    gradlew :app:shrinkDevDebugRes -Dorg.gradle.debug=true --no-daemon

  • 在此行设置断点以获取有问题文件的路径

  • 由于我有数千个资源,所以我将断点设置为不暂停,而是记录路径

调试控制台中的最后一行是有问题的资源。在我的例子中,一个没有标题的矢量绘图

© www.soinside.com 2019 - 2024. All rights reserved.