Android应用更新升级调试

时间:2013-09-02 07:46:35

标签: android debugging upgrade sqliteopenhelper

更新/升级Android应用时,您必须:

  • 更新清单中的版本
  • 更新SQLiteOpenHelper的OnUpgrade方法
  • 就我所知而言

当我想调试升级本身时,我会陷入困境

我遇到问题的原因和我的尝试:

  • 我的数据库已更改,由于某种原因,我的onUpgrade没有 帮助,我需要调试它
  • 该软件包已经签名,因此我必须在覆盖现有版本的应用程序之前对其进行签名
  • 如果我签名并将其安装在其他应用程序上,它会立即崩溃,但之后我无法调试它,因为它是直接从apk安装的,而不是从eclipse调试控制台安装

问题:

  • 我得到了着名的“重新安装失败,因为不同的应用程序 签名“错误。

我的小研究:

  • 这里有很多帖子(至少有10篇我读过)

  • 他们中的大多数都提出删除应用程序,但这也会导致数据库被删除,这就失败了

  • 其中一些提供引用%USER_HOME%/中的文件.android / called debug.keystore

  • 其他人提到了你可以用adb做什么

  • 我想要的唯一答案就是在eclipse中的设备选项卡下进行调试,但我不能

1 个答案:

答案 0 :(得分:0)

如果您仍然可以访问旧版本的应用程序源代码,请添加一些开发菜单选项来备份/恢复数据库。使用您的发布密钥进行签名,然后使用该应用程序备份数据库。

然后将相同的代码添加到您正在开发的新应用程序中,您将能够还原数据库,然后使用调试密钥尝试升级过程。这只是意味着你必须暂时注释掉升级过程以及因此而导致失败的任何事情,直到你在调试中使用新应用程序的旧版数据库为止。

这是我用来备份数据库的方法的link