Android源代码仓库GPG公钥未找到。

14

我正在运行Linux Mint 14,尝试下载Android源代码。我按照设置环境的说明进行操作,但在使用repo获取源代码时,出现了以下错误。

...
 * [new tag]         v1.9.4     -> v1.9.4
 * [new tag]         v1.9.5     -> v1.9.5
 * [new tag]         v1.9.6     -> v1.9.6

object e76efdd7b342577c40aa271fa5ded9d66a783a9b
type commit
tag v1.12.4
tagger Conley Owens <cco3@android.com> 1380645867 -0700

repo 1.12.4

gpg: Signature made Tue 01 Oct 2013 09:44:27 AM PDT using RSA key ID 692B382C
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.12.4'

我尝试过按照指示导入公钥,生成自己的GPG密钥,以及在~/.gnupg和~/.repoconfig/gnupg两个目录之间建立符号链接,但仍然遇到相同的错误。我还尝试删除了~/.repoconfig和~/.gnupg,但仍然没有成功。
如有帮助将不胜感激。

我遇到了同样的问题。尝试了很多不同的解决方案,比如删除repoconfig目录、导入密钥、git tag -v 1.12.4等等。我无法理解。 - Marijn
4个回答

28

我在这里找到了解决方案: http://www.marshut.com/wrrts/repo-release-1-12-4.html

抱歉,我今天意识到我们没有上传最新版本的启动器。我会更新文档。同时,请使用以下方法:

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo

sha1 e197cb48ff4ddda4d11f23940d316e323b29671c

如果验证错误仍然存在,您可以删除(或移动)~/.repoconfig目录,以确保导入新的公钥。

对于给大家带来的麻烦,非常抱歉!


看起来1.12.4仓库只是几个小时前发布的。 - Marijn
我也赞同这个。我用这个替换了已安装的版本(和B2G版本),现在一切都恢复正常了。 - Jostein Kjønigsen

1
请检查~/bin和~/bin/repo的所有权。
如果所有者与您的登录用户不同(例如root:root),则可能会出现上述错误。
问候, DS Son

0

以下解决方案对我有效。首先删除您使用bin目录安装的存储库。

rm -rf ~/bin

然后使用以下命令删除配置文件。

rm -rf .repoconfig/ rm -rf .gnupg/(如果存在)

然后使用以下命令安装 Repo。
sudo apt-get install repo

然后运行以下命令来安装签名。

repo init

这将下载所需的签名。

就是这样,运行 repo init -u <清单 URL> -b <版本发布> -m <清单文件>...

repo sync 它会开始同步。

在 Ubuntu 版本上进行实验:18.04


0

使用curl更新repo实用程序对我来说没有解决这个问题。最终我做了以下操作:

$sudo apt-get install repo
$rm -rf ~/.repoconfig
$gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 692B382C

以上命令将repo实用程序安装到/usr/bin/repo,删除您的.repoconfig文件,然后安装缺失的密钥。

如果您的repo init命令失败一次,您还应该在再次运行repo init之前删除.repo文件夹。

然后,使用/usr/bin/repo代替仅使用repo运行您的repo init命令。当您进行repo init时,它可能会使用位于~/bin/repo而不是/usr/bin/repo的repo版本。例如,我按照以下方式运行编辑后的命令,所有内容都正常工作:

$/usr/bin/repo init -u https://source.codeaurora.org/quic/le/le/manifest.git -b [branch] -m [manifest]

解决方案是使用不同版本的repo。在我的情况下,apt-get的那个可以工作,但是谷歌链接的那个不行。这是在Ubuntu 16上运行的。

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