Почему подпись приложения меняется в Android после изменения пути к классу?

StackOverflow https://stackoverflow.com/questions/2458931

  •  20-09-2019
  •  | 
  •  

Вопрос

У меня есть проект для Android, который разделился на три разных приложения, app-1, app-2 и app-3, которые применяют некоторые настройки.В настоящее время существует большое дублирование кода, что превращает обслуживание в кошмар:внесите изменения в одну из ветвей, а затем объедините две другие.

Итак, мы создаем библиотечный проект с именем app-core, что исключает большую часть дублированного кода.Пока все идет хорошо.

Когда я запускаю это в эмуляторе, где приложение уже было загружено (до рефакторинга), я получаю это исключение:

Re-installation failed due to different application signatures

Другая подпись?Но я только что добавил строчку в .classpath чтобы перейти по ссылке на app-core Java-проект!

Главный вопрос заключается в следующем:будут ли существующие пользователи тоже обеспокоены этим?

И еще один побочный вопрос:Почему это другая подпись?

Это было полезно?

Решение

Цифровая подпись управляется ключом подписи, который существует на компьютере, подписывающем приложение.Если разработчик A компилирует приложение, используя стандартный ключ отладки, и устанавливает его в эмуляторе, затем пытается установить какой-либо другой вариант приложения - один, подписанный рабочим ключом, другой, подписанный ключом отладки разработчика B. и т.д.-- в том же эмуляторе вы получите эту ошибку.

Главный вопрос заключается в следующем:будут ли это беспокоить существующих пользователей тоже?

Есть ли у вас рабочий ключ подписи, который вы использовали для версии приложения, используемой вашими существующими пользователями?Если да, то проблем возникнуть не должно.Если нет, то тебе крышка.

Другие советы

Удалите приложение на устройстве, затем снова запустите код, все заработает.Это происходит со мной, и я попробовал то же самое, теперь все работает правильно.

Для решения этой проблемы вам необходимо проверить, что в разделе (Window->Preferences->Android->build) используется правильный ключ.Это вы можете проверить в файле android.mk приложения.И после размещения правильного пути к ключу, ОЧИСТИТЕ и ПОСТРОИТЕ проект, чтобы избежать этой ошибки.

У меня была похожая проблема.Если вы устанавливаете его на свое устройство, вам необходимо удалить приложение на своем устройстве, прежде чем устанавливать его из eclipse.Это обязательно решит вашу проблему.

Ваше здоровье

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top