Почему подпись приложения изменяется в Android после изменения пути к классу? - PullRequest
4 голосов
/ 17 марта 2010

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

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

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

Re-installation failed due to different application signatures

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

Основной вопрос: не будут ли это беспокоить существующих пользователей?

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

Ответы [ 4 ]

12 голосов
/ 17 марта 2010

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

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

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

1 голос
/ 01 августа 2011

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

0 голосов
/ 27 сентября 2013

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

Приветствия

0 голосов
/ 26 июля 2013

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

...