釋出Google Play的應用facebook登入異常
問題:
facebbook後臺配置了debug和release的簽名,然後釋出釋出google play之後,下載下來的應用登入facebook會報簽名錯誤,原因是google play重新簽名了.
解決:
把google play的簽名加到facebook後臺就行了
1.在google play的版本管理-應用簽名 下載簽名證書deployment_cert.der
2.然後把證書加到自己的簽名檔案jks檔案內
keytool -import -file [deployment_cert.der路徑] -keystore [應用jks檔案路徑]
3.簽名
keytool -exportcert -keystore [應用jks檔案路徑] | openssl sha1 -binary | openssl base64
4.最後把獲取的簽名新增到faccebook後臺即可,格式:hAvVouZBX9exF9p2wmJebwgx9Cm=
2.問題:
更改了一個包名的另外一個應用和之前應用用的同一套簽名,第一個產品釋出googleplay之後,把gp的證書匯入到簽名了,導致第二個應用的證書導不進去,會提示如下錯誤:
keytool 錯誤: java.lang.Exception: 證書未匯入, 別名 已經存在
解決:
把之前第一個產品的gp證書別名改一下就行了,因為gp證書的預設別名是mykey,更改別名:
keytool -changealias -keystore my.jks -alias [需要更改的別名] -destalias [新的別名]
然後再導第二個證書就ok了.
keytool常用命令:
- 檢視jks簽名庫裡的簽名信息:
keytool -v -list -keystore [應用jks檔案路徑]
- 更改別名:
keytool -changealias -keystore my.jks -alias [需要更改的別名] -destalias [新的別名]
- 刪除別名:
keytool -delete -alias [需要刪除的別名] -keystore [應用jks檔案路徑] -storepass [應用jks密碼]
- 匯出證書:
keytool -export -alias myalias -keystore my.jks -file myalias.crt -storepass jkspassword
- 列印證書資訊:
keytool -printcert -file myalias.crt
- 將證書匯入到金鑰庫並生成別名
keytool -import -alias myotheralias -file myalias.crt -keystore my1.jks -storepass jkspassword