4

いくつかのカスタマイズを適用する3つの異なるアプリケーションapp-1、、、app-2に分岐したAndroidプロジェクトがあります。app-3現在、コードの重複が多く、メンテナンスが悪夢になっています。ブランチの1つで変更を行ってから、他の2つをマージします。

そこでapp-core、重複したコードのほとんどを除外するという名前のライブラリプロジェクトを作成します。ここまでは順調ですね。

(リファクタリングの前に)アプリケーションがすでにロードされているエミュレーターでこれを起動すると、次の例外が発生します。

Re-installation failed due to different application signatures

別の署名?しかし、 Javaプロジェクト.classpathにリンクする行をに追加しました。app-core

主な質問は次のとおりです。既存のユーザーもこれに悩まされるのでしょうか。

そして副次的な質問:なぜそれは異なる署名なのですか?

4

4 に答える 4

12

デジタル署名は、アプリに署名するマシンに存在する署名キーによって駆動されます。開発者Aが標準のデバッグキーを使用してアプリをコンパイルし、エミュレーターにインストールする場合、アプリの他のバリエーション(本番キーで署名されたもの、開発者Bのデバッグキーで署名されたものなど)をインストールしようとします。同じエミュレーターの場合、そのエラーが発生します。

主な質問は次のとおりです。既存のユーザーもこれに悩まされるのでしょうか。

既存のユーザーが使用しているアプリのバージョンに使用した本番署名キーはありますか?はいの場合、問題はありません。いいえの場合、あなたはねじ込まれています。

于 2010-03-16T23:38:12.400 に答える
1

デバイスからアプリケーションをアンインストールしてから、コードを再度実行すると、機能します。それは私にも起こります、そして私は同じことを試みました、今それは正しく働いています。

于 2011-08-01T11:30:35.527 に答える
0

この問題については、([ウィンドウ]->[設定]->[Android]-> [ビルド])で正しいキーが使用されていることを確認する必要があります。このuは、アプリのandroid.mkファイルから確認できます。そして、正しいキーパスを配置したら、このエラーを回避するためにプロジェクトをクリーンアップおよびビルドします。

于 2013-07-26T08:31:38.087 に答える
0

私も同様の問題を抱えています。デバイスにインストールする場合は、Eclipseからインストールする前に、デバイスからアプリをアンインストールする必要があります。それは間違いなくあなたの問題を解決します。

乾杯

于 2013-09-27T18:57:18.073 に答える