Требуется ли для sharedUserId хранилище ключей подписи для нескольких приложений? - PullRequest
0 голосов
/ 23 января 2019

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

Официальная страница мало что описывает.

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

provided that their certificate sets are identical это означает только для хранилища ключей для выпуска?

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

Ответы [ 2 ]

0 голосов
/ 24 января 2019

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

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

apksigner проверяет --verbose --print-certs myapp.apk

Вывод этой команды (замените myapp.apk вашим приложением) должен быть одинаковым для всех приложений, которые используют один и тот же uid.

В противном случае, я на самом деле рекомендую не использовать sharedUserId и не искать другой способ обмена информацией между приложениями. Попробуйте контент-провайдеров или какой-нибудь другой механизм IPC.

0 голосов
/ 23 января 2019

Нет. для обоих приложений не требуются одинаковые ключи.

...