【发布时间】:2020-12-12 19:02:23
【问题描述】:
我已经配置了 2 种产品风格,根据特定产品风格定制的文件很少,主要是常用文件。 我可以使用命令行和 Android Studio 构建项目。当我使用 Jenkins 构建项目时,它会报告编译错误并期望产品风味特定文件出现在 main.js 文件中。 为什么会有这种不同的行为?细化以下问题:
src/flavorA/java/MyFragment
src/flavorB/java/MyFragment
src/main/java/MainActivity
gradlew clean build, this is building fine with command line and Android Studio
While Jenkin reports error as
> Task :test-apps:compileClientAppDebugJavaWithJavac FAILED
/opt/jenkins_home/workspace/A-9807/app/src/main/java/com/example/sampleapp/HomePagerAdapter.java:8 error: cannot find symbol
import com.example.sampleapp.MyFragment;
【问题讨论】:
-
让 Jenkins 使用 Gradle 包装器构建;那么它应该始终使用“相同”的版本。
-
我刚刚检查过 Jenkins 已经在使用“gradlew clean build”,我想这是使用 Gradle 包装器。那么不可能是Gradle版本问题。
-
最后,我找到了根本原因,我的 Jenkins 机器是 Linux 机器,Linux 中的文件系统区分大小写。虽然我的本地机器有 Windows,但我已经在 camelCase 中定义了产品风格,而实际上在 PascalCase 中为风格创建了目录。
标签: android jenkins gradle build.gradle