zoukankan      html  css  js  c++  java
  • findbugs过滤R.java文件

        在第一次使用findbugs时检查出100多个Bad pratice,仔细一看原来全是R文件里面的类名首字母没有大写导致的。

        于是只有自己在findbugs设置界面中添加过滤条件来忽略掉R文件。

        

        在File-Settings-Other Settings-FindBugs IDEA的Filter中,在Exclude的那个框中点加号添加过滤文件,

        注意文件类型不是java,也不是文件夹,而是xml文件,文件内容为过滤规则。

        自己先写了个过滤R文件的xml文件,然而并没有想象中那么简单。。

    <?xml version="1.0" encoding="UTF-8"?>
    <FindBugsFilter>
        <Match>
               <Class name="com.work.checkpermission.R" />
        </Match>
    </FindBugsFilter>

        如果是过滤一些正常的类,如上语法是正确的,可能R文件比较特殊,这样写是无效的。

        正确的过滤R文件的xml文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <FindBugsFilter>
        <Match>
            <Or>
                <Class name="~.*.R$.*"/>
                <Class name="~.*.Manifest$.*"/>
            </Or>
        </Match>
    </FindBugsFilter>

        该xml无论什么名字,无论放在哪,只要添加进Exclude框中点击ok即可。

        同理,若想要筛选在哪些类中使用findbugs,可以指定相应规则然后添加到Include框中即可。

        关于findbugs的filter文件内容的具体语法可参考网址:http://findbugs.sourceforge.net/manual/filter.html

        这些规则可以是筛选/过滤类、方法、包、文件夹等等,全部可以自定义。

         

        然后在使用findbugs过程中工程还报出了一个编译错误:

        Error:Gradle: failed to create directory '...'
        ...

        > Failed to execute aapt

        在查阅资料中发现这好像是Android Studio 3.0才有的错误,

        解决方法是在gradle.properties文件的最后添加一行:android.enableAapt2=false

        也可以尝试使用工具栏Build-Clean Project清理项目,File-invalidate caches/restart清理缓存。

  • 相关阅读:
    python学习笔记之生成器和迭代器、内置函数
    python学习笔记之装饰器(语法糖)
    python学习笔记第三天
    python学习笔记第二天
    Python学习笔记第一天
    获取系统所有软件的卸载信息
    读取注册表获取计算机上已安装程序的信息
    关机重启后运行父进程
    系统关机重启,提升进程权限
    修改用户密码
  • 原文地址:https://www.cnblogs.com/LangZXG/p/9010724.html
Copyright © 2011-2022 走看看