当前位置: 首页 > 工具软件 > lockfile-lint > 使用案例 >

android studio lint,Android Studio Lint 工具

范承望
2023-12-01

Android Studio 报错信息

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':plugin_common:lint'.

> Lint found errors in the project; aborting build.

Fix the issues identified by lint, or add the following to your build script to proceed with errors:

...

android {

lintOptions {

abortOnError false

}

}

...

The first 3 errors (out of 98) were:

/Users/fengxing/picc/PiccIM/plugin_common/src/main/res/layout-sw550dp-large/umeng_socialize_oauth_dialog.xml:26: Error: Corresponding method handler 'public void onCancel(android.view.View)' not found [OnClick]

android:onClick="onCancel"

~~~~~~~~~~~~~~~~~~~~~~~~~~

/Users/fengxing/picc/PiccIM/plugin_common/src/main/java/com/im/picc/plugin/common/common/utils/DemoUtils.java:351: Error: Missing permissions required by Vibrator.vibrate: android.permission.VIBRATE [MissingPermission]

vibrator.vibrate(pattern, 0);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/Users/fengxing/picc/PiccIM/plugin_common/src/main/java/com/im/picc/plugin/common/common/utils/DemoUtils.java:361: Error: Missing permissions required by Vibrator.cancel: android.permission.VIBRATE [MissingPermission]

vibrator.cancel();

~~~~~~~~~~~~~~~~~

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

解决办法

android {

...

lintOptions {

abortOnError false

}

...

}

什么是Lint

官网介绍

官方网站介绍以及使用

Lint是一个工具,可以帮助查找代码中的潜在错误,以及检查代码样式等。

除了测试 Android 应用以确保其符合功能要求外,还必须确保代码不存在结构问题。结构混乱的代码会影响 Android 应用的可靠性和效率,增大维护代码的难度。例如,如果 XML 资源文件包含未使用的命名空间,则不仅占用空间,还会导致不必要的处理。其他结构问题,例如使用目标 API 版本不支持的已弃用的元素或 API 调用等,可能导致代码无法正常运行。

可以在gradle中启用或禁用它。如果已启用,则会在发现某些较大问题时中止应用程序构建。 “abortOnError”标志允许忽略此错误并继续构建应用程序。

但是,它被标记为错误是有原因的,所以通常不建议忽略它们,特别是对于生产版本。

如何配置lint

android {

lintOptions {

// true--关闭lint报告的分析进度

quiet true

// true--错误发生后停止gradle构建

abortOnError false

// true--只报告error

ignoreWarnings true

// true--忽略有错误的文件的全/绝对路径(默认是true)

//absolutePaths true

// true--检查所有问题点,包含其他默认关闭项

checkAllWarnings true

// true--所有warning当做error

warningsAsErrors true

// 关闭指定问题检查

disable 'TypographyFractions','TypographyQuotes'

// 打开指定问题检查

enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'

// 仅检查指定问题

check 'NewApi', 'InlinedApi'

// true--error输出文件不包含源码行号

noLines true

// true--显示错误的所有发生位置,不截取

showAll true

// 回退lint设置(默认规则)

lintConfig file("default-lint.xml")

// true--生成txt格式报告(默认false)

textReport true

// 重定向输出;可以是文件或'stdout'

textOutput 'stdout'

// true--生成XML格式报告

xmlReport false

// 指定xml报告文档(默认lint-results.xml)

xmlOutput file("lint-report.xml")

// true--生成HTML报告(带问题解释,源码位置,等)

htmlReport true

// html报告可选路径(构建器默认是lint-results.html )

htmlOutput file("lint-report.html")

// true--所有正式版构建执行规则生成崩溃的lint检查,如果有崩溃问题将停止构建

checkReleaseBuilds true

// 在发布版本编译时检查(即使不包含lint目标),指定问题的规则生成崩溃

fatal 'NewApi', 'InlineApi'

// 指定问题的规则生成错误

error 'Wakelock', 'TextViewEdits'

// 指定问题的规则生成警告

warning 'ResourceAsColor'

// 忽略指定问题的规则(同关闭检查)

ignore 'TypographyQuotes'

}

}

 类似资料: