当前位置: 首页 > 知识库问答 >
问题:

调试分级任务compileReleaseJavaWithJavac

罗安宁
2023-03-14

我正在编写一个自定义的gradle插件,它生成代码并注入一些新的gradle任务。我当前的问题是,在Gradlew Check上,CompileReleaseJavaWithJavaCCompileDebugJavaWithJavaC任务失败。

:examples:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/the/full/path/to/file/MainActivity.java:10: error: package R does not exist
        setContentView(R.layout.activity_main);
                        ^
1 error

在您说but hey之前,R文件不是生成的:它是生成的。我在文件系统中看到了文件。

当我在mac上禁用并行任务时,我玩得更多了,它的编译也很好。然而,在特拉维斯身上,它还是失败了。

共有1个答案

岳茂
2023-03-14

更新得响应:

目前我只知道:

  • 这不是Travis-ci问题,因为我在linux机器上本地复制了它。
  • 它与R包无关,它是默认包,不需要导入。
  • 这与appcompat错误无关,任何随机更改都会成功生成。
  • 似乎与增量生成有关,请查看以下内容,并尝试将其设置为false。
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':examples:app:compileReleaseJavaWithJavac'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
...
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)

也许这个警告、Java8或注释是相关的。我希望这对我有帮助,我离开是因为我所做的任何更改都会使构建成功,而且很难理解真正的问题。

我这样配置Java8用法:

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

以前的响应:

import your.package.R;
COMPILE-Error: package android.support.v7.app does not exist
compile "com.android.support:appcompat-v7:25.0.0"
compile "com.android.support:appcompat-v7:${project.supportLibVersion}"

真的,我不确定,现在它总是在没有建议的改变的情况下工作。

也许,这是真的,它是关于并行期权问题和工作在第二次运行,但我们接近。

 类似资料:
  • 我在以可管理的方式组织构建时遇到了问题。在我的gradle构建中有大量的任务,因为对于每个特定的工作元素,gradle都需要一个这种类型的任务。例如:复制一个文件分级需要复制任务类型,压缩一个文件分级需要压缩任务类型,删除几个文件分级需要删除任务类型。Javadoc、Jar、Ear等也需要它们的任务类型。最终,build有大量的任务,要以特定的顺序运行所有这些任务,我必须使用 将这些规则应用于所有

  • 我有一个与Kotlin的Gradle项目,有3个源代码文件夹(main,test,integration)。我想为单元和集成测试设置不同的分级测试任务。测试和集成文件夹的用途。我尝试了几种解决方案来设置集成测试任务,但到目前为止都没有工作。到处都提到我需要为集成创建一个不同的源集,添加一些配置以便能够正确地编译该文件夹中的代码,并设置任务本身。都做完了,但当我做测试的时候,他们失败了。然后,报告说

  • 我正在做一个需要调用其他任务的任务。 我尝试通过添加build.dependson clean来修复原始目标,但这似乎没有影响。 感谢任何帮助。

  • 我用facebook SDK4.20.0构建了我的android应用程序。当我构建项目时,它在运行到任务中时抛出了zipException Build.Gradle如下: zipInputStream(Android API27)的代码片段: 并且stacktrace显示异常是由以下原因引起的

  • 我有个任务,大概是: 我尝试了所有的方法,但仍然出现错误:/

  • 嗨,我有多项目分级设置 所有的工作都很好,但有一件事让我抓狂。在生成脚本中: 当我从命令行“gradlew”调用时<-默认任务将被执行 当我从命令行“gradlew tasks”<-task“All task runnable from root project”下调用时,我看到“build” 但当我尝试添加dependsOn('build')、dependsOn(':build')或depend