web-dev-qa-db-ja.com

Androidアプリがインストールされていません。競合する署名を持つ同じ名前の既存のパッケージは既にインストールされています

私のエミュレータで、私がプログラムで私のapkのアップグレードをやろうとするとき。私は得ます:

Android App Not Install.

An existing package by the same name with a conflicting signature is already installed

enter image description here

私はまだこのアップグレードのテスト段階にあるので、私がダウンロードするファイルは何の問題もなく動作するはずだと思う前のバージョンの署名付きapkです。

の提案から: 既存の同名のパッケージに署名付きの署名がすでにインストールされています 私はデバッグモードと通常の両方でエミュレータを実行しようとしましたモード...どちらもうまくいきませんでした。

私が見逃していることについて何か考えはありますか?

118
James Oravec

問題は、デフォルトでIDEから直接実行してエミュレータを開いている場合、APKの署名に使用されていたキーです。エミュレータにインストールされているAPKは、デバッグキーで署名されています。 〜/ .Android/debug.keystore)にインストールされているので、以前のAPKが現在使用しているものとは異なる別のキーで署名されている場合は、常に署名の競合が発生します。前のAPKが別のSDKのデバッグキーを使用して署名されている場合でも、両方のAPKに署名するためのまったく同じキーです。キーは確実に異なります。

また、apkに署名するために以前にどのキーが使用されたのか正確にはわからず、新しいバージョンのアプリをインストールしたい場合は、前のアプリケーションをアンインストールして新しいものを再インストールするだけです。

お役に立てれば...

よろしく!

85
Martin Cazares

同じエラーメッセージが表示されましたが、これらの答えは役に立ちませんでした。 4.3 nexus 7では、所有者ではないユーザーを使用していました。古いバージョンをアンインストールしましたが、同じメッセージが表示され続けました。

解決策:所有者としてログインして[設定] - > [アプリ]に移動し、[すべて]タブにスワイプする必要がありました。リストの最後までスクロールして、古いバージョンが「インストールされていない」というマークを付けて表示されているところに移動します。それを選択し、右上隅にある「設定」ボタンを押して、最後に「すべてのユーザーのためにアンインストール」してください

193
Αλέκος
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

enter image description here

[設定]> [アプリ]に移動して、アプリ情報を見つけて開きます。次に、オーバーフローメニュー(縦3ドット)を開き、すべてのユーザーに対して[アンインストール]を選択します

7
Keshav Gera

キーストアファイルに煩わされたくない場合は、すべてのユーザーに対してパッケージを完全に削除してください。

デバイスをMac/PCに接続してadb uninstall <package>を実行してください。

私のために働きました。

参照: https://Android.stackexchange.com/questions/92025/how-to-completely-uninstall-an-app-on-Android-Lollipop

5
Avijit

Debug apkを使用している場合、それに署名するために使用されるキーはにあります。

C:\Users\<user>\.Android\debug.keystore

同じキーを使用しても、インストール時に競合が発生しないはずです。

5
Santiago

署名付きと署名なしのAPKファイルには違いがあります。たぶん、あなたは以前そこに署名していなかった。署名付きバージョンをインストールする前に、署名なしを削除するだけです。これを実現する方法はバージョンによって異なりますが、一般的にはエミュレータで設定 - >アプリケーションを選択し、アプリケーションをロングクリックして、削除/削除/アンインストールします。

5
PearsonArtPhoto

Androidで複数のユーザーを使用している場合は、アプリが至る所でアンインストールされていることを確認してください。

2
Martin Koubek

私がデバッグに使用したデバイスにdebugとrelease buildの両方がインストールされないという問題がありました。新しいバージョンをインストールしようとしたときにも同じメッセージが表示されます。唯一の回避策は、現在のバージョンをアンインストールして新しいバージョンをインストールすることでした。

Android Studioがインストールするapkをマークしているため、パッケージマネージャを使用したインストールでは、デバッグ用にインストールされたバージョンとGoogle Playまたはその他の外部ソースからダウンロードされたバージョンを区別できます。

1
FunkSoulBrother

上記の解決策がうまくいかなかった場合は、次のようにしてください。

1)Appstoreからアプリをインストールする。
2)同じパッケージ名で更新されたバージョンのsign APKで更新します。

だから基本的にAPKなら2種類あります。

1)あなたはオリジナルのAPKとして知られているplaystoreにアップロードしました。
2)派生APKとして知られているプレイストアからのダウンロード。

この場合、基本的には派生APKをダウンロードして元のAPKで更新しています。

Google Playストアの内部テストモードで新しく署名されたリリース済みAPKを正常にアップロードし、派生APKをダウンロードして更新シナリオを確認します。

enter image description here

1

上記のすべてを試してみましたが、うまくいきませんでした。

アプリをアンインストールしても、アプリの新しいバージョンで同じエラーが発生することがわかりました。

これはそれを解決したものです:[設定]-> [全般]-> [アプリケーションマネージャー]->アプリを選択->上部の3つのドットをクリック->すべてのユーザーに対してアンインストール

これを実行すると、実際にはアンインストールされ、新しいバージョンをインストールできるようになります。

お役に立てれば。

0
FelixFelicis

同じパッケージエラー:

  1. アプリに別の名前で新しいパッケージを作成します。
  2. 古いパッケージのすべてのファイルを新しいパッケージにコピーして貼り付けます。
  3. コードを保存してください。
  4. 古いPackage And Cleanを削除してプロジェクトを再構築します。
0
VIJAY RAVAL

AndroidManifiestでshareIdを変更/追加/削除してもアプリケーションが更新されない場合があります。

"Android:sharedUserId"

それも確認してください。

これを防ぐためには、現在または現在必要な要件にかかわらず、アプリケーションでsharedUserIdを使用することをお勧めします。

0

enter image description here 所有者としてログインして[設定] - > [アプリ]に移動し、[すべて]タブにスワイプする必要がありました。リストの最後までスクロールして、古いバージョンが「インストールされていない」というマークを付けて表示されているところに移動します。それを選択し、右上隅にある「設定」ボタンを押して、最後に「すべてのユーザーのためにアンインストール」してください

0
Ashish Kumar

アプリケーションが正常にアンインストールされていない可能性があります。あなたのデバイスがこのような場合、あなたはこの方法を試すことができます。

最初にアプリケーションのパッケージ名、たとえば 'com.xxx.app'を取得します。ルートエクスプローラを使用してマニフェストファイルから見つけることができます(REはファイルをデコードできます)。それからあなたはそれをアンインストールするためにこのスクリプトを使用することができます:

adb Shell pm uninstall com.xxx.app // replace to package name that you want to remove
0
twiceYuan