命令行运行


命令行运行

1. 在火线官网进行火线相关文件的下载,下载后的文件为fireline.jar。

2. 运行fireline.jar文件前请先确认系统环境中已安装Java JDK。

3. 在命令行中输入以下命令,点击确定。

java -jar D:\test\fireline.jar -s=D:\test\TestCase -r=E:\RedlineReport
注:为了使用更灵活方便,也可以省略等号,如下:
java -jar D:\test\fireline.jar -s D:\test\TestCase -r E:\RedlineReport

参数解释:
【必填项】-s或scanSrcDir为被扫描的项目工程路径
【必填项】-r或reportSaveDir为火线报告输出路径

4. 扫描完成后,在火线报告输出路径找到testReport.html,打开后可见。


命令行参数说明


命令行参数说明

必选项说明:
  1. -r或reportSaveDir 火线报告输出路径
  2. -s或scanSrcDir 被扫描的项目工程路径
可选项说明:
  1. reportFileName 火线报告文件名
  2. proj_name 被扫描的项目名称
  3. user 提交人名称
  4. config 配置文件路径
示例:

java -jar fireline.jar -s=C:\Users\yuanwei3-iri\Desktop\newRed -r=E:\RedlineReport reportFileName=qmtest proj_name=test123 user=Qtest config=D:\test\RedLineConfigurationNoLog.xml

其中参数config的配置文件RedLineConfigurationNoLog.xml可以控制火线扫描哪些规则,过滤哪些规则。
配置文件的写法如下:

                          
                            
                            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
                            <redline>
                                <args>
                                    <!-- 选择扫描哪些类别的规则
                                    1:代码规范类
                                    2:内存类
                                    3:日志类
                                    4:安全类
                                    5:空指针
                                    6:多线程
                                    -->
                                    <scanTypes>1+2+4+5+6</scanTypes>
                                </args>
                                <pmd>
                                    <!--过滤单条规则,规则名称可参照RedLineRule_All.xml文件内容-->
                                    <filterRules>           
                                        <filterRule ruleName="" >                
                                        </filterRule>
                                    </filterRules>
                                </pmd>
                            </redline>
                            
                           
                        

以上配置文件去掉了日志类的规则,所以火线扫描过程中就不会执行日志类规则的检查。
该参数不指定时会默认扫描所有类型的规则。
执行完成后,火线报告文件名变为qmtest.html。
报告内容中的项目名称和提交人都变为传入的参数值。


Android Studio插件


Android Studio插件

在线安装


1. 火线插件目前可以在Android Studio中进行在线搜索安装。

2. 打开Android Studio,点击“File”->“Settings...”。

3. 在打开的“Settings”界面选择“Plugins”,在搜索框输入“fireline”,点击“Search in repositories”。

4. 在弹出的页面看到“360 FireLine Plugin”,点击右侧的“Install”按钮。

5. 插件下载并安装成功后,Android Studio会进行重启。

本地安装


如果在线安装插件出现失败的情况,可以访问该链接,直接下载zip安装包进行本地安装。

1. 在访问该链接后,找到最新版本,下载最新版本的zip安装包。

2. 下载完成后,在Android Studio中点击“Install plugin from disk…”,在弹出的页面选择下载好的zip安装包即可。

使用和配置


1. Android Studio重启完成后,再次点击“File”->“Settings...”。

2. 此时在“Other Settings”选项中会显示“FireLine”选项,点击可进行配置。

3. 配置完正确的“报告输出路径”和“扫描规则”后,点击“OK”。

4. 在Android Studio已有工程项目中,右键想要扫描的目录或文件,在右键菜单栏里选择“Fireline”,点击“Run”。

5. 此时在Android Studio最下方以及“Event Log”视窗中可以看到火线的运行状态,扫描完成如下图所示。


Gradle部署


Gradle部署

新增一个用来启动火线扫描的task:

                                                   
                             task runFireline(type:Exec) {
                               commandLine 'cmd' , '/c' , 'java -jar D:/fireline.jar -s=D:/asWrokSpace/qh_android_sdk proj_name=sdk -r=D:/report'
                                standardOutput = new ByteArrayOutputStream()
                                ext.output = {
                                  return standardOutput.toString()
                                }
                                println standardOutput
                              }
                             
                        

Jenkins集成


Jenkins集成

1. 运行:
在构建任务后面增加一个“Execute Windows batch command”(linux系统请添加shell命令,内容一样)任务,填写命令:

java -jar D:/fireline.jar scanSrcDir=D:/asWrokSpace/qh_android_sdk proj_name=sdk reportFileName=test_%BUILD_NUMBER% reportSaveDir=D:/report

2. HTML报告集成:
安装插件HTML Publisher plugin,需要大于1.10版本以上,然后配置如下:

由于火线报告使用了JavaScript,这里需要设置jenkins允许脚本执行(allow-scripts)。
解决办法如下:
【jenkins】->【系统管理】->【脚本命令行】,在文本框中输入:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
然后点击运行,重新执行一下build任务即可。
执行build以后,在这里查看:

点击查看本次扫描的报告: