Android SDK位置未找到。

5

我正在尝试在我的机器上使用Jenkins本地测试和构建我的安卓应用。我使用Linux系统,并通过运行以下命令在docker中启动了Jenkins:

docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins

然后我打开浏览器,从localhost:8080启动Jenkins。初始设置完成后,按以下步骤添加环境变量:

  1. 转到 "管理 Jenkins"
  2. 选择 "配置系统"
  3. 进入 "全局属性"
  4. 选中 "环境变量"
  5. 在其中添加 ANDROID_SDK_ROOTANDROID_HOME 环境变量
  6. 点击 "应用并保存"

这是我电脑上Jenkins的截图: enter image description here

基本上是按照这个答案的步骤操作: https://dev59.com/wOo6XIcBkEYKwwoYGwQZ#29231580

我也在我的 ~/.zshrc 文件里添加了相同的环境变量:

export ANDROID_SDK_ROOT=/home/harry/Android/Sdk/
export ANDROID_HOME=/home/harry/Android/Sdk/

我正在项目配置的构建部分使用 使用 Gradle Wrapper,具体命令如下:

clean
testDebugUnitTes
assembleDebugBuild

在遵循所有这些步骤之后,我的构建仍然失败并显示以下信息:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable
or by setting the sdk.dir path in your project's local properties 
file at '/var/jenkins_home/workspace/MeteorDebugBuild/local.properties'.

我的问题是如何修复这个错误以及为什么即使进行了所有设置,构建仍然失败?

你找到这个问题的解决方案了吗? - Andrey Solera
@Andrey 不,我没有。 - Harry
1个回答

0

我认为Docker容器与Jenkins是隔离的,这意味着容器内没有环境变量ANDROID_SDK_ROOTANDROID_HOME。你需要的是:

docker run -e ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT} -e ANDROID_HOME=${ANDROID_HOME} -p 8080:8080 -p 50000:50000 jenkins/jenkins

我还没有检查它是否有效,但我希望它可以解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接