这是我关于SO的第一个问题,但我首先要感谢社区在创建一些Android应用程序的过程中帮助我。我的职业不是程序员,我做的大多数东西只是为了好玩,但是一个Android应用程序是我为客户创建的真实项目,我遇到了一些真正的麻烦,需要一些帮助。
我制作的应用程序基本上会接收一些数据,将其存储到 SQL 数据库中,并在必要时使用查询从数据库中提取各种信息并显示它。如果需要进行任何调整,我会进行调整,然后再向他们发送.apk。没问题,直到现在...
我最近升级到Windows 10,将笔记本电脑的RAM翻了一番,用SSD替换了硬盘驱动器,并刷新了操作系统。 包括Android Studio在内的一切现在都像梦一样运行!!我的客户要求我进行一些调整,所以我将备份的源代码重新复制到我的项目文件夹,打开代码,进行修改,然后将.apk重新发送给我的客户。他们收到以下消息:
"未安装 X 应用程序。
已安装具有冲突签名的同名现有软件包。
我对应用程序所做的唯一更改是向数据库添加一个表(当然,还有升级数据库版本号),并修改了一些布局以及一些方法和计算等。我已经上下搜索,甚至在平板电脑上复制了相同的错误,但找不到解决方法。我的客户目前有几个月的数据输入到应用程序中,因此他们不能只是卸载它并进行新的应用程序安装。此时我能做些什么吗?此外,我从未制作过任何自定义密钥签名,只是编程,.apk,并且发送了许多更新而没有问题。任何帮助将不胜感激。(我为我发送的所有不同版本备份了所有项目文件夹和 .apks)
谢谢!
假设您找不到/获取原始密钥,此时最好的选择是使用备份程序(或 adb 拉取最坏情况)来备份他的/data/data/文件夹。 然后,您可以卸载原始应用程序并重新安装新版本。 然后,您可以还原/adb将旧文件夹的内容推送到手机以还原数据文件。 这可能需要生根。
如果可能的话,我会先在另一部手机上测试它,以确保它有效,因为你只能拍 1 次。 将来,我还会在源代码管理存储库中保存您的密钥。