Bitrise CLI本地运行workflow报unsupported protocol scheme错误如何解决?
问题根因
sign-apk@1步骤默认会将BITRISEIO_ANDROID_KEYSTORE_URL变量值作为远程下载地址发起HTTP/HTTPS请求拉取密钥库文件,你本地配置的是本地文件相对路径,没有HTTP/HTTPS协议头,触发了协议不支持的报错。
解决方法(二选一即可)
方案1:修改sign-apk步骤配置,直接使用本地密钥库
调整bitrise.yml中sign-apk@1的输入参数,关闭远程下载逻辑,直接指定本地密钥库路径:
- sign-apk@1: inputs: - use_apk_signer: "true" # 新增以下4行配置 - keystore_path: ./android/app/my-upload-key.keystore - keystore_password: $BITRISEIO_ANDROID_KEYSTORE_PASSWORD - keystore_alias: $BITRISEIO_ANDROID_KEYSTORE_ALIAS - private_key_password: $BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD
修改后直接运行bitrise run deploy-android即可。如果后续需要把配置同步回Bitrise云端,记得还原这部分修改,避免影响云端运行。
方案2:给本地密钥库路径添加file协议头
修改.bitrise.secrets.yml中的BITRISEIO_ANDROID_KEYSTORE_URL值,替换为带file://协议的绝对路径:
envs: - BITRISEIO_ANDROID_KEYSTORE_URL: file:///你的项目完整绝对路径/android/app/my-upload-key.keystore # 其余配置保持不变
注意这里必须用绝对路径,相对路径搭配file协议可能出现识别异常。
验证排查步骤
- 先确认
android/app/my-upload-key.keystore文件真实存在,当前运行用户有该文件的读取权限 - 运行workflow前可执行
bitrise env list命令,确认所有密钥环境变量都被正确加载 - 可临时注释掉
sign-apk和后续的部署步骤,先验证前面的构建流程是否正常,缩小问题范围
内容的提问来源于stack exchange,提问作者Oliver D
相关产品推荐
相关产品推荐

