В моем эмуляторе, когда я пытаюсь программно обновить свой apk. Я получил:
Android App Not Install.
An existing package by the same name with a conflicting signature is already installed
Я все еще нахожусь на этапе тестирования этого обновления, поэтому загружаемый файл представляет собой подписанный apk предыдущей версии, которая, я думаю, должна работать без каких-либо проблем.
Из предложения в: существующий пакет с тем же именем с подтверждающей подписью уже установлен. Я попытался запустить эмулятор как в режиме отладки, так и в обычном режиме ... ни один из них не работал.
Есть мысли о том, что мне не хватает?
android
android-install-apk
Джеймс Оравек
источник
источник
Ответы:
Проблема заключается в ключах, которые использовались для подписи APK-файлов, по умолчанию, если вы запускаете непосредственно из своей среды IDE и открываете свой эмулятор, APK, установленный в эмуляторе, подписывается вашим отладочным ключом (обычно устанавливается в ~ / .android /debug.keystore), поэтому, если предыдущий APK был подписан другим ключом, отличным от того, который вы используете в настоящее время, вы всегда будете получать конфликт подписей, чтобы исправить это, убедитесь, что вы используете тот же ключ для подписи оба APK, даже если предыдущий APK был подписан отладочным ключом из другого SDK, ключи определенно будут разными.
Кроме того, если вы точно не знаете, какой ключ использовался до подписания apk, но все же хотите установить новую версию своего приложения, вы можете просто удалить предыдущее приложение и переустановить новое.
Надеюсь это поможет...
С уважением!
источник
У меня было такое же сообщение об ошибке, но эти ответы не помогли. На Nexus 7 4.3 я использовал пользователя, который НЕ был владельцем. Я удалил старую версию, но продолжал получать то же сообщение.
Решение: мне пришлось войти в систему как владелец и перейти в «Настройки» -> «Приложения», а затем перейти на вкладку «Все». Прокрутите вниз до самого конца списка, где старые версии указаны с пометкой «не установлены». Выберите его, нажмите кнопку «Настройки» в правом верхнем углу и, наконец, «удалить для всех пользователей».
источник
Перейдите в «Настройки»> «Приложения», найдите и откройте информацию о приложении. Затем откройте дополнительное меню (3 вертикальные точки) и выберите «Удалить» для всех пользователей.
источник
Если вы не хотите возиться с файлом хранилища ключей, просто удалите пакет полностью для всех пользователей.
Подключите ваше устройство к Mac / ПК и запустите
adb uninstall <package>
Работал у меня.
Ссылка: /android/92025/how-to-completely-uninstall-an-app-on-android-lollipop
источник
Есть разница между подписанными и неподписанными файлами APK. Скорее всего, раньше у вас там был неподписанный. Вам просто нужно удалить неподписанное перед установкой подписанной версии. Как это можно сделать, зависит от конкретной версии, но в целом перейдите на эмулятор в настройки-> приложение, нажмите и удерживайте свое приложение и удалите / удалите / удалите его.
источник
app not installed
. Я проверил настройки эмулятора, и онAllow installation of apps from unknown sources
проверил. Так что, похоже, это не решение.Если вы используете отладочный apk, ключ, который используется для его подписи, находится в
Если вы используете тот же ключ, конфликта при установке быть не должно.
источник
Если приведенные выше решения не помогли вам, возможно, вам нужно сделать следующее:
1) установка приложения из Appstore.
2) обновление его подписью APK с той же обновленной версией пакета.
Так что в основном есть два типа APK.
1) вы загрузили в игровой магазин, известный как оригинальный APK.
2) скачать из игрового магазина, известного как производный APK.
В этом случае в основном вы загружаете производный APK и обновляете его исходным APK.
Чтобы он работал нормально, загрузите новый подписанный выпущенный APK во внутреннем тестовом режиме в Google Play Store и загрузите производный APK, чтобы проверить сценарий обновления.
источник
Если вы используете несколько пользователей на Android, убедитесь, что приложение удалено везде.
источник
У меня возникла проблема, из-за которой как отладочная, так и выпускная сборка не устанавливались на устройствах, которые я использовал для отладки. Такое же сообщение появится при попытке установить новую версию. Единственный обходной путь - удалить текущую версию и установить новую.
Похоже, что студия Android отмечает установленный apk, чтобы при установке с использованием менеджеров пакетов можно было различать версию, установленную для отладки, и версии, загруженные из Google Play или других внешних источников (со мной такого никогда не случалось при использовании eclipse).
источник
Возможно, приложение не удалось удалить. Если ваше устройство именно в этом случае, вы можете попробовать этот метод.
Сначала получите имя пакета приложения, например «com.xxx.app», вы можете использовать Root Explorer и найти его в файле манифеста (RE может декодировать файл). то вы можете использовать этот скрипт для его удаления:
источник
Та же ошибка пакета:
источник
Мне пришлось войти в систему как владелец и перейти в «Настройки» -> «Приложения», а затем перейти на вкладку «Все». Прокрутите вниз до самого конца списка, где старые версии указаны с пометкой «не установлены». Выберите его, нажмите кнопку «Настройки» в правом верхнем углу и, наконец, «удалить для всех пользователей».
источник
Может быть другая причина, по которой ваше приложение не обновляется при изменении / добавлении / удалении shareId в AndroidManifyt.
"Андроид: sharedUserId"
Пожалуйста, проверьте это также.
Чтобы предотвратить, рекомендую использовать sharedUserId в вашем приложении, несмотря на то, что вам нужно сейчас или сейчас.
источник
Я попробовал все вышеперечисленное, и это не сработало.
Я обнаружил, что, несмотря на удаление приложения, новая версия приложения по-прежнему выдает ту же ошибку.
Вот что решило это: перейдите в Настройки -> Общие -> Диспетчер приложений -> выберите свое приложение -> нажмите на три точки вверху -> удалить для всех пользователей.
Как только вы это сделаете, он будет фактически удален и позволит установить вашу новую версию.
Надеюсь это поможет.
источник