Відповіді:
Якщо ви встановите програму на свій пристрій через adb installвас, слід шукати варіант перевстановлення, який повинен бути -r. Тож якщо ви це зробите, adb install -rви повинні мати можливість встановити без видалення раніше.
adb install -rспочатку видалити, а потім встановити чи оновити додаток. Хоча adbопис не дуже зрозумілий ( -r: замініть існуючий додаток ), adb install -rдійсно оновить додаток і не видаляє ваші дані програми. Тому підходить для тестового оновлення вашого додатка (це інформація, яку я шукав).
adb install -rце не працює: я думаю, що .apkфайл, який ви намагаєтесь встановити, не був підписаний тим самим сертифікатом розробника, що і .apkфайл, встановлений на пристрої. Це легко відбувається, якщо ви встановили програму налагодження, а потім намагаєтесь встановити програму Release або навпаки. Ви не можете оновити програму, якщо вона не підписана тим самим сертифікатом.
Ви отримуєте цю помилку, оскільки програма, яка має назву пакета, така сама, як і ваша програма, вже існує. Якщо ви впевнені, що раніше не встановлювали ту саму програму, змініть назву пакета та спробуйте.
Інакше розумно, ось що ви можете зробити:
adb uninstall my.package. Як не дивно, він не видалив префікси, які я хотів видалити, але він позбувся пакету, і саме це заважало мені перевстановити його.
Це може означати, що додаток уже встановлено для іншого користувача на вашому пристрої. Користувачі діляться програмами. Я не знаю, чому вони так роблять, але так. Отже, якщо один користувач оновлює додаток, оновиться також і для іншого користувача. Якщо ви видалите іншу, додаток не видаляє додаток із системи з іншого.
adb install <package.apk>не виходили з ладу, навіть якщо додаток більше не було видно у списку програм. Виявляється, він все ще був на іншому акаунті на моєму пристрої ... Дякую!
adb install -r exampleApp.apk
( -rПримушує його замінювати наявну копію, додавати, -sякщо встановлюється на емуляторі)
Переконайтеся, що додаток підписано однаковим і таким же debug/releaseваріантом
Я встановив псевдонім у своєму ~/.bash_profile, щоб зробити його командою 2char.
alias bi="gradlew && adb install -r exampleApp.apk"
(Короткий варіант для створення та встановлення)
Якщо ви все ще стикаєтеся з проблемою, спробуйте видалити програму за допомогою командного рядка. просто додайте команду, adb uninstall com.example.yourpackagename
тоді спробуйте перевстановити знову. Це працює!
За допомогою мого планшета Android 5 щоразу, коли я намагаюся використовувати adb для встановлення підписаного випуску apk, я отримую [INSTALL_FAILED_ALREADY_EXISTS]помилку.
Я повинен спочатку видалити пакет налагодження. Але я не можу видалити за допомогою Диспетчера програм пристрою !
Якщо ви видалите версію налагодження за допомогою диспетчера програм , мені доведеться повторно запустити варіант збирання налагодження з Android Studio, а потім видалити його за допомогоюadb uninstall com.example.mypackagename
Нарешті, я можу використовувати adb install myApp.apkдля встановлення підписаного випуску apk.
adb install -rне завжди працює (у мене є EVO 4G від Sprint, який відмовляється вести себе так, як очікувалося). Єдина робота, яку я знайшов, - це видалення програми вручну. Іноді мені навіть доводиться це робити через інтерфейс телефону, оскільки EVO настільки темпераментний.