Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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/0/jpa/2.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
Android 如何使用现有apk签名构建应用程序_Android_Sqlite_Apk_Android Install Apk - Fatal编程技术网

Android 如何使用现有apk签名构建应用程序

Android 如何使用现有apk签名构建应用程序,android,sqlite,apk,android-install-apk,Android,Sqlite,Apk,Android Install Apk,我用一台pc编译了一个项目(其中包含一个sqlite db),我再也不能访问它了。人们使用它并将记录插入数据库。我无法接触到他们的平板电脑。我犯了一个错误,我已将apk发送给他们,该apk位于bin目录中。我改变了程序,我想告诉他们更新他们的应用程序,但当他们试图更换应用程序时,android不允许他们。所以我必须在我的apk上签名,就像我在那台电脑上做的一样。 我该怎么办?感谢您的帮助。继续我的评论: 如果你没有访问旧签名的权限,你真的做不了什么。听起来你在谈论调试签名。正如您所发现的,这在不

我用一台pc编译了一个项目(其中包含一个sqlite db),我再也不能访问它了。人们使用它并将记录插入数据库。我无法接触到他们的平板电脑。我犯了一个错误,我已将apk发送给他们,该apk位于
bin
目录中。我改变了程序,我想告诉他们更新他们的应用程序,但当他们试图更换应用程序时,android不允许他们。所以我必须在我的apk上签名,就像我在那台电脑上做的一样。
我该怎么办?感谢您的帮助。

继续我的评论:


如果你没有访问旧签名的权限,你真的做不了什么。听起来你在谈论调试签名。正如您所发现的,这在不同的机器上有所不同,如果您无法访问旧机器,它就消失了

出于安全考虑,这通常是一件好事。如果有可能恢复您的密钥,任何人都可以这样做。然后,他们可能恶意修改应用程序并将其作为替换上传

您还发现,Android不允许您安装与当前安装版本具有不同签名的更新。如果您的用户完全卸载该应用程序,那么他们将能够安装新的应用程序。这当然不方便,而且客户服务也很头疼,但没有其他方法可以做到这一点

请注意,用户将丢失应用程序中的所有数据库等。它将作为一个新的安装,因为这就是它


理论上,根用户可以使用任意数量的实用程序备份他们的旧数据库/首选项,并在以后进行恢复。在实践中,即使大多数能够这样做的用户也不会为此烦恼。

如果您没有访问旧签名的权限,那么您就无法真正做到这一点。这是一件好事,因为您不希望其他人访问、修改和上传它。如果您的用户先卸载应用程序,然后可以安装新的应用程序,但仅此而已。他们将重置为初始安装。糟透了,我知道。看来这个月我得付罚金了:D!!谢谢你的帮助。@Geobits你应该添加你的评论作为答案,这样OP就可以接受了。也许吧。如果编译环境没有改变,并且仍然使用相同的调试键,那么它应该可以工作。不过,永久使用调试键可能不是最好的方法。如果可以,只需转换到一个真正的关键点,小心不要丢失它。