0

这是我关于 SO 的第一个问题,但我首先要感谢社区在创建一些 Android 应用程序的过程中帮助我。我的职业不是程序员,我做的大部分东西只是为了好玩,但一个 Android 应用程序是我为客户创建的真实项目,我遇到了一些真正的麻烦,需要一些帮助。

我制作的应用程序基本上是接收一些数据,将其存储到 SQL 数据库中,并在必要时使用查询从数据库中提取各种信息,并显示出来。如果需要进行任何调整,我会进行调整,然后再向他们发送另一个 .apk。没问题,直到现在...

我最近升级到了 Windows 10,将笔记本电脑的 RAM 翻了一番,用 SSD 替换了我的硬盘,并更新了操作系统。一切,包括 Android Studio,现在都像梦一样运行!!!我的客户要求我进行一些调整,所以我将备份的源代码重新复制到我的项目文件夹中,打开代码,进行修改,然后将 .apk 重新发送给我的客户。他们收到以下消息:

X 应用程序未安装

已安装具有冲突签名的同名现有软件包。”

我对应用程序所做的唯一更改是在数据库中添加了一个表(当然还有升级数据库版本号),并修改了一些布局以及一些方法和计算等,仅此而已。我上下搜索,甚至在我的平板电脑上复制了相同的错误,但找不到解决方法。我的客户目前有几个月的数据输入到应用程序中,所以他们不能只是卸载它并进行新的应用程序安装。在这一点上我能做些什么吗?此外,我从未做过任何自定义密钥签名,只是编程、制作了 .apk,并且已经发送了许多更新而没有问题。任何帮助将不胜感激。(我为我发送的所有不同版本备份了所有项目文件夹和 .apks)

谢谢!

4

1 回答 1

2

假设您找不到/获取原始密钥,此时最好的选择是使用备份程序(或 adb pull 最坏的情况)来备份他的 /data/data/ 文件夹。然后您可以卸载原始应用程序并重新安装新版本。然后就可以restore/adb push 旧文件夹的内容到手机来恢复数据文件。这可能需要生根。

如果可能的话,我会先在另一部手机上进行测试,以确保它可以正常工作,因为你只能获得 1 次机会。将来我还会将您的密钥保存在您的源代码控制存储库中。

于 2016-02-23T23:50:56.103 回答