Gagal [INSTALL_FAILED_ALREADY_EXISTS] ketika saya mencoba memperbarui aplikasi saya

388

ketika saya mencoba untuk memperbarui aplikasi saya dengan versi baru yang memiliki tanda tangan yang sama seperti sebelumnya, menunjukkan kesalahan di atas.

Apa yang saya lewatkan?

DroidBot
sumber

Jawaban:

756

Jika Anda menginstal aplikasi pada perangkat adb installAnda melalui Anda harus mencari opsi instal ulang yang seharusnya -r. Jadi jika Anda melakukannya, adb install -rAnda harus dapat menginstal tanpa menghapus instalasi sebelumnya.

Warren Faith
sumber
1
adb install -rtidak selalu berfungsi (Saya punya EVO 4G dari Sprint yang menolak untuk bertindak seperti yang diharapkan). Satu-satunya pekerjaan yang saya temukan adalah menghapus aplikasi secara manual. Kadang-kadang, saya bahkan harus melakukannya melalui UI ponsel karena EVO sangat temperamental.
jww
21
Saya datang ke sini karena saya ingin tahu apakah adb install -rakan menghapus dulu dan kemudian menginstal atau meningkatkan aplikasi saya. Walaupun adburaiannya tidak terlalu jelas ( -r: ganti aplikasi yang ada ), adb install -rmemang meningkatkan aplikasi Anda dan tidak menghapus data aplikasi Anda. Karena itu cocok untuk menguji peningkatan aplikasi Anda (yang merupakan informasi yang saya cari).
Thibault D.
8
Bagi orang yang mengklaim adb install -rtidak berfungsi: Saya kira .apkfile yang Anda coba instal tidak ditandatangani dengan sertifikat pengembang yang sama dengan .apkfile yang diinstal pada perangkat. Mudah terjadi jika Anda telah menginstal aplikasi Debug dan kemudian mencoba untuk menginstal aplikasi Rilis atau sebaliknya. Anda tidak dapat memperbarui aplikasi jika tidak ditandatangani dengan sertifikat yang sama.
Thibault D.
1
Jika Anda menggunakan banyak akun, Anda mungkin harus menghapus instalan dari semua akun (lihat jawaban GregP). Ini bekerja untuk saya setelah saya melakukannya.
JD Sandifer
tidak berfungsi, aplikasi saya adalah aplikasi sistem, dan ini tidak menyelesaikan masalah saya: /
htafoya
11

Anda mendapatkan kesalahan itu karena aplikasi dengan nama paket yang sama dengan aplikasi Anda sudah ada. Jika Anda yakin belum menginstal aplikasi yang sama sebelumnya, ubah nama paket dan coba.

Jika tidak, inilah yang dapat Anda lakukan:

  1. Copot pemasangan aplikasi dari perangkat: Buka Pengaturan -> Kelola Aplikasi dan pilih Copot pemasangan ATAU
  2. Copot pemasangan aplikasi menggunakan antarmuka baris perintah adb: ketik adb uninstall Setelah Anda selesai dengan langkah ini, coba instal kembali aplikasi.
Muhammad Mubashir
sumber
Aplikasi saya tidak muncul di bawah menu, atau app store - tetapi menemukannya berkat tips Muhammad.
DavidP
2
Ini bukan solusi yang baik. Bagaimana jika Anda memiliki banyak status seperti SharedPrefs yang disimpan di aplikasi? Jika Anda sulit menghapus instalasi dari sistem, Anda harus mengkonfigurasi ulang aplikasi Anda dari awal lagi!
IgorGanapolsky
Ini adalah solusi yang saya butuhkan adb uninstall my.package,. Anehnya, itu tidak menghapus prefs yang saya inginkan dihapus, tetapi itu menyingkirkan paket, yang merupakan hal yang menghalangi saya menginstalnya kembali.
JMD
6

Ini mungkin berarti aplikasi tersebut sudah diinstal untuk pengguna lain di perangkat Anda. Pengguna berbagi aplikasi. Saya tidak tahu mengapa mereka melakukannya tetapi mereka tahu. Jadi, jika satu pengguna memperbarui suatu aplikasi, pembaruan untuk pengguna lain juga. Jika Anda menghapus satu, itu tidak menghapus aplikasi dari sistem yang lain.

GregP
sumber
Ini adalah masalah saya! Terus mencoba menghapus - baik dengan adb dan secara manual, tetapi adb install <package.apk>terus gagal meskipun aplikasi tidak lagi terlihat dalam daftar aplikasi. Ternyata itu masih ada di akun lain di perangkat saya ... Terima kasih!
JD Sandifer
Ini memperbaikinya untuk saya juga. Untuk info tentang perangkat yang harus dihapus instalasinya untuk semua pengguna, saya harus pergi ke Pengaturan> Aplikasi, ketuk Aplikasi, ketuk elips di kanan atas dan ketuk Hapus Instalasi Untuk Semua Pengguna.
d219
3

Untuk memasang

adb install -r exampleApp.apk

(Itu -rmembuatnya mengganti salinan yang ada, tambahkan -sjika menginstal pada emulator)

Pastikan aplikasi ditandatangani sama dan merupakan debug/releasevarian yang sama

Bonus

Saya mengatur alias di saya ~/.bash_profile, untuk membuatnya menjadi perintah 2char.

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

(Pendek untuk Bangun dan Pasang)

Gibolt
sumber
0

Jika Anda masih menghadapi masalah, cobalah untuk menghapus aplikasi menggunakan command prompt. cukup tambahkan perintah adb uninstall com.example.yourpackagename lalu coba instal ulang lagi. Berhasil!

Sanket Sangani
sumber
0

Dengan tablet Android 5 saya, setiap kali saya mencoba menggunakan adb, untuk menginstal apk rilis yang ditandatangani, saya mendapatkan [INSTALL_FAILED_ALREADY_EXISTS]kesalahan.

Saya harus menghapus paket debug terlebih dahulu. Tapi, saya tidak bisa mencopot pemasangan menggunakan Pengelola Aplikasi perangkat !

Jika menghapus instalasi versi debug dengan Manajer Aplikasi , maka saya harus menjalankan kembali varian pembuatan debug dari Android Studio, lalu hapus instalasi menggunakanadb uninstall com.example.mypackagename

Akhirnya, saya bisa menggunakan adb install myApp.apkuntuk menginstal apk rilis yang ditandatangani.

BlueSpectrumz
sumber