web-dev-qa-db-ja.com

adbインストールのINSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

同じAndroidプロジェクトはデバッグモードでビルドされます。Eclipseを使用する場合と、Ant(ビルドマシン上)を使用する場合があります。

最初にAntビルドをインストールしてからEclipseデバッグを開始しようとすると、Eclipseコンソールが表示されます

[2012-03-20 13:32:26-myproject]アプリケーションの署名が異なるため、再インストールに失敗しました。 [2012-03-20 13:32:26-myproject]アプリケーションを完全にアンインストールする必要があります。警告:これにより、アプリケーションデータが削除されます!
[2012-03-20 13:32:26-myproject]シェルで「adb uninstall com.myproject」を実行してください。 [2012-03-20 13:32:26-myproject]打ち上げがキャンセルされました!

私がこれを逆に行う、つまりEclipseでデバッグし(apkのインストールを含む)、コマンドラインからantビルドをインストールしようとすると、次のようになります:

失敗[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

証明書/署名の何が問題になっていますか?

25
Juuso Ohtonen

問題は、apkファイル(Eclipseおよびantビルド中)が異なる証明書で署名されていることです。異なるマシンでビルドされたビルド間で署名の一貫性を保つには、バージョン管理にデバッグキーストアを配置します。

これは、自分のマシンからビルドをクロスインストールし、マシンをビルドする傾向がある場合に便利です。

17
Juuso Ohtonen

私にとって問題は、別のキーで同じアプリケーションが既にインストールされていたことです。古いアプリケーションをアンインストールすると、次のように問題が解決しました。

https://stackoverflow.com/a/10280878

48
f.cipriani

古いインストール済みの.apkには、新しいインストール対象の証明書とは異なる証明書があるか、別のキーで既にデバイスにインストールされています。これは、アプリケーションが以前に別の資格情報を付与した別のマシンからインストールされたことを意味します。

解決策は次のとおりです。

uninstall the existing .apk

その後

re-install the new .apk

28
Sonhja

ビルドシステムがgradleの場合、follwongコマンドを使用してWindowsでアンインストールします。

.\gradlew.bat uninstallDebug

またはLinuxの場合:

./gradlew uninstallDebug

その後:

./gradlew install

これは、Androidの同じパッケージでのインストールとアンインストールの認証チェックです。同じ電話に接続された2つの異なる建物のPC(コンピューター)を使用している場合、それらの異なるPCに電話を接続するとこのエラーが発生します。最良の選択は、1台のPCを1台の物理的な電話にバインドすることです。

2
Clock ZHONG

IntelliJでは、アプリケーションのデバッグ署名用にデバッグキーストアを選択できますが、キーストアパスワードまたはキーパスワードを入力することはできません。リリース証明書をエクスポートしてデバッグキーストアにインポートし、キーストアとキーパスワードを「Android」に変更できます。私はそれのためのステップバイステップの指示を準備しました: http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/

1
Deniz

Eclipseの設定を開きます。 Android左側のリストのセクション。Androidの下の[ビルド]エリアを選択します。[カスタムデバッグストア]の横にあるAndroid SDKのインストール。Eclipseがホームディレクトリの下で選択したものではありません。

これでAndroid antビルドとEclipseは同じキーストアを使用しています。

1

その他のソリューションアプリケーションのbuild.graldeファイルでバージョンコードを増やします

 defaultConfig {
        ...
        versionCode 1
        ...
  }

 defaultConfig {
        ...
        versionCode 2
        ...
  }

今すぐ同期 enter image description here

クリーンプロジェクトを構築

アプリケーションを実行する

0
Anthone