アプリケーションを更新しようとしたときの失敗[INSTALL_FAILED_ALREADY_EXISTS]


388

以前のバージョンと同じ署名を持つ新しいバージョンでアプリケーションを更新しようとすると、上記のエラーが表示されます。

何が欠けていますか?

回答:


756

経由でデバイスにアプリケーションをインストールする場合adb installは、再インストールオプションを探してください-r。その場合は、adb install -rアンインストールせずにインストールできるはずです。


1
adb install -r常に機能するとは限りません(SprintからEVO 4Gがあり、期待どおりの動作を拒否しています)。私が見つけた唯一の回避策は、アプリケーションを手動で削除することです。時々、EVOはとても気性があるので、私は電話のUIを介してそれをしなければならないことさえあります。
jww 2014

21
adb install -r最初に削除してからアプリをインストールまたはアップグレードするかどうかを知りたいと思ったので、ここに来ました。けれどもadbの説明は非常に明確ではありません(-r:既存のアプリケーションを置き換える)、adb install -r実際にアプリをアップグレードしないとアプリのデータを削除しません。したがって、アプリのアップグレードをテストするのに適しています(これは私が探していた情報です)。
Thibault D.

8
adb install -r動作しないと主張する人へ:.apkインストールしようとしている.apkファイルは、デバイスにインストールされているファイルと同じ開発者証明書で署名されていなかったと思います。デバッグアプリをインストールしてから、リリースアプリをインストールするか、その逆を行おうとすると、簡単に起こります。同じ証明書で署名されていないアプリケーションは更新できません。
Thibault D.

1
複数のアカウントを使用している場合は、すべてのアカウントからアンインストールする必要がある場合があります(GregPの回答を参照)。私がそれをした後、これは私のために働きました。
JD Sandifer 2016年

動作しません、私のアプリはシステムアプリであり、これは私の問題を解決していません:/
htafoya '25

11

アプリケーションと同じパッケージ名のアプリケーションが既に存在するため、このエラーが発生します。以前に同じアプリケーションをインストールしたことがない場合は、パッケージ名を変更して試してください。

それ以外の場合は、次のことを実行できます。

  1. デバイスからアプリケーションをアンインストールします。[設定]-> [アプリケーションの管理]に移動し、[アンインストール]を選択しますOR
  2. adbコマンドラインインターフェイスを使用してアプリをアンインストールします。「adb uninstall」と入力します。この手順が完了したら、アプリケーションをもう一度インストールしてください。

私のアプリはメニューやアプリストアの下に表示されませんでした-しかし、ムハンマドのヒントのおかげでそれを見つけました。
DavidP

2
これは良い解決策ではありません。SharedPrefsなどの状態がアプリに保存されている場合はどうなりますか?システムから完全にアンインストールする場合は、アプリをもう一度再設定する必要があります。
IgorGanapolsky 2016年

これが私が必要としたソリューションでしたadb uninstall my.package。奇妙なことに、削除したい設定アンインストールされませんでしたが、パッケージが削除されました。これにより、再インストールできなくなりました。
JMD 2017年

6

これは、アプリケーションがデバイス上の別のユーザーのためにすでにインストールされていることを意味する場合があります。ユーザーはアプリケーションを共有します。彼らがなぜそうするのか私にはわかりませんが、彼らはそうしています。したがって、1人のユーザーが更新すると、他のユーザーのアプリケーションも更新されます。一方をアンインストールしても、もう一方のシステムからアプリは削除されません。


これは私の正確な問題でした!アンインストールの試行をadb install <package.apk>続けた-adbと手動の両方で、アプリがアプリリストに表示されなくなっても失敗し続けました。それ私のデバイスの別のアカウントにまだ残っていることわかりました...ありがとう!
JD Sandifer 2016年

これで修正されました。すべてのユーザーに対してアンインストールするデバイスの情報については、[設定]> [アプリ]に移動し、アプリをタップして、右上の省略記号をタップし、[すべてのユーザーに対してアンインストール]をタップします。
d219 '19

3

インストールするには

adb install -r exampleApp.apk

(これ-rにより、既存のコピーが置き換え-sられ、エミュレーターにインストールする場合は追加されます)

アプリが同じ署名で同じdebug/releaseバリアントであることを確認してください

ボーナス

にエイリアスを設定し~/.bash_profileて、2charコマンドにしました。

alias bi="gradlew && adb install -r exampleApp.apk"

(ビルドとインストールの略)


0

それでも問題が解決しない場合は、コマンドプロンプトを使用してアプリケーションをアンインストールしてください。コマンドadb uninstall com.example.yourpackagename を追加して、再インストールしてみてください。


0

私のAndroid 5タブレットでは、adbを使用しようとするたびに、署名されたリリースAPKをインストールするために、 [INSTALL_FAILED_ALREADY_EXISTS]エラーが発生します。

最初にデバッグパッケージをアンインストールする必要があります。しかし、デバイスを使用してアンインストールすることはできませんアプリケーションマネージャ!

アプリケーションマネージャーでデバッグバージョンをアンインストールする場合で、Android Studioからデバッグビルドバリアントを再実行し、それを使用してアンインストールする必要がありますadb uninstall com.example.mypackagename

最後に、adb install myApp.apk署名済みリリースAPKをインストールするために使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.