2016-12-09 11 views
0

閉じたユーザーグループに電子メールで.apk(デバッグモード)ファイルを配布しました。彼らはアプリケーションと一緒に遊んで、いくつかのデータは、sqliteデータベース(内部ストレージ)に格納されます。最近、私のマシンがクラッシュし、debug.keystoreを含むすべてが失われました。私は今更新されたビルドを(新しいマシンから)提供する必要がありますが、あなたが知っているように、キーの不一致のために古いビルドの上にインストールすることはありません。debug.keystoreファイルが失われました

そのデータはsqliteデータベースに格納されているので非常に重要ですので、私はそのdbファイルを取得することができますか?また、私が電話をかけた場合、キーの不一致なしに既にインストールされているビルドの上にアップデートをインストールすることができますか、あるいは少なくともそのdbファイルを取得して、別のアプリケーションを使用してデータにアクセスできますか?

ありがとうございます。

+0

あなたは、キーストアを見つけることに力を入れなければなりません。私が知る限り、解決策はありません。 –

+0

システムがフォーマットされています。古いdebug.keystoreを元に戻すことはできません。私はまた、古い.apkファイルからdebug.keystoreファイルを取得しようとしましたが、運はありません。 – Braj

答えて

0

エラーは、debug.keystoreによって署名されたapkを配布することでした。それは間違っており、あなたはこの行動の結果に直面しています。 debug.keystoreは動的に生成され、頻繁に変更される可能性があります(例えば、アンドロイドスタジオの再構築)、次のビルドが同じキーで署名されるという保証はありません。その時点から、Google自身でさえあなたのアプリを更新することはできません。

あなたが唯一のチャンスを知っている限り、電話からデータベースファイルを手動で取得し、新しいrelease.keystoreで新しいバージョンのアプリケーションをインストールし、新しい空のdbファイルを古いものと入れ替えることです。

dbファイルがアプリのプライベートストレージにある場合、そのファイルにアクセスするにはrootが必要です。

あなたはすでにここにファイルへのアクセスを持っている場合、PCにファイルを引っ張るためのadbコマンドです:

adb pull /sdcard/absolute/path/to/file/database.db C:/destination/of/file/on/PC 
関連する問題