Android Приложение Не Устанавливается. Существующий пакет с тем же именем и конфликтующей подписью уже установлен
в моем эмуляторе, когда я пытаюсь сделать обновление моего apk программно. Я:
Android App Not Install.
An existing package by the same name with a conflicting signature is already installed
Я все еще на стадии тестирования этого обновления, поэтому файл, который я загружаю, является подписанным apk предыдущей версии, который, я думаю, должен работать без каких-либо проблем.
из предложения в:существующий пакет с тем же именем и подписью confilcting уже установлен я попытался запустить эмулятор как в режиме отладки, так и в обычном режиме... ни один не работал.
есть мысли о том, чего мне не хватает?
13 ответов
проблема в ключах, которые были использованы для подписания APKs, по умолчанию, если вы работаете непосредственно из вашей IDE и открываете эмулятор, APK, установленный в эмуляторе, подписан вашим ключом отладки(обычно устанавливается в ~/.android / отладка.keystore), поэтому, если предыдущий APK был подписан другим ключом, отличным от того, который вы используете в настоящее время, вы всегда получите конфликт подписей, чтобы исправить его, убедитесь, что вы используете тот же ключ для подписи обоих APKs, даже если предыдущий 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. Скорее всего, у вас там раньше был неподписанный. Вам просто нужно удалить неподписанный перед установкой подписанной версии. Как это может быть достигнуто, зависит от точной версии, но в целом, перейдите на эмулятор settings-> application, long click your app и удалите/удалите/удалите его.
Если вы используете debug apk, ключ, который используется для его подписания, находится в
C:\Users\<user>\.android\debug.keystore
Если вы используете тот же ключ, не должно быть конфликтов при установке.
Если вы не хотите возиться с файлом хранилища ключей, просто удалите пакет для всех пользователей.
подключите устройство к Mac / PC и запустите adb uninstall <package>
работал для меня.
У меня была проблема, когда отладка и сборка выпуска не будут установлены на устройствах, которые я использовал для отладки. Тот же msg появится при попытке установить новую версию. Единственным обходным путем было удаление текущей версии и установка новой.
похоже, Android studio отмечает apk, который он устанавливает, чтобы установка с помощью менеджеров пакетов различала версию, установленную для отладки, и версии, загруженные из Google play или других внешних источники (это никогда не случалось со мной при использовании eclipse).
Это может быть приложение не удалить успешно. Если ваше устройство в этом случае, вы можете попробовать этот метод.
сначала получите имя пакета приложения, e.г'ком.xxx.app', Вы можете использовать Root Explorer и найти его из файла манифеста(RE может декодировать файл). затем вы можете использовать этот скрипт для его удаления:
adb shell pm uninstall com.xxx.app // replace to package name that you want to remove
может быть еще одна причина, когда ваше приложение не будет обновляться при изменении/добавлении/удалении shareId в AndroidManifiest.
"android: sharedUserId"
пожалуйста, проверьте также.
для предотвращения рекомендуется использовать sharedUserId в вашем приложении, несмотря на ваше текущее требование, которое вам нужно или сейчас.
Я должен был войти в систему как владелец и перейти в Настройки - > Приложения, затем проведите по вкладке Все. Прокрутите вниз до самого конца списка, где старые версии перечислены с пометкой "не установлен". Выберите его и нажмите кнопку "Настройки" в правом верхнем углу и, наконец, "Удалить для всех пользователей"
та же ошибка пакета:
- создайте новый пакет в своем приложении с другим именем.
- скопируйте и вставьте весь файл в старый пакет в новый пакет.
- Сохранить Код.
- удалить старый пакет и очистить и перестроить проект.