gpt4 book ai didi

android - 在 Android 项目中读取 Jenkins 环境变量?为自动构建签署 APK

转载 作者:行者123 更新时间:2023-11-29 19:34:32 27 4
gpt4 key购买 nike

我以为我会通过搜索找到答案,但没有运气。我计划在我的 Jenkins 服务器上通过 faSTLane 自动化我的构建过程并将构建上传到 Crashlytics BetaCrashlytics beta 需要签名的 APKS,但我当然不想将我的 keystore 和密码直接添加到我的 build.gradle 文件中,并且然后进入版本控制。

我被指向了 Jenkins 环境变量的方向。这是我的 Android 项目中的内容:

signingConfigs {
release {
storeFile file(ANDROID_KEYSTORE)
storePassword ANDROID_STORE_PASSWORD
keyAlias ANDROID_KEY_ALIAS
keyPassword ANDROID_STORE_PASSWORD
}
}

然后在我的 gradle.properties 文件中有以下内容:

ANDROID_KEYSTORE=$ANDROID_KEYSTORE
ANDROID_STORE_PASSWORD=$ANDROID_STORE_PASSWORD
ANDROID_KEY_ALIAS=$ANDROID_KEY_ALIAS

当我尝试通过 faSTLanejenkins 上构建我的项目时,出现以下错误:

* What went wrong:
Execution failed for task ':app:validateReleaseSigning'.
> Keystore file /Users/macmini/.jenkins/workspace/AndroidProject/app/$ANDROID_KEYSTORE not found for signing config 'release'.

另一件事,我在终端中有 env,它向我显示了所有系统环境变量,我定义的变量不在那里,所以我不完全确定 Jenkins 把它们放在哪里。我需要直接路径吗?那会是什么?

感谢任何帮助,谢谢!

最佳答案

这里是来自 Fabric 和 FaSTLane 的 Mike。

我不相信这个:

ANDROID_KEYSTORE=$ANDROID_KEYSTORE
ANDROID_STORE_PASSWORD=$ANDROID_STORE_PASSWORD
ANDROID_KEY_ALIAS=$ANDROID_KEY_ALIAS

将按照您希望的方式工作。如果您已经使用所需的值设置了环境变量,则可以在 build.gradle 中使用 String.valueOf(System.env.ANDROID_KEYSTORE) 等并跳过将任何其他内容放入 gradle.properties

关于android - 在 Android 项目中读取 Jenkins 环境变量?为自动构建签署 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com