Исправьте меня, если я ошибаюсь, но если вы увидите этот ответ на аналогичный вопрос, вы увидите, что сертификат действительно зависит от конкретного "псевдонима" (в вашем хранилище ключей), который вы выбираете подписать.
Внимательно прочитайте ответ, и вы увидите, что «хранилище ключей» содержит «псевдонимы» (которые на самом деле являются парами секретный + открытый ключ). Когда вы подписываете свой apk, именно «открытый ключ» является фактическим внедряемым сертификатом.
Поэтому при обновлении приложения вы всегда должны использовать один и тот же «псевдоним», а не одно и то же «хранилище ключей». Что касается того, почему у разработчиков было несколько «псевдонимов» в хранилище ключей, я не уверен в преимуществах, кроме того, что заявили вы и другие.
И единственный способ подписать его под другим псевдонимом - это клонировать предыдущий, как и предполагает ответ.
Я также подтвердил, что при подписании APK с разными псевдонимами (из одного и того же хранилища ключей) будут генерироваться разные подписи APK , что должно служить доказательством того, что разные «псевдонимы» = разные сертификаты. Как получить подпись sig (<- примечание: я не знаю, к какому методу Trace.i они относятся, вместо этого я использовал Log.i) </p>