Мне нужно загрузить новое приложение, просто дизайн немного отличается. Вчера я создал файл хранилища ключей для подписи приложения. Могу я использовать то же самое?
android
android-keystore
Ралука Лукачи
источник
источник
Ответы:
Вы можете использовать это
keystore
для любого количества приложений.Нет необходимости создавать новое хранилище ключей.
источник
Я приведу контраргумент против консенсусного ответа.
Я согласен с тем, что для большинства авторов приложений в большинстве случаев совместное использование одного и того же хранилища ключей / сертификата / пароля между вашими приложениями будет работать нормально. Критически важно использовать «один и тот же сертификат на протяжении ожидаемого срока службы ваших приложений », чтобы приложение могло обновиться само.
Но я могу придумать одну очень вескую причину для создания отдельных хранилищ ключей для отдельных приложений или семейств приложений. Если вы думаете, что, возможно, когда-нибудь захотите продать приложение кому-то еще, чтобы он опубликовал его как обновление до оригинала, вам придется поделиться с ним своим единственным хранилищем ключей и паролем для этого. Вероятно, это не большая проблема, но немного беспокоит вас и, возможно, проблема должной осмотрительности для достаточно крупного покупателя.
Кроме того, я действительно не читаю ту же строку в документации так же, как @ol_v_er. Думаю текущая строка:
(обратите внимание на отсутствие запятой в текущей версии) просто подчеркивает, что рекомендация «срок действия» применяется ко всем приложениям, а не на самом деле указывает вам использовать один и тот же сертификат для всех ваших приложений.
источник
Официальная документация сообщает нам:
https://developer.android.com/studio/publish/app-signing.html#considerations
Итак, да, попробуйте подписать все свои приложения одним и тем же сертификатом.
источник
Я хочу добавить здесь некоторые пояснения, потому что этот вопрос и предоставленные ответы приводят меня в замешательство. Очень важно понимать, что на самом деле представляет собой хранилище ключей.
Хранилище ключей - это просто средство для безопасного хранения пары открытого / закрытого ключей, которая используется для подписи ваших Android-приложений. Итак, да, вы можете без проблем использовать одно и то же хранилище ключей для подписания нескольких пакетов. Вы также можете использовать один и тот же псевдоним (каждый псевдоним является сертификатом) для подписи нескольких пакетов apks, и он будет работать. Однако это имеет последствия для безопасности. Если ваш единственный псевдоним скомпрометирован, то все ваши приложения будут скомпрометированы.
Однако, если вы намереваетесь однажды продать права на свои приложения, то использование одного и того же псевдонима для всех ваших приложений может быть не очень хорошей идеей. Однако использование одного и того же хранилища ключей при условии, что вы используете разные псевдонимы для каждого apk, не обязательно может быть плохим вариантом. Я уверен, что есть способ переместить сертификат из одного хранилища ключей в другое, чтобы можно было безопасно предоставить покупателю необходимые ключи только для этого сертификата.
Чтобы было очень ясно, хранилище ключей - это просто носитель для хранения ключей. Он не играет никакой роли в процессе подписания apk, а служит только для хранения ключей, которые фактически используются для подписи apk.
Ссылки:
Понимание хранилища ключей, сертификатов и псевдонимов
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
источник
Конечно! Вы можете использовать один и тот же файл хранилища ключей сколько угодно раз. Всегда лучше использовать один и тот же файл хранилища ключей для всех разрабатываемых вами приложений. Это поможет, если вы захотите обновить или изменить приложение. В это время вам необходимо подписать свое приложение тем же ключом.
источник
Я подписываю все свои приложения, используя один и тот же сертификат (хранилище ключей). Это дает преимущество, если я передумаю и хочу, чтобы мои приложения делились своими данными.
Как вы, возможно, знаете, Android идентифицирует каждое приложение с помощью UID. Если все ваши приложения подписаны одним и тем же сертификатом, вы можете запросить у Android назначение одного и того же идентификатора пользователя более чем одному приложению и, в свою очередь, заставить их работать в одном процессе и обмениваться данными.
Из документа android android: sharedUserId
источник
Недавнее обновление
Если вы хотите зарегистрироваться в программе подписания приложений с помощью Google, вам необходимо использовать новый другой ключ для подписи вашего apk или пакета, иначе после загрузки консоли Google вы получите сообщение об ошибке
источник