1

IntelliJ IDEA 12.0.4 を使用しています。

エミュレーターと電話にアプリをインストールするときに、INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES メッセージを繰り返し受け取りました。

debug.keystore の有効期限が切れたときにエラーが発生したと思われ、古いバージョンをアンインストールすることでエミュレータの問題を解決しました。

ただし、ユーザーデータが削除されるため、電話でアプリをアンインストールしたくありません。

また、リリースキーでアプリに署名してから、それを電話にインストールしようとしました(APKファイルをコピーして実行することにより)-しかし、そのインストールも証明書の理由で拒否されました。それでいいのではないですか?

私は何をすべきか?

PS: 誤解を避けるために、私は開発用 PC を 1 つしか持っておらず、証明書も 1 つしか持っていません...

4

3 に答える 3

1

Android は、デバッグ キーがリリース キーに関連していることを知る方法がありません。

アプリが SD カードにアクセスできる場合は、コマンド プロンプトを使用して、次のような方法でデータ ファイルを SD カードにコピーできます。

adb -d shell
run-as <packagename> sh
cp <files> /sdcard/

これを行うために電話をルート化する必要はありませんが、run-as はアプリのデバッグ バージョンでのみ機能します。

于 2013-03-20T20:26:54.357 に答える
0

電話機は、何かがリリースキーであるかデバッグキーであるかを認識していません。キーで署名されていることを知っているだけです。したがって、リリースとデバッグに同じキーを使用しない限り、デバッグ署名付きコピーをリリース署名付きコピーで更新することはできません。

ここでアンインストールを回避する実際の方法はありません。お使いの携帯電話がルート化されている場合は、ファイルをプルして、新規インストール後に復元できます。

于 2013-03-20T20:24:39.290 に答える