- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 gradle 的 Android 项目。虽然 gradle 插件是 2.x.x,但运行 ./gradlew lint
的时间大约为 4 分钟。我已经将项目升级到 gradle plugin 3.0.1,现在时间大约是 24 分钟。我有四种口味和两种变体(调试和发布)。有趣的是,当我尝试运行 ./gradlew lint[Flavor][Variant]
时,8 种组合中的每一种都需要大约 30 秒。
为什么为每种风格和变体单独运行 lint 需要合理的时间,而为所有风格和变体运行一个命令需要 20 多分钟?有什么不同?为什么 lint 使用 gradle 插件 2.x.x 并在升级后变得迟钝?
我尝试使用 --debug
标志运行。 lint 做了一些工作,然后它决定休息很长时间,然后再做一些工作。它几乎在整个构建时间都是空闲的。
我试着用谷歌搜索类似“(gradle) lint stuck|slow”的东西,似乎人们有时会遇到缓慢的 gradle 构建,这可以通过启用离线模式、并行构建、运行守护进程来解决。但这里不是这种情况。
对于 flavor 和变体的每种组合,两种情况下发现的问题数量相同
java.lang.OutOfMemoryError: Java heap space
at com.google.common.io.ByteStreams.createBuffer(ByteStreams.java:56)
at com.google.common.io.ByteStreams.copy(ByteStreams.java:103)
at com.google.common.io.ByteStreams.toByteArray(ByteStreams.java:166)
at com.android.tools.lint.client.api.ClassEntry.addEntries(ClassEntry.java:195)
at com.android.tools.lint.client.api.ClassEntry.fromClassPath(ClassEntry.java:120)
at com.android.tools.lint.client.api.LintClient.createSuperClassMap(LintClient.kt:1001)
at com.android.tools.lint.detector.api.Project.getSuperClassMap(Project.java:1471)
at com.android.tools.lint.client.api.LintClient.getSuperClass(LintClient.kt:968)
at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.getSuperClass(LintDriver.kt:2186)
at com.android.tools.lint.client.api.LintDriver.getSuperClass(LintDriver.kt:1141)
at com.android.tools.lint.checks.InvalidPackageDetector.checkClass(InvalidPackageDetector.java:173)
at com.android.tools.lint.client.api.AsmVisitor.runClassDetectors(AsmVisitor.java:151)
at com.android.tools.lint.client.api.LintDriver.runClassDetectors(LintDriver.kt:1325)
at com.android.tools.lint.client.api.LintDriver.checkClasses(LintDriver.kt:1210)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.kt:1037)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.kt:882)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.kt:385)
at com.android.tools.lint.LintCliClient.run(LintCliClient.java:155)
at com.android.build.gradle.internal.LintGradleClient.run(LintGradleClient.java:197)
at com.android.build.gradle.tasks.LintBaseTask.runLint(LintBaseTask.java:198)
at com.android.build.gradle.tasks.LintGlobalTask.lintAllVariants(LintGlobalTask.java:91)
at com.android.build.gradle.tasks.LintGlobalTask.lint(LintGlobalTask.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:141)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:731)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:705)
这是在 ./gradlew lint
完成之前打印的内容。可能它会进行一些递归 20 分钟,当它用完内存时会给出结果,几分钟后我也会看到一些闪烁,就像结果已经准备好,但任务又继续了 20 分钟,异常终止了它。
1 Câu trả lời
Bạn có thể sử dụngdry-run 看看有什么不同,只需将-tôi 作为您的gradle 命令的参数
./gradlew lint[Flavor][Variant] -m
./gradlew lint -m
现在您可以比较这两个命令的结果,您可以了解所有 gradle 任务正在执行什么。
此外,为了识别哪个任务花费了最多的时间, bạn có thể sử dụng--profile
./gradlew lint[Flavor][Variant] --profile
./gradlew lint --profile
关于android - 运行 lint[Flavor][Variant] 和只运行 lint 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48210210/
PHPLint、JSLint,我最近在阅读一些IDE. 那么,什么是“linting”? 最佳答案 Linting 是运行程序的过程,该程序将分析代码是否存在潜在错误。 参见lint在维基百科上: l
Elixir是否有 Lint (如Javascript)可以检查每个函数是否具有类型规范? 最佳答案 有一个Erlang编译器开关+warn_missing_spec可以做到这一点,但是目前我无法使其
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
例如,我让它在 .rb 和 .js 文件上匹配。 例如**/*.{js,rb} 并且还想在 Gemfile 和 Rakefile 上进行匹配。 最佳答案 解决方案是递归地使用 {},例如 "lin
我有一个自述文件,其中包含文件夹的文档、包含的库以及如何使用它们。 自述文件不是任何库的一部分,因此 nx-lint 会引发此错误: NX ERROR The following file(s
我的 React Native 构建突然失败并出现错误,尽管一天前工作得很好,没有任何相关的更改。 FAILURE: Build failed with an exception. * What we
我有一个 lint-gradle-api.jar 错误,我在论坛上查看了其他类似的问题,但我仍然有问题。有人有想法吗? Error running Gradle: Exit code 1 from:
我已经将 Android Studio 更新到 3.2.1,现在停止了这样的问题:找不到 lint-gradle-api.jar (com.android.tools.lint:lint-gradle
我目前正在从 tslint 迁移到 eslint。我在我的 .eslintignore 中配置了几个文件夹,我想从 linting 中完全忽略它们。这确实有效,但现在我收到错误: “无效的 lint
Q (tldr;): 我如何使用 android-lint 中的 JavaScanner 检查特定函数调用是否具有特定作为参数的字符串已被 try/catch block 包围。 详细信息:我已经完成
我有一个在 Cocoapods 上发布的库。 当我运行pod lib lint时从包含 MyProject.podspec 的目录中,命令行挂起 $ pod lib lint -> MyProject
我正在尝试使用 Android lint 来检查有关我的项目的一些事情。它似乎忽略了我提供的 lint.xml 文件,使我无法启用检查。 我在 Ubuntu 14.04 上使用 Android Stu
我正在使用工具栏附带的 CodeMirror 设计一个应用程序。由于性能原因,我没有通过异步或异步模式执行 lint。 我在工具栏中提供了一个图标,单击它我正在解析和构建错误。但是我对如何在编辑器中更
使用 ./gradlew lintDebug 生成 Android lint 报告时,报告中不包括 javac lint 错误,例如弃用或未经检查的转换。 我目前只是在编译时启用这些 javac 选项
默认情况下,在 gradle 中为发布构建启用了 lint。没有 abortOnError false 此选项会中止构建。 我的发布构建成功执行(没有 lint 警告),但是当我通过 gradle 调
我有一个使用 Android 构建工具版本 1.3.1 的 gradle Android 构建,并对我的代码运行 lint 检查。运行 Sonar 任务(由 org.sonarqube gradle
只是想知道是否有人可以帮助我进行 Gulp 设置。目前我正在使用 gulp-sass 和 gulp-scss-lint 进行监视任务。我想要发生的是,当为 linting 任务完全运行保存一个 scs
我正在做一个项目,最近更新到 android Gradle 构建工具 3.0.0 (com.android.tools.build:gradle:3.0.0)。我现在在通过 Android studi
我有一个带有 gradle 的 Android 项目。虽然 gradle 插件是 2.x.x,但运行 ./gradlew lint 的时间大约为 4 分钟。我已经将项目升级到 gradle plugi
事情是这样的。我有一个与 API 15 及更高版本兼容的应用程序,但由于它非常大并且我已经达到 65k 方法限制,我不得不将它设为 MultiDexApplication 类的后代。这会稍微减慢构建时
Tôi là một lập trình viên xuất sắc, rất giỏi!