Windows 上的 Android Lint 不考虑 lint-baseline.xml 中带有斜杠的文件 *nix 样式路径

Pio*_*ski 6 android android-lint

我有一个有 Lint 问题的可绘制文件IconDipSize。此问题在lint-baseline.xmlmacOS 计算机上生成的文件中得到抑制,因此它包含带斜杠的文件路径,而不是 Windows 风格的反斜杠。

<?xml version="1.0" encoding="UTF-8"?>
<issues format="5" by="lint 4.0.1" client="gradle" variant="betaDebug" version="4.0.1">
    <issue
        id="IconDipSize"
        message="The image `download_icon.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-hdpi/download_icon.png: 32x32 dp (48x48 px), drawable-mdpi/download_icon.png: 72x72 dp (72x72 px), drawable-xhdpi/download_icon.png: 48x48 dp (96x96 px), drawable-xxhdpi/download_icon.png: 48x48 dp (144x144 px), drawable-xxxhdpi/download_icon.png: 48x48 dp (192x192 px)">
        <location
            file="src/main/res/drawable-hdpi/download_icon.png"/>
        <location
            file="src/main/res/drawable-xxxhdpi/download_icon.png"/>
        <location
            file="src/main/res/drawable-xhdpi/download_icon.png"/>
        <location
            file="src/main/res/drawable-xxhdpi/download_icon.png"/>
        <location
            file="src/main/res/drawable-mdpi/download_icon.png"/>
    </issue>
</issues>
Run Code Online (Sandbox Code Playgroud)

这会导致 lint 忽略抑制并抛出错误:

> Lint found errors in the project; aborting build.

  Fix the issues identified by lint, or add the following to your build script to proceed with errors:
  ...
  android {
      lintOptions {
          abortOnError false
      }
  }
  ...

  The first 3 errors (out of 6) were:
  C:\Users\piotr\StudioProjects\pnp-android\app\src\main\res\drawable-hdpi\download_icon.png: Error: The image download_icon.png varies significantly in its density-independent (dip) size across the various density versions: drawable-hdpi\download_icon.png: 32x32 dp (48x48 px), drawable-mdpi\download_icon.png: 72x72 dp (72x72 px), drawable-xhdpi\download_icon.png: 48x48 dp (96x96 px), drawable-xxhdpi\download_icon.png: 48x48 dp (144x144 px), drawable-xxxhdpi\download_icon.png: 48x48 dp (192x192 px) [IconDipSize]
Run Code Online (Sandbox Code Playgroud)

删除该lint-baseline.xml文件并再次运行 Lint 来重新生成它可以解决问题,因为会生成带有 Windows 样式路径的基线:

<?xml version="1.0" encoding="UTF-8"?>
<issues format="5" by="lint 4.0.1" client="gradle" variant="betaDebug" version="4.0.1">
    <issue
        id="IconDipSize"
        message="The image `download_icon.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-hdpi\\download_icon.png: 32x32 dp (48x48 px), drawable-mdpi\\download_icon.png: 72x72 dp (72x72 px), drawable-xhdpi\\download_icon.png: 48x48 dp (96x96 px), drawable-xxhdpi\\download_icon.png: 48x48 dp (144x144 px), drawable-xxxhdpi\\download_icon.png: 48x48 dp (192x192 px)">
        <location
            file="src\main\res\drawable-hdpi\download_icon.png"/>
        <location
            file="src\main\res\drawable-xxhdpi\download_icon.png"/>
        <location
            file="src\main\res\drawable-xxxhdpi\download_icon.png"/>
        <location
            file="src\main\res\drawable-xhdpi\download_icon.png"/>
        <location
            file="src\main\res\drawable-mdpi\download_icon.png"/>
    </issue>
</issues>
Run Code Online (Sandbox Code Playgroud)

然而,我认为它不是问题的完整解决方案,因为该项目有一些开发人员,其中一些在 macOS 上,一些在 Windows 上,我们希望避免lint-baseline.xml 为每个平台保留单独的文件。

问题是:是否可以让 Windows 上的 Lint 正确解析带斜杠的 Linux/macOs 样式路径?