同じ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]
証明書/署名の何が問題になっていますか?
問題は、apkファイル(Eclipseおよびantビルド中)が異なる証明書で署名されていることです。異なるマシンでビルドされたビルド間で署名の一貫性を保つには、バージョン管理にデバッグキーストアを配置します。
これは、自分のマシンからビルドをクロスインストールし、マシンをビルドする傾向がある場合に便利です。
私にとって問題は、別のキーで同じアプリケーションが既にインストールされていたことです。古いアプリケーションをアンインストールすると、次のように問題が解決しました。
古いインストール済みの.apkには、新しいインストール対象の証明書とは異なる証明書があるか、別のキーで既にデバイスにインストールされています。これは、アプリケーションが以前に別の資格情報を付与した別のマシンからインストールされたことを意味します。
解決策は次のとおりです。
uninstall the existing .apk
その後
re-install the new .apk
ビルドシステムがgradleの場合、follwongコマンドを使用してWindowsでアンインストールします。
.\gradlew.bat uninstallDebug
またはLinuxの場合:
./gradlew uninstallDebug
その後:
./gradlew install
これは、Androidの同じパッケージでのインストールとアンインストールの認証チェックです。同じ電話に接続された2つの異なる建物のPC(コンピューター)を使用している場合、それらの異なるPCに電話を接続するとこのエラーが発生します。最良の選択は、1台のPCを1台の物理的な電話にバインドすることです。
IntelliJでは、アプリケーションのデバッグ署名用にデバッグキーストアを選択できますが、キーストアパスワードまたはキーパスワードを入力することはできません。リリース証明書をエクスポートしてデバッグキーストアにインポートし、キーストアとキーパスワードを「Android」に変更できます。私はそれのためのステップバイステップの指示を準備しました: http://www.denizoguz.com/2013/01/12/failure-install_parse_failed_inconsistent_certificates/
Eclipseの設定を開きます。 Android左側のリストのセクション。Androidの下の[ビルド]エリアを選択します。[カスタムデバッグストア]の横にあるAndroid SDKのインストール。Eclipseがホームディレクトリの下で選択したものではありません。
これでAndroid antビルドとEclipseは同じキーストアを使用しています。