我们如何configurationAndroid Studio在每个构build上运行Lint?
曾几何时,特别是在Eclipse-land中,Lint会在每一个版本上运行,所以如果你失败了Lint检查,你会立即发现。 使用Android Studio(在1.3上testing),Lint不会在构build中默认运行。 新来者可能会犯Lint会检查的错误,但由于Lint并没有真正运行,所以新来的人不会了解它们。
(IOW,如果Linttesting没有在森林中运行,那么是否有Linttesting?)
这个博客文章的评论显示如何有点让林特作为一个生成的一部分运行:
- 编辑项目configuration
- 在configuration的“常规”选项卡中,向下滚动并折叠“启动之前”面板
- 在该面板中,为模块添加一个名为
lint
“Run Gradle Task”
但是,这会运行命令行Lint,导致使用XML和HTML将报告写入硬盘。 这是有效的,但是让Android Studio运行它的IDE-Lint检查会更清晰,所以结果显示在一个IDE面板中。
有没有办法设置一个项目构build执行in-IDE的Lint检查?
奖励分数,如果它可以设置为只运行Lint,而不是分析>检查代码完成的全部分析。 虽然全面的分析偶尔是有用的,但是Lint已经够慢了,更不用说Android Studio执行的可疑有用的其他分析(例如拼写检查)。
虽然设置这个对于所有项目来说都不是一个好的计划(Lint扫描很慢),但对于Android的新手来说,这可能是一个合适的举措。
Lint应该在Android Studio中运行,除非通过build.gradle文件中的lintOptions将其configuration为closures。
这里是来自http://developer.android.com/tools/debugging/improving-w-lint.html#studio的文档;
在Android Studio中,configuration的lint和IDE检查在您构build应用程序时自动运行。 IDE检查configuration与lint检查运行IntelliJ代码检查,以简化代码审查。
注意:要查看和修改检查严重性级别,请使用文件>设置>项目设置菜单打开检查configuration页面,其中列出了支持的检查。
使用Android Studio,您还可以针对特定的构build版本运行lint检查,或者从build.gradle文件运行所有构build版本。 将lintOptions属性添加到构build文件中的android设置。 这个来自Gradle构build文件的代码片段显示了如何将quiet选项设置为true,并将abortOnError选项设置为false。
android { lintOptions { // set to true to turn off analysis progress reporting by lint quiet true // if true, stop the gradle build if errors are found abortOnError false // if true, only report errors ignoreWarnings true } ... }
要在Android Studio中手动运行检查,请从应用程序或右键单击菜单中select分析>检查代码 。 “指定检查范围”对话框出现,您可以指定所需的检查范围和configuration文件。
以下是其他lint选项,您可以将其添加到您的gradle build.gradle文件中的linkOptions: http ://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Lint-support
以下是有关Android lint的更多信息: http : //developer.android.com/tools/help/lint.html
它的用途是,你可以在android studio中的某些操作之后添加gradle任务。
- 打开屏幕右侧的Gradle标签
- select你的任务
- 右键点击任务
- select你的执行行动
这应该在计划执行时运行任务。
为Android Lint创build检测configuration文件
- 进入文件 – >设置 – >编辑/检查
- selectpipe理 – >复制
- 为它命名“Android Lint Profile”并按Enter键
- 在此选项卡上仅保留标记Android Lint规则
现在,您只需通过分析 – >检查代码…select“Android Lintconfiguration文件”,即可使用Android Lint规则运行检查。
在下一步中,让我们用下面的步骤录制macros(编辑 – >macros – >开始macros录制)。
- 分析 – >检查代码…
- select“Android Lintconfiguration文件”
- 按Enter键(使用键盘很重要 ,因为Macrologging器不会在此窗口上捕获鼠标点击)
- 点击“运行所选configuration”(绿色播放button)
停止macros录制,并命名为“Lint and Run”。
最后要做的就是把“Shift + F10”映射到我们的macros。 转到文件 – >设置…->键盘映射。 find我们的macros并改变捷径。
现在, 当您按Shift + F10时, lint将在每次构build之前运行,并且结果将位于Android Studio面板中。
但是这个解决scheme有一个很大的缺点。 如果通过单击“运行”button来运行构build,则不会执行lint分析。
可能是这个信息将是有益的,有人会提供更好的解决scheme,使用它。
一个可能(但很难实现)的解决scheme是写一个IDEA插件来做到这一点。 你可以通过从仓库下载插件或从github的代码来避免这种情况。 下面的代码片断将依次执行“编译”和“检查代码”操作。
public class BuildAndLint extends AnAction { public void actionPerformed(AnActionEvent e) { String[] actions = {"CompileProject", "InspectCode"}; for(String action: actions) { AnAction anAction = ActionManager.getInstance().getAction(action); DataContext context = e.getDataContext(); AnActionEvent anActionEvent = new AnActionEvent(null, context, "", anAction.getTemplatePresentation(), ActionManager.getInstance(), 0); anAction.actionPerformed(anActionEvent); } } }
该代码已经过testing,并在Android Studio 1.3中运行。 它将打开一个窗口,select要检查的内容,而不是做整个事情。
链接
github上的源代码
build立和皮棉jar
- 为什么当它没有连接到电脑时,应用程序正在等待debugging器?
- 覆盖主页button – 如何摆脱select?
- 有没有办法从大规模的图像创buildxxhdpi,xhdpi,hdpi,mdpi和ldpi drawables?
- Android 6.0权限错误
- 如何从Android应用程序连接到多个Firebase数据库
- 如何在用户从AndroidloginGmail后访问令牌?
- 更新到Android构build工具后的IncompatibleClassChangeError 25.1.6 GCM / FCM
- 在Android Studio中进行渲染时,不支持major.minor版本52.0
- Android的Python编程