Различные подписи apk в Android

#java #android

#java #Android

Вопрос:

У меня небольшая проблема. Я программирую на двух разных компьютерах, и когда я переключаюсь с одного на другой и пытаюсь запустить приложение, adb возвращает ошибку, потому что установленный apk и новый имеют разные подписи, и я должен вручную удалить его.

Есть ли какой-нибудь способ избежать этого?

Спасибо

Ответ №1:

Я полагаю, вы можете просто скопировать отладку.файл хранилища ключей с одной машины на другую (я уверен, что я это сделал, но в настоящее время я разрабатываю на 1 машине).

Ответ №2:

Другой вариант ответа Фила заключается в том, что в настройках Android в Eclipse есть возможность использовать альтернативный ключ отладки, поэтому вам не нужно перезаписывать копию.

Я делюсь такими вещами между своим рабочим столом и ноутбуком с помощью Dropbox и указываю альтернативную настройку ключа отладки на один из них.

Комментарии:

1. Не размещайте хранилище ключей выпуска в Dropbox, оно далеко не безопасно, и с ним было множество проблем. (Хотя для хранилища ключей отладки все в порядке)

2. Хорошее разъяснение сути дела. У меня там есть только моя отладка.

Ответ №3:

Редактировать: См. Комментарий Фила о копировании поверх debug .хранилище ключей. Это кажется предпочтительным решением.

Когда вы создаете приложение для Android, оно подписывается ключом отладки, специфичным для этого компьютера. Чтобы выполнять сборку с двух компьютеров без необходимости удалять приложение при каждом переключении, вам нужно будет подписывать apk-файл каждый раз при сборке одним и тем же ключом.

Лично я просто удаляю приложение всякий раз, когда меняю среду, но я вижу, что это причиняет боль, если вы часто переключаетесь туда-сюда.

Ответ №4:

Вы можете использовать один и тот же сертификат отладки на нескольких компьютерах, вам просто нужно скопировать его с одного на другие. Я делаю это на своих 4 машинах разработки, и это избавляет от многих разочарований, особенно если вы не хотите удалять хранилища данных вашего приложения.

В Windows хранилище C:Users[username].android ключей по умолчанию находится в . Я уверен, что есть аналоги для других операционных систем.

Dropbox действительно полезен для синхронизации хранилищ ключей.


В качестве альтернативы вы можете использовать пользовательское хранилище ключей, если оно имеет то же хранилище ключей, а также псевдонимы и пароли. Больше документации здесь.