android - Android 项目 Gitlab-ci.yml JAVA_HOME 未设置
问题描述
我目前正在尝试创建一个自动构建 Android Studio 项目的 .gitlab-ci.yml 文件。我的 GIT 存储库中的文件结构如下所示:
the_app
.gitlab-ci.yml
README.md
我的 .gitlab-ci.yml 看起来像这样:
image: jangrewe/gitlab-ci-android
variables:
ANDROID_COMPILE_SDK: "30"
before_script:
- export GRADLE_USER_HOME=$(pwd)/.gradle
- apt-get update -y && apt-get install wget -y
build:
script:
- cd ./ISSD_application
- chmod +x ./gradlew
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
但现在我收到错误消息:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
用于 Android 项目的 Java 安装在我的计算机上,而不是在 GIT-repo 中。如何正确设置 JAVA_HOME 变量以便可以构建项目?
解决方案
IndeedJAVA_HOME
未在图像中设置,但 java 二进制文件位于/usr/bin/java
.
您可以在部分中以与设置JAVA_HOME
相同的方式进行设置:GRADLE_USER_HOME
before_script
before_script:
- export GRADLE_USER_HOME=$(pwd)/.gradle
- export JAVA_HOME="/usr/bin/java"
- apt-get update -y && apt-get install wget -y
推荐阅读
- html - CSS:居中对齐文本,同时将容器的其他元素保持在左侧
- ios - 我正在尝试 JSON 解码(Swift)
- facebook - 如何查找填写 Facebook Leads 广告表单的人员
- .net - t-sql 'at time zone' 不知道 .net 知道的所有时区
- java - SpringBoot:使用自定义序列化器 + 反序列化器消费和生成 XML
- rust - 如何将引用生存期绑定到函数本地范围
- hyper-v - 找不到用于 HoloLens 2 模拟器的 hyper-v 虚拟机
- moodle-api - 如何在moodle API中配置分配课程的权限?
- javascript - 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“访问控制允许来源”
- sql - TypeORM 中具有关系目标基类的单表继承