Android Google Play app signing 最終完美解決方式
- 2020 年 4 月 16 日
- 筆記
- Android, Android Studio, Google Play app signing, Android簽名保護計劃, GooglePlay簽名保護計劃, google sign, google簽名, 趙彥軍, zhaoyanjun, android google登錄
轉載請標明出處://blog.csdn.net/zhaoyanjun6/article/details/105561341
本文出自【趙彥軍的部落格】
在 GooglePlay 創建 App 的時候,一不小心勾選了 Google簽名保護計劃 ,就非常坑,為什麼非常坑,因為這個一旦加入,就無法退出,後面的坑就後患無窮。
這裡普及一下 Google簽名保護計劃:
簡單來說,就是apk上傳到 GooglePlay 後,GooglePlay 會替換你的簽名,實際上用戶下載的 APK 的簽名並不是你最初上傳的簽名,而是 GooglePlay 自己的簽名,這個簽名存放在 Google 伺服器,我們是不能下載的。
說到這裡,大家就明白了,我前面說的坑是什麼意思?
因為 線上版本 和 本地版本 的簽名不一致,會導致 facebook 登錄失敗,google 登錄失敗、微信登錄失敗 。
那麼怎麼才能把 GooglePlay 的簽名換成我們自己的簽名呢? 是有辦法的。
解決方案
第一步:應用簽名菜單下,請求升級密鑰

第二步: 選擇升級秘鑰的原因,你可以選擇第二個 "我需要針對多個應用或此應用的預安裝版本使用同一秘鑰"

第三步:下載工具(pepk.jar )生成簽名壓縮包,並上傳即可。注意,此簽名一個應用只能更新一次,只有一次機會哦

在終端中執行
java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=encrypted_private_key_path --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
注意:要把 foo.keystore 換成你的簽名,把 foo 換成你自己的 alias 。
執行完命令,會在本地生成 output.zip , 然後上傳就可以了。
提交成功後可以看到Google的簽名已經替換成想要的了。與上傳簽名一致。如圖所示

總結
終於完美的解決了我們的問題,經過這一波操作,本地簽名和 GooglePlay 簽名已經保持一直了。

