在android项目上运行声纳:该类' foo.bar.R $ string'无法与其原始源文件

时间:2017-07-17 07:01:59

标签: android resources sonarqube findbugs

当我对我的android项目进行声纳分析时,我总是会收到很多关于Android资源编译生成的.class文件的消息,如下所示

  

运行声纳:该类' foo.bar.R $ string'无法与之匹敌   原始源文件。它可能是一个动态生成的类。

我猜这些消息来自Findbugs。

我试图从声纳分析中排除**/R.class **/R$*.class,但没有运气。

关于如何摆脱此类消息的任何想法?

1 个答案:

答案 0 :(得分:2)

问题通过sonar.findbugs.excludesFilters属性

解决
sonarqube {
    properties {
        property 'sonar.findbugs.excludesFilters', 'findbugs-filter.xml'
    }
}

和findbugs-filter.xml是

<FindBugsFilter>
    <Match>
        <Or>
            <Class name="~.*\.R\$.*"/>
            <Class name="~.*\.Manifest\$.*"/>
        </Or>
    </Match>
</FindBugsFilter>