Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android证书颁发_Java_Android_Certificate_Google Play_Keytool - Fatal编程技术网

Java Android证书颁发

Java Android证书颁发,java,android,certificate,google-play,keytool,Java,Android,Certificate,Google Play,Keytool,如果我丢失了使用keytool创建的原始certificate.keystore文件,但有确切的终端输出和我输入的所有内容,这是否足以创建一个新的证书,android market发布网站将接受该证书,而无需声明新的apk必须使用相同的证书进行签名?我认为生成的证书和私钥不会相同。这是google android市场的一个主要缺陷。与苹果不同的是,你可以通过你的苹果开发者帐户申请你的证书,谷歌还没有这样的服务。如果你把证书弄丢了,就这样。您将无法发布应用程序的更新版本供用户下载 最好的办法是让你

如果我丢失了使用keytool创建的原始certificate.keystore文件,但有确切的终端输出和我输入的所有内容,这是否足以创建一个新的证书,android market发布网站将接受该证书,而无需声明新的apk必须使用相同的证书进行签名?

我认为生成的证书和私钥不会相同。

这是google android市场的一个主要缺陷。与苹果不同的是,你可以通过你的苹果开发者帐户申请你的证书,谷歌还没有这样的服务。如果你把证书弄丢了,就这样。您将无法发布应用程序的更新版本供用户下载

最好的办法是让你的用户群知道有一个应用程序的新版本,其中的更改使其无法正常更新,他们需要卸载旧版本并下载新版本,从应用程序商店取消发布旧版本并发布新版本。(这有点善意的谎言,但人们不会哭得太多,这比说你丢了证书要好得多,大多数用户甚至不知道你在说什么)

然后保留您的证书副本以备备份,并确保其安全!!!给自己发电子邮件,把它放在一个不知名的flashdrive上(万一它被偷了,人们不会知道证书的用途)。Gmail很好,因为它很容易用关键词检索几个月前的邮件。把它刻录在CD上,如果有必要的话,把它放在你的药柜里


希望这有帮助,祝你好运

试试这个:使用重复信息创建两个新密钥。我相信你会发现它们并不完全相同,但不管怎样,你都会回答你的问题。@mah所以基本上,如果我没有原始的certificate.keystore文件,就无法更新我的android应用程序,对吗?@mah不,快速的md5显示它们是不同的-/这听起来可能很愚蠢,但你有没有试过联系谷歌?我正在考虑制作一个付费应用程序,这个故事让我很害怕。@Steven是的,我们肯定会联系谷歌。只是想看看我们能不能先自己解决。如果这个故事让您感到害怕,请从我的错误中吸取教训:备份所有内容,然后备份这些备份,最好是备份到非现场位置。:-)是的,这是一个重大缺陷,我同意。当我制作它时,我肯定会保存我用来制作它的信息,但不会保存证书本身。重新发布的问题是,这是一个付费应用程序,如果用户不得不再次付费,他们会难以置信地抱怨,这正是我所担心的。而且,没有办法免费发布应用程序(比如苹果应用商店的促销代码),所以我不能只给现有用户一个免费的许可证。有什么想法吗?]啊,有点毛茸茸的。我从来没有发布过付费应用,所以我在这里帮不了什么忙。你有一份清单,上面列出了哪些账户已经支付了款项?你可以手动或使用脚本(取决于你有多少用户)将你的新应用程序授予这些帐户,所以当他们去下载它时,它只是说安装而不是购买?我想我看到过开发者手动给用户退款。这可能会花费你一大笔钱,但如果你给所有用户退款,并指示他们购买新的应用程序,而他们完全知道发生了什么(即:他们知道他们自动为旧的应用程序退款,这样他们就可以购买新的应用程序),可能会成功,但是如果人们不想要新的/不再使用旧的,你就会失去任何利润。为了避免这种情况,你可以询问用户是否想要新的电子邮件给你,然后你会退还旧的,这样他们就可以购买新的。他们更努力,但利润损失更少。我不确定是否可以授予用户访问我的某个应用程序的权限,开发者控制台非常有限。你甚至可以退还几个月前已经付款的订单吗?苹果(不太清楚安卓)的情况似乎是这样,但当你退款时,苹果仍然保留他们的30%,所以当退款发生时,你实际上会赔钱,因为苹果想要他们的30%,而用户仍然想要他们的全部99美分。