Android应用程序升级调试

Android应用程序升级调试,android,debugging,upgrade,sqliteopenhelper,Android,Debugging,Upgrade,Sqliteopenhelper,更新/升级android应用程序时,您必须: 更新清单中的版本 更新SQLiteOpenHelper的OnUpgrade方法 据我所知就是这样 当我想调试升级本身时,我被卡住了 我的问题和尝试的原因: 我的数据库已更改,由于某种原因,我的onUpgrade没有更改 帮助,我需要调试它 软件包已签名,因此我必须先签名,然后才能覆盖应用程序的现有版本 如果我在另一个应用程序上签名并安装它,它会立即崩溃,但是我无法调试它,因为它是直接从apk安装的,而不是从eclipse调试控制台安装的 问题

更新/升级android应用程序时,您必须:

  • 更新清单中的版本
  • 更新SQLiteOpenHelper的OnUpgrade方法
  • 据我所知就是这样
当我想调试升级本身时,我被卡住了

我的问题和尝试的原因:

  • 我的数据库已更改,由于某种原因,我的onUpgrade没有更改 帮助,我需要调试它
  • 软件包已签名,因此我必须先签名,然后才能覆盖应用程序的现有版本
  • 如果我在另一个应用程序上签名并安装它,它会立即崩溃,但是我无法调试它,因为它是直接从apk安装的,而不是从eclipse调试控制台安装的
问题:

  • 我得到著名的“重新安装失败,由于不同的应用程序 “签名”错误
我的小研究:

  • 这已经在这里的许多帖子中讨论过了(至少我读过10篇)

  • 他们中的大多数人都提出要删除该应用程序,但这会导致数据库也被删除,这就违背了这一点

  • 他们中的一些人提出要引用%USER_HOME%/.android/中名为debug.keystore的文件

  • 其他人提到了你可以用亚洲开发银行做些什么

  • 我想要的唯一接近的答案是在eclipse的设备选项卡下进行调试,但我做不到


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

然后将相同的代码添加到您正在开发的新应用程序中,您将能够恢复数据库,然后使用调试密钥尝试升级过程。这只意味着你将不得不暂时注释掉升级过程以及因此而失败的任何东西,直到你的数据库的旧版本和新应用程序处于调试状态


以下是我用来备份数据库的方法。

好的,首先谢谢你,其次我的应用程序中已经有了备份功能(这很好),但不幸的是找不到一个合适的恢复示例,还希望有人能提供一些我可以用IDE调试的东西,因为这个解决方法有点牵强