【问题标题】:Difference between running lint via Android Studio menu and gradlew command-line通过 Android Studio 菜单和 gradlew 命令行运行 lint 的区别
【发布时间】:2014-09-13 21:09:46
【问题描述】:

当我在命令行上运行以下命令时:

./gradlew -lint

我得到的结果与我在 Android Studio 中选择以下菜单选项不同。

Analyze->Inspect Code...

谁能解释一下?这是正常的吗?一个谨慎的开发人员是否应该同时运行这两种方法来发现他/她的项目的所有潜在问题?

【问题讨论】:

  • 哪种类型的 lint 警告/错误会得到另一种不会? Studio 有一些自己的 lint 检查(例如拼写检查),但它们并不总是直接转化为代码质量差的迹象。

标签: android gradle android-studio lint gradlew


【解决方案1】:

如果您的项目包含构建变体,而您希望仅为特定构建变体运行 lint 任务,则必须将变体名称大写并在其前面加上 lint。

gradlew lintDebug

To learn more about running Gradle tasks from the command line, [read Build Your App from the Command Line.][1]

https://developer.android.com/studio/build/building-cmdline

【讨论】:

    【解决方案2】:

    您正在运行两种不同的工具。命令:

    $ ./gradlew lint
    

    运行 Android SDK 附带的 lint 工具和菜单选项

    Analyze->Inspect Code...
    

    在 Android Studio 中是从 JetBrains IntelliJ IDEA 继承的功能,它运行:

    <android studio path>/bin/inspect.sh
    

    【讨论】:

    • 是的,我看到它们是不同的工具,但是运行它们之后有什么区别?
    【解决方案3】:

    在 Android Studio 中,您可以通过 Preferences > Inspections 自定义运行哪些检查;您可能禁用了一些 Lint 检查,并且默认情况下并非全部运行。 Android Studio 还可以运行大量非 Lint 检查。

    【讨论】:

    • 是的,但是当在命令行上调用 gradlew 时,这会如何影响 lint 检查的运行?
    • 它不会影响从命令行运行的内容,但它可以解释这两种环境之间的差异——当您从 Android Studio 运行时,可能会关闭一些检查,并且会出现命令行看不到的一些特定于 IDE 的检查
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多