【问题标题】:CordovaError: Failed to find 'ANDROID_HOME' environment variableCordovaError:找不到“ANDROID_HOME”环境变量
【发布时间】:2018-08-08 08:48:57
【问题描述】:

我在bash_profile 中将$ANDROID_HOME$PATH 设置为我的jenkins 用户(在我的情况下是管理员用户),我可以看到env var 在我这样做时获取值

echo $ANDROID_HOME 
echo $PATH

但是当我这样做时

sudo cordova build android

它给了我错误

CordovaError: 未能找到“ANDROID_HOME”环境变量。请尝试手动设置。尝试更新您的“路径”

知道为什么以及如何解决它吗?

【问题讨论】:

    标签: android linux jenkins build automation


    【解决方案1】:

    当您使用sudo 运行命令时,该命令不会从父(非特权)shell 继承环境变量。出于安全原因。

    解决方案:

    • 使用sudo bash 启动root shell。然后设置环境变量并在 root shell 中运行构建命令。

    • 使用sudo -E ...sudo --preserve-env=...,但请阅读手册条目,因为这样做有风险。

    • 不要尝试以 root 身份运行 cordova。 (你为什么这样做?这似乎有风险。你能确定你的构建没有错误,如果以 root 身份运行可能会损坏你的系统吗?你能相信构建“脚本”的来源吗?)

    【讨论】:

    • 感谢您的回复。我的问题已通过添加以下命令得到解决。 sudo ANDROID_HOME="/home/opc/androidsdk" PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH" PATH="$PATH:/home/opc/gradle/gradle/gradle-3.4.1/ bin" cordova build android --release --nofetch >>> 在我的 jenkins 配置门户中
    猜你喜欢
    • 2016-07-11
    • 2020-07-04
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多