配置Android项目 - 静态代码分析工具(二)

简介: 配置Android项目 - 静态代码分析工具(二)

PMD



PMD是一个源代码分析器。它发现常见的编程缺陷,如未使用的变量,空catch块,不必要的对象创建等等。


配置

要添加pmd到你的android项目那么需要创建script-pmd.gradle文件。

apply plugin:'pmd
task pmd(type: Pmd){
    ruleSetFiles.files("$project.rootDir/tools/rules-pmd.xml")
    source·fileTree('src/main/java/')
reports (
   xml.enabled=false
   html.enabled=true
   html.destination="$project.buildDir/outputs/pmd/pmd.html"

重要的pmd选项:

  • ruleSetFiles —pmd规则集文件的路径,你可以在其中压制问题并定义要跟踪的问题。
  • source —源代码的路径
  • html.destination —html报告生成的路径

将脚本script-pmd.gradle导入到build.gradle文件。

apply plugin:'com.android.application'
apply from:"$project.rootDir/tools/script-pmd.gradle"

测试

为了测试,我们将创建以下方法。

//MainActivity.java
...
private void someMethod(int a, int b, int c, int d) {
   if(a>b){
     if(b>c){
        if(c>d){
          if(d>a){
//some 1ogic

重新构建你的项目,然后使用./gradlew pmd命令运行pmd。如果它发现一些问题,你会看到类似下面的输出。


微信图片_20220514120849.png

当你打开pmd.html报告文件,你将看到问题列表与说明和如何解决它们的建议。


微信图片_20220514120853.jpg

如果你想忽略此问题,请将以下规则添加到rules-pmd.xml文件中。


<?xml version="1.e"?>
<ruleset xmlns:xsi-"http://www.w3.org/2001/XMLSchema-instance" 
xmlns-"http://pmd. sourceforge .net/ruleset/2.0.0'
xsiischemalocation-"http://pmd. sourceforge .net/ruleset/2.e.e http://pmd. sourceforge . net/ruleset
<rule ref="rulesets/java/basic.xml" />
crule ref="rulesets/java/braces.xml" />
<rule ref="rulesets/java/strings.xml" />
<rule ref=" rulesets/java/design.xml" >
  <exclude name="AvoidDeeplyNestedIfStmts"/>
  </rule>
  <rule ref-" rulesets/java/unusedcode.xml" />
</ruleset>

注意:还有其他方法压制pmd警告。有关pmd的更多信息,请访问官方网站。

相关文章
|
29天前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
97 1
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
83 2
|
1月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
118 0
安卓项目:app注册/登录界面设计
|
4天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
22 5
|
13天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
29 2
|
2月前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习
|
1月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
1月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
60 0
玩转安卓之配置gradle-8.2.1
|
6天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。