声纳:为Android Lint创建新规则

弗雷彭

我正在使用SonarQube 5.1来收集Android应用程序的所有JavaLint错误

Sonar已使用Lint插件捕获了几乎所有重要问题,但我发现至少不包括一个问题:

<issue
    id="GradleOverrides"
    severity="Warning"
    message="This `minSdkVersion` value (`14`) is not used; it is always overridden by the value specified in the Gradle build script (`15`)"
    category="Correctness"
    priority="4"
    summary="Value overridden by Gradle build script"
    explanation="The value of (for example) `minSdkVersion` is only used if it is not specified in the `build.gradle` build scripts. When specified in the Gradle build scripts, the manifest value is ignored and can be misleading, so should be removed to avoid ambiguity."
    errorLine1="    &lt;uses-sdk android:minSdkVersion=&quot;14&quot; />"
    errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~">
    <location
        file="C:\Code\Android\TestApp\app\src\main\AndroidManifest.xml"
        line="5"
        column="15"/>
</issue>

此问题与AndroidManifest.xml(设置AndroidminSdkVersion属性的旧方法)和build.gradle(设置minSdkVersion元素的当前方法)有关。

我已经阅读了有关在Sonar中创建新规则文档,但是我仍然感到困惑。我已经下载了XMLSSLR,并执行它来查找XPath字符串。

我的XML文件是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.juanacaja.testapp" >

    <uses-sdk android:minSdkVersion="14" />

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

...而要查找minSdkVersion元素的XPath是:

//manifest/uses-sdk/@android:minSdkVersion

我不确定现在该怎么办。此外,SonarQube 5.1 Web界面已更改,我看不到如何将XPath字符串添加到新规则。

任何帮助将不胜感激!

弗雷彭

偶然我发现了如何做到这一点。脚步:

  1. 具有足够权限的管理员或其他用户身份登录
  2. 查找XPath规则以获取语言(在这种情况下为XML)。
  3. “自定义规则”文本旁边的创建按钮,然后填写表格。

不要忘记在您的个人资料中激活此自定义规则。

PS:恕我直言,潜在的问题是文档未更新,并且由于CodeHaus终止,目前绝大多数URL已损坏在纠正旧的断开链接之前,如果执行自动重定向将非常有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery验证插件。向现有规则添加新规则

来自分类Dev

如何禁用特定文件的声纳规则?

来自分类Dev

如何在声纳中创建新规则

来自分类Dev

重复的声纳检查样式规则

来自分类Dev

如何在声纳中更改鱿鱼规则?

来自分类Dev

声纳质量简档规则导出

来自分类Dev

声纳规则-方法名称太长

来自分类Dev

声纳皮棉插件无法读取lint-results.xml

来自分类Dev

为变量中的模式创建模式规则?

来自分类Dev

CSS对齐DIV到新规则?

来自分类Dev

C#为SCCM 2012创建直接成员身份规则

来自分类Dev

为Java编写自定义声纳规则时如何处理assertionError

来自分类Dev

如何创建评估为AND而不是OR的Gitlab CI规则

来自分类Dev

在Azure中为警报规则创建PowerShell脚本时出错

来自分类Dev

jQuery验证插件。向现有规则添加新规则

来自分类Dev

Makefile-不是文件的最新规则

来自分类Dev

为具有多个tty端口的设备创建UDEV规则

来自分类Dev

如何禁用特定文件的声纳规则?

来自分类Dev

如何更改声纳中的鱿鱼规则?

来自分类Dev

向安全组添加新规则

来自分类Dev

为具有相同规则的所有问题更改声纳问题的严重性

来自分类Dev

SonarQube如何创建配置文件并向其中导入新规则

来自分类Dev

为Java编写自定义声纳规则时如何处理assertionError

来自分类Dev

无法在声纳中创建项目

来自分类Dev

未找到 ID 为“声纳”的插件?

来自分类Dev

声纳Qube。为 Java 创建自定义规则

来自分类Dev

服务器启动后,SonarQube 插件创建新规则

来自分类Dev

声纳 Lint Eclipse 问题

来自分类Dev

SonarQube Android-Lint 存储库不包含所有 android-lint 官方规则?

Related 相关文章

热门标签

归档