无法重新创建丢失的调试密钥库?

Posted

技术标签:

【中文标题】无法重新创建丢失的调试密钥库?【英文标题】:Unable to recreate missing debug keystore? 【发布时间】:2014-02-20 07:35:03 【问题描述】:

我是 android 编程新手,我只是尝试运行我的构建并收到此消息

Execution failed for task ':app:validateDebugSigning'.
> Unable to recreate missing debug keystore.

这是什么意思?我正在使用 Android Studio。

【问题讨论】:

检查您的 /.android 目录。您应该有一个 debug.keystore 或其他一些用于签署构建的密钥。至少,Eclipse 是这样工作的。确保这个目录没有被锁定并且可以被你正在使用的程序访问。 我在 Windows 7 上解决了这个问题,只是在 Windows 7 的变量环境中设置:ANDROID_SDK_HOME 到 C:\Users\guillermo\.android\(其中 guillermo 是我的 Windows 用户名) 另外一定不要写一个受保护的目录(整个\.android)。请记住每次更改环境变量时都要重新启动窗口! 【参考方案1】:

我刚刚解决了同样的问题,我的 ~/.android 文件夹的权限错误。

具体来说,Android Studio 需要能够写入该文件夹。默认情况下,我的安装将该目录创建为 root 拥有的,并且只能由 root 写入。这是一个问题,因为 Android Studio 以我的身份运行,因此没有权限在那里写。

您可以通过在 Terminal.app(或您运行的任何终端应用程序)中执行这些命令来确认这一点:

您可能会看到这样的权限:

> cd ~
> ls -la
...cut...
drwxr-xr-x    7 root  andyo      238 Mar 31 14:00 .android
...cut...

问题是,由于root拥有目录,权限设置为755,非root用户无法写入目录。

要解决此问题,只需将目录的所有权更改为您自己(无论如何,您的主目录中不应有任何根目录)。

> sudo chown -R andyo .android
> ls -la
...cut...
drwxr-xr-x    7 andyo  andyo      238 Mar 31 14:00 .android
...cut...

【讨论】:

在我的情况下没有修复错误。也许那不是 debug.keystore 文件的位置?你知道我在哪里可以检查这个吗? 您的 Android 文件夹之前的波浪号代表什么?大概您是主要的 Linux 用户? 表示当前用户的主目录superuser.com/questions/211355/…【参考方案2】:

可能是因为新的“即时运行”功能。我对 .android 文件夹的写权限可以。但对我来说,它只有在我删除了“.android”文件夹之后才起作用,然后我必须创建一个新的模拟器,然后才有一个新的 debug.keystore

【讨论】:

【参考方案3】:

以管理员身份运行 IDE 对我来说是一个窍门。 这是我电脑上的权限问题。 如果有人需要,就把它留在这里。

【讨论】:

我认为这是“走错了兔子洞”。您不需要以“root”身份运行开发 IDE 即可使其正常工作。 为什么? ------------ 一般来说:不好的做法。 “root”可以访问您系统中的所有项。您希望绝对最小化需要“root”权限的事情。换句话说:您宁愿努力修复目录的不正确权限,而不是以“root”身份运行整个应用程序。

以上是关于无法重新创建丢失的调试密钥库?的主要内容,如果未能解决你的问题,请参考以下文章

丢失密钥库文件后在 Play 商店中重新使用应用程序 ID

丢失了我原来的密钥库,但我确实有原来的密码

我可以在其他帐户下重新发布我的应用程序吗?

"无法启动此程序,因为计算机中丢失SCAN.DLL。尝试重新安装该程序以解决此问题"

无法启动此程序,因为计算机中丢失msvcr90.dll。尝试重新安装该程序以解决此问题

无法启动此程序,因为计算机中丢失PBvm90.dll。尝试重新安装该程序以解决此问题。