В моем эмуляторе, когда я пытаюсь сделать обновление apk программным путем. Я получаю:
Android App Not Install.
An existing package by the same name with a conflicting signature is already installed
Я все еще на стадии тестирования этого обновления, поэтому файл, который я загружаю, является подписанным apk предыдущей версии, который, как я думаю, должен работать без каких-либо проблем.
Из предложения в: уже установлен существующий пакет с тем же именем с сигнатурой confilcting. Я попытался запустить эмулятор как в режиме отладки, так и в обычном режиме… не работал.
Любые мысли о том, что мне не хватает?
Проблема заключается в ключах, которые были использованы для подписи APK, по умолчанию, если вы используете прямо из своей среды разработки и открываете ваш эмулятор, APK, установленный в эмуляторе, подписан с вашим отладочным ключом (обычно устанавливается в ~/.android/debug.keystore), поэтому, если предыдущий APK был подписан с другим ключом, отличным от того, который вы используете в настоящее время, вы всегда будете иметь конфликт подписи, чтобы исправить его, убедитесь, что вы используете тот же самый чтобы подписать оба APK, даже если предыдущий APK был подписан с помощью отладочной клавиши из другого SDK, ключи определенно будут отличаться.
Также, если вы точно не знаете, какой ключ использовался раньше, чтобы подписать apk, но вы хотите установить новую версию своего приложения, вы можете просто удалить предыдущее приложение и переустановить новый.
Надеюсь, что это поможет…
Привет!
У меня было такое же сообщение об ошибке, но эти ответы не помогли. На 4.3 nexus 7 я использовал пользователя, который НЕ был владельцем. Я удалил старую версию, но я продолжал получать то же сообщение.
Решение: мне пришлось войти в систему как владелец и перейти в Настройки → Приложения, а затем перетащить на вкладку Все. Прокрутите вниз до самого конца списка, где указаны старые версии с меткой “не установлено”. Выберите его и нажмите кнопку “Настройки” в верхнем правом углу и, наконец, “удалить для всех пользователей”
Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.
Перейдите в Настройки> Приложения, найдите и откройте информацию о приложении. Затем откройте меню переполнения (3 вертикальные точки) и выберите “Удалить” для всех пользователей.
Существует различие между подписанными и неподписанными файлами APK. Скорее всего, у вас раньше было без знака. Вам просто нужно удалить неподписанный файл перед установкой подписанной версии. Как это можно сделать, зависит от конкретной версии, но в общем, перейдите в эмулятор к настройкам- > приложение, долго нажмите на свое приложение и удалите/удалите/удалите его.
Если вы используете debug apk, ключ, который используется для его подписания, находится в
C:\Users\<user>\.android\debug.keystore
Если вы используете тот же ключ, при установке не должно быть конфликтов.
Если вы не хотите беспокоиться о файле хранилища ключей, просто удалите пакет для всех пользователей.
Подключите устройство к Mac/ПК и запустите adb uninstall <package>
Работал для меня.
Если вышеприведенные решения не сработали, возможно, вы делаете что-то вроде следующего.
1) установка приложения из Appstore.
2) обновить его со знаком APK с тем же именем пакета обновленная версия.
Таким образом, в основном есть два вида, если APK.
1) Вы загрузили в PlayStore, известный как оригинальный APK.
2) скачать из playstore, известного как производный APK.
В этом случае в основном вы скачиваете производный APK и обновляете его оригинальным APK.
Чтобы все работало нормально, загрузите новый подписанный выпущенный APK в режиме внутреннего тестирования в Google Play Store и загрузите полученный APK, чтобы проверить сценарий обновления.
Если вы используете несколько пользователей в android, убедитесь, что приложение удалено повсюду.
У меня возникла проблема, когда сборка debug и release не будет установлена на устройствах, которые я использовал для отладки. Тот же самый msg появится при попытке установить новую версию. Единственным обходным решением было удалить текущую версию и установить новую.
Похоже, что Android-студия отмечает apk, который она устанавливает, так что установка с использованием менеджеров пакетов различает версию, установленную для отладки, и версии, загруженные из игры Google или других внешних источников (это никогда не случалось со мной при использовании eclipse).
Та же ошибка пакета:
- Создайте новый пакет в своем приложении с другим именем.
- Скопируйте и вставьте все файлы из старого пакета в новый пакет.
- Сохранить код.
- Удалите старый пакет и очистите и пересоберите проект.
Мне нужно было войти в систему в качестве владельца и перейти в “Настройки” → “Приложения”, затем перейти на вкладку “Все”. Прокрутите вниз до самого конца списка, где старые версии перечислены с пометкой “не установлено”. Выберите его и нажмите кнопку “Настройки” в правом верхнем углу и, наконец, “удалить для всех пользователей”
Возможно, приложение не удаляется успешно. Если ваше устройство в этом случае, вы можете попробовать этот метод.
Сначала получите имя пакета приложения, например “com.xxx.app”, вы можете использовать Root Explorer и найти его в файле манифеста (RE может декодировать файл). то вы можете использовать этот script, чтобы удалить его:
adb shell pm uninstall com.xxx.app // replace to package name that you want to remove
Может возникнуть другая причина, когда ваше приложение не будет обновляться при изменении/добавлении/удалении shareId в AndroidManifiest.
“андроид: sharedUserId”
Пожалуйста, проверьте это.
Чтобы предотвратить, рекомендуется использовать sharedUserId в вашем приложении, несмотря на то, что вам необходимо или сейчас требуется текущее требование.
Я попробовал все вышеперечисленное, и это не сработало.
Я обнаружил, что, несмотря на удаление приложения, новая версия приложения по-прежнему выдает ту же ошибку.
Вот что это решило:
зайдите в Настройки → Общие → Диспетчер приложений → выберите свое приложение → нажмите на три точки вверху → удалить для всех пользователей
После того, как вы это сделаете, теперь он фактически удален и теперь позволит установить новую версию.
Надеюсь это поможет.
от студии android перейти к:
Gradle → install → uninstallAll
что решит проблему.