轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/105561341 本文出自 "【趙彥軍的博客】" 在 創建 的時候,一不小心勾選了 ,就非常坑,為什麼非常坑,因為這個一旦加入,就無法退出,後面的坑就後患無窮。 這裡普及一下 說到這裡 ...
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/105561341
本文出自【趙彥軍的博客】
在 GooglePlay
創建 App
的時候,一不小心勾選了 谷歌簽名保護計劃
,就非常坑,為什麼非常坑,因為這個一旦加入,就無法退出,後面的坑就後患無窮。
這裡普及一下 谷歌簽名保護計劃:
簡單來說,就是apk上傳到 GooglePlay 後,GooglePlay 會替換你的簽名,實際上用戶下載的 APK 的簽名並不是你最初上傳的簽名,而是 GooglePlay 自己的簽名,這個簽名存放在 Google 伺服器,我們是不能下載的。
說到這裡,大家就明白了,我前面說的坑是什麼意思?
因為 線上版本 和 本地版本 的簽名不一致,會導致 facebook 登錄失敗,google 登錄失敗、微信登錄失敗 。
那麼怎麼才能把 GooglePlay 的簽名換成我們自己的簽名
呢? 是有辦法的。
解決方案
第一步:應用簽名菜單下,請求升級密鑰
第二步: 選擇升級秘鑰的原因,你可以選擇第二個 "我需要針對多個應用或此應用的預安裝版本使用同一秘鑰"
第三步:下載工具(pepk.jar
)生成簽名壓縮包,並上傳即可。註意,此簽名一個應用只能更新一次,只有一次機會哦
在終端中執行
java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a --signing-keystore=foo.keystore --signing-key-alias=foo
註意:要把 foo.keystore 換成你的簽名,把 foo 換成你自己的 alias 。
執行完命令,會在本地生成 output.zip
, 然後上傳就可以了。
提交成功後可以看到谷歌的簽名已經替換成想要的了。與上傳簽名一致。如圖所示
總結
終於完美的解決了我們的問題,經過這一波操作,本地簽名和 GooglePlay 簽名已經保持一直了。