我使用brew
(macOS)和brew install gnupg gnupg2
安装了gpg --version
,它可以正常使用。我可以使用它,或只是检查gpg
或其他。
MacMini:〜提高$ gpg --version
gpg(GnuPG)2.1.22
libgcrypt 1.8.0
问题是,当我从Android Studio中的gradle任务运行它时,它不再起作用:找不到task decryptSigningProperties(type: Exec) {
commandLine 'gpg', '--passphrase-file', file(project.property("passPhraseFile")), '-o', 'signing.properties', '-d', 'signing.properties.enc'
}
命令。
任务是(实际上没什么特别的):
gpg -o signing.properties -d signing.properties.enc
我在Jenkins构建日志中收到错误:
- 出了什么问题:
时出现问题
任务':app:decryptSigningProperties'的执行失败 启动进程'命令'gpg''
同时,我可以手动完成,导航到特定目录并运行:
gpg
然后,一切正常(它提示我传递并进行解密)。
那么为什么命令feature:install camel-servlet
在任务中无法识别,但我可以从终端运行?有没有人对某种问题有一些经验?
答案 0 :(得分:1)
这听起来像使用Gradle和普通命令行时$PATH
变量不一样。通过运行which gpg
找出GnuPG的安装位置(可能/usr/local/bin/gpg
,因为您正在使用brew
)。在Gradle任务中配置$PATH
变量以包含/usr/local/bin
(或which gpg
确定的路径),或使用完整的绝对路径调用GnuPG。