Могу ли я объединить несколько файлов хранилища ключей Android в один?

Я попал в немного раздражающую ситуацию с файлами хранилища ключей Android. В настоящее время у меня есть несколько разных приложений, каждое из которых подписано с другим файлом хранилища ключей. Типа вот так:

  • AppName1.apk подписан с AppName1.keystore
  • AppName2.apk подписан с AppName2.keystore
  • AppName3.apk подписан с AppName2.keystore

Каждое из хранилищ ключей содержит разные имена и псевдонимы для каждого приложения.

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

Мой общий вопрос: что я могу сделать, чтобы облегчить жизнь в будущем?

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


РЕДАКТИРОВАТЬ: Для справки, это один из уроков, которые я читал сегодня:

http://blog.blundell-apps.com/tut-change-alias-passwords-of-your-android-keystore/

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

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


Наконец, у меня есть 3-е хранилище ключей, которое я хотел бы объединить с другим, если это возможно? Поэтому в идеале я хотел бы иметь только одно хранилище ключей для всех трех приложений. Я знаю, что это, вероятно, толкает его, но я все равно спрошу.

Очевидно, я не хочу терять возможность обновлять существующие приложения.


person craftworkgames    schedule 18.02.2014    source источник
comment
Насколько я понимаю, если вы измените/объедините свои хранилища ключей в приложении, вы потеряете возможность обновлять существующее приложение (если только вы не готовы отказаться от существующей пользовательской базы/отзывов/текущих оценок/и т. д.). И, кстати, важно не имя приложения или его псевдоним, важно имя пакета приложения (вместе с хранилищем ключей, которое вы использовали изначально).   -  person Stephan Branczyk    schedule 18.02.2014
comment
@StephanBranczyk Я считаю, что вы правы в том, что одно и то же имя пакета приложения И один и тот же файл хранилища ключей должны использоваться вместе для работы обновлений, но, насколько я могу судить, можно изменить имя и псевдонимы в хранилище ключей, если фактические ключ остается прежним. Я обновил свой вопрос, чтобы, надеюсь, подтвердить это.   -  person craftworkgames    schedule 18.02.2014
comment
Да, изменение псевдонима хранилища ключей приведет к потере возможности обновлять существующее приложение. stackoverflow.com/questions/5724631/ ( и даже если бы вы могли изменить псевдоним хранилища ключей, чего вы явно не можете в соответствии с документацией, я бы просто не увидел в этом никакой пользы, поскольку ваши хранилища ключей все равно должны были бы отличаться друг от друга и изменить их псевдоним только затруднит их различение позже).   -  person Stephan Branczyk    schedule 18.02.2014


Ответы (3)


[ИЗМЕНИТЬ]

Теперь это возможно. Используйте KeyStore Explorer.

[Следует старый ответ]

No

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

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

Ссылка: http://developer.android.com/tools/publishing/app-signing.html

person Aman Gautam    schedule 18.02.2014

Да Вы можете объединить все ключи из разных хранилищ ключей в один. Чем нет необходимости управлять разными хранилищами ключей, вы также можете изменить псевдоним ключа, пароли для ключа и даже новое хранилище ключей для существующих ключей.

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

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

Используйте KeyStore Explorer.

person abcdef12    schedule 01.07.2015

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

Мне нужно было загрузить свежую среду выполнения Java, чтобы получить версию keytool, которая могла открыть недавнее хранилище ключей.

person Hauke    schedule 18.01.2019