嘗試添加下面的代碼片段到你的應用程序,而它的同版本的證書籤名,比較你提交給Facebook的門戶網站之一的散列輸出:
PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String hash= new String(Base64.encode(md.digest(), 0));
Log.e("hash", hash);
}
} catch (NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
但是,這讓我對調試的關鍵散列。它已經在Facebook門戶中。它與錯誤消息中的密鑰不同。 – tamird14
發佈你的應用程序與發行證書並運行該片段,它將顯示發行證書的散列 –
如果我嘗試通過android studio運行應用程序,它使用調試密鑰庫(它從谷歌播放卸載我的應用程序並安裝一個新的一個)。如果我從谷歌播放運行應用程序,我會在哪裏看到日誌消息? – tamird14