2

Android アプリを更新/アップグレードするときは、次のことを行う必要があります。

  • マニフェストのバージョンを更新する
  • SQLiteOpenHelper の OnUpgrade メソッドを更新する
  • それが私の知る限りです

アップグレード自体をデバッグしたいときに行き詰まる

私の問題と私の試みの理由:

  • データベースが変更されましたが、何らかの理由で onUpgrade が役に立たず、デバッグする必要があります
  • パッケージは署名されているため、アプリの既存のバージョンをオーバーライドする前に署名する必要があります
  • 署名して他のアプリにインストールすると、すぐにクラッシュしますが、Eclipseデバッグコンソールからではなく、apkから直接インストールされるため、デバッグできません

問題:

  • 有名な「アプリケーションの署名が異なるため、再インストールに失敗しました」というエラーが表示されます。

私のちょっとした研究:

  • これは、ここの多くの投稿でカバーされています (私が読んだことは少なくとも 10 件あります)。

  • それらのほとんどはアプリを削除することを提案しましたが、それによりデータベースも削除され、ポイントが無効になります

  • それらのいくつかは、%USER_HOME%/.android/ 内の debug.keystore というファイルを参照することを提案しました。

  • 他の人は、adbで何ができるかについて言及しました

  • そして、私が望んでいたことに対する唯一の近い答えは、Eclipseの[デバイス]タブでデバッグすることでしたが、できませんでした

4

1 に答える 1

0

古いバージョンのアプリケーション ソース コードにまだアクセスできる場合は、データベースをバックアップ/復元するためのいくつかの開発メニュー オプションを追加します。リリース キーで署名し、アプリを使用してデータベースをバックアップします。

次に、開発中の新しいアプリに同じコードを追加します。データベースを復元し、デバッグ キーを使用してアップグレード プロセスを試すことができます。これは、アップグレード プロセスと、それが原因で失敗したものを一時的にコメント アウトする必要があることを意味します。これは、新しいアプリをデバッグして古いバージョンのデータベースを動作させるまでです。

これは、データベースをバックアップするために使用した方法へのリンクです。

于 2013-09-02T08:05:13.933 に答える