相关疑难解决方法(0)

如何从多项目目录的顶层禁用Android Gradle Plugin中的lint abortOnError

我有一个顶级的Android Gradle项目.在这个项目下面嵌套了多个子项目(有时它们是2级深),即:

top level project
   |
project1

vendor libraries
      |
     lib1

     lib2
Run Code Online (Sandbox Code Playgroud)

lint正在中止我在某些库项目中的构建.我可以编辑每个单独的库项目build.gradle以解决问题

android {
   lintOptions {
      abortOnError false
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,我更喜欢顶级build.gradle脚本中的以下代码:

subprojects {

    afterEvaluate {
        if (getPlugins().hasPlugin('android') ||
            getPlugins().hasPlugin('android-library')) {

            println name // for debugging

            android {
                lintOptions {
                    abortOnError false
                }
            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

条件语句确保只挂钩到带有android插件的项目中.我只能使用afterEvaluate来使用它.但是,我的构建仍然在lint错误上失败.

有没有人有一个干净的解决方案从顶层注入这些设置?

更新:

重新排列子项目并在ifEvaluate或使用allprojects后仍然会出现以下类型的错误:

7: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':3rdparty:OrmLiteQueryBuilder:lint'.
> [Ljava/util/HashMap$Entry;

* Try:    
Run with --stacktrace option to …
Run Code Online (Sandbox Code Playgroud)

android gradle build.gradle android-gradle-plugin

12
推荐指数
1
解决办法
1万
查看次数

app:processDebugResources - IllegalArgumentException(无错误消息)

构建 Gradle 时,我收到此错误消息:

Error:00:29:02.408 [ERROR]   [org.gradle.internal.buildevents.BuildExceptionReporter] 
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
 00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':app:processDebugResources'.
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > java.lang.IllegalArgumentException (no error message)
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugResources'.
00:29:02.408 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)
00:29:02.409 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
00:29:02.409 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
00:29:02.409 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
00:29:02.409 …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

5
推荐指数
1
解决办法
3320
查看次数