我已经创建了自定义的 android Lint 检查规则,当我从命令行运行它时它运行良好,但 Android Studio 在使用“检查代码”检查它时不采用该规则。我在 android 的检查配置文件中选择了所有的 Lint 规则工作室。
我做的是
- 使用自定义 lint 检查规则创建 JAR
- 将 jar 放入 ~/.android/lint
当我从命令行运行 lint 检查时,它正常工作。 像下面的输出显示它检查规则。
lint OpenGLLearning
Scanning OpenGLLearning: ...............................
Scanning OpenGLLearning (Phase 2): ....
res/layout/activity_opengl.xml:8: Error: Edit Text ID Must be starting with et [etName]
<EditText
^
这里的 etName 是我创建的自定义 lint 规则的问题 ID。 但 Android Studio 不会在任何地方列出“etName”规则,并且在使用检查代码检查 lint 时不会显示错误。
当我运行时
./gradlew check
它会根据规则进行检查。当我在终端上运行 lint --list 命令时,自定义规则也会出现,但无法弄清楚为什么它没有被 Android Studio 中的 Inspect Code 检查。
我正在使用构建工具 21.0.2 和目标版本 21
最佳答案
我通过将 jar 模块添加到项目中并在 app.gradle 中明确指定 lint 依赖关系解决了这个问题
lintChecks project(':your_module_name')
关于java - 自定义 Lint 规则未在 eclipse/android studio 中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603621/