Відповіді:
Якщо ви встановите програму на свій пристрій через 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 настільки темпераментний.