Ответ 1
Может быть, он не подписан правильно? Попробуйте создать его с помощью задач Eclipse или SDK Ant и сравните APK. Или используйте jarsigner для проверки подписи и убедитесь, что вы ожидаете.
Я пытаюсь создать и подписать приложение вручную, но я продолжаю получать INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
при установке в эмулятор, прежде чем я даже успел установить один раз.
На всякий случай, я попытался удалить приложение (да, я дал правильное имя пакета Java), но это не решило проблему.
Я также попытался перезапустить эмулятор и пометить флажок "Очистить данные пользователя".
Название пакета включает название нашей компании, поэтому оно не может столкнуться с внутренними пакетами.
Я не нашел в Интернете каких-либо других объяснений ошибки, кроме "у вас есть еще одна версия того же приложения, которое уже установлено", поэтому я как бы застрял здесь.
Спасибо!
Может быть, он не подписан правильно? Попробуйте создать его с помощью задач Eclipse или SDK Ant и сравните APK. Или используйте jarsigner для проверки подписи и убедитесь, что вы ожидаете.
Я тоже столкнулся с этой проблемой, и причина в том, что я уже установил одно и то же приложение, но подписал с другим ключом (ключ DEBUG или ключ release). Удаление старой установки вручную и повторная установка разрешили это.
Это сработало для меня:
Затем все работало как шарм.
У меня уже был APK на устройстве > удаление его для его решения > TNX
Сегодня я наткнулся на это, и это кажется актом подписания APK не один раз, что вызывает это.
Когда я создаю стандартную 'ant debug', которая автоматически подписывается с хранилищем отладки, затем добавляет файлы в APK и уходит в отставку с хранилищем отладки, все этапы и проверки дают мне ожидаемые результаты, но после установить на новую машину factory - reset Я получаю это сообщение.
Когда я создаю стандартную 'ant release', пропуская запрос пароля, нажав Ctrl-C, затем добавьте файлы в APK и отмените его с помощью своего личного хранилища ключей, все будет работать так, как ожидалось.
Вы можете использовать стандартные методы для создания ваших файлов APK, но перед тем, как уйти в отставку, вам нужно удалить каталог META-INF внутри файла APK, чтобы распечатать его. В Linux/Mac вы можете использовать команду zip -d yourapp.apk "META-INF *".
Еще одна вещь: некоторые люди сообщали о проблемах, выполняющих операции с unsign/sign на выровненных APK файлах, поэтому, если у вас есть этот параметр, вы, вероятно, должны работать с невыровненными, а затем zipalign в качестве последнего шага.
Для каждой новой сборки мы запускаем тесты на эмуляторе. Поскольку мы хотели начать с известной конфигурации с каждым новым тестовым прогоном, мы каждый раз создаем новый AVD после удаления старого:
android delete avd -n ${EMULATOR}
android создать avd -n ${EMULATOR} -t 26
Даже на этом недавно созданном AVD мы видели:
Отказ [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
при установке как APK для тестирования, так и теста APU JUnit.
Кажется, что мы работали для нас:
adb удалить my.app.name
adb удалить my.app.name.test
для вновь созданного эмулятора, хотя это приводит к
Отказ
Возможная установка (после сборки):
[exec] 1174 КБ/с (4430116 байт за 3.683s)
[exec] pkg:/data/local/tmp/MainActivity-debug.apk
Успешное выполнение [exec]
для тестирования APK и тестирования APK.
попытайтесь удалить приложение на устройстве, а затем запустите его на льду
Это единственное, что сработало для меня:
$ adb uninstall com.example.testproj
Надеюсь, что это поможет
Просто, если кто-то другой получил этот сбой, и ни одно из вышеперечисленных решений не работает, убедитесь, что вы отключили права администратора для своего приложения, если вы его запросили.
Имела ту же проблему при работе с приложением с нескольких компьютеров. Несмотря на удаление приложения с моего устройства, проблема не устранена. Однако я обнаружил, что пакет по-прежнему установлен для других пользователей на устройстве.
На устройстве перейдите в "Настройки" > "Приложения" и нажмите на пакет. Затем нажмите кнопку меню/опции и выберите "Удалить для всех пользователей".
Это должно позволить устройству снова установить на ваше устройство.
У меня возникла проблема с выполнением задачи gradle connectedDebugAndoidTest
(или connectedAndroidTest
) против Genymotion. Запуск его на обычный эмулятор решил проблему.
Если у вас есть гостевые пользователи на вашем устройстве, переключитесь на гостевого пользователя и проверьте, установлено ли ваше собственное приложение уже в гостевой учетной записи, удалите его или удалите гостевого пользователя по своему выбору, а затем запустите приложение. Надеюсь это поможет!
Это может произойти, если пакет в AndroidManifest отличается от пакета в файлах Java
Я решил это, просто удалив старое приложение, удалив с устройства и собрав заново.