2015-07-20 96 views
0

我知道類似的問題已經被提出並回答,但是我想知道的是爲什麼這種情況一直在我身上發生。爲了解決這個問題,我必須在Facebook中刪除應用程序,然後重新創建它。它工作,直到我斷開手機,然後我得到同樣的問題。我曾嘗試加入,理應不匹配的關鍵,以及產生使用調試鍵keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64密鑰哈希無效。關鍵XYZ不匹配

我已經使用的代碼也嘗試:

try { 
      PackageInfo info = getPackageManager().getPackageInfo(
        "com.org.package", PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       String sign = Base64 
         .encodeToString(md.digest(), Base64.DEFAULT); 

       Log.e("MY KEY HASH:", sign); 

      } 
     } catch (PackageManager.NameNotFoundException e) { 
     } catch (NoSuchAlgorithmException e) { 
     } 

我已經噸的這些問題,但我似乎無法弄清楚如何避免此問題再次出現,而無需在每次將設備重新連接到計算機時刪除項目。奇怪的是,每次出現錯誤時,它都是相同的keyhash。

回答

0

我想你還沒有在上面發佈的代碼中寫下你的應用程序包名稱而不是com.org.package

嘛,試試看改變包名到應用程序的包名稱...

try { 
     PackageInfo info = getPackageManager().getPackageInfo(
       "YOUR PACKAGE NAME HERE", 
       PackageManager.GET_SIGNATURES); 
     for (Signature signature : info.signatures) { 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
    } catch (NameNotFoundException e) { 

    } catch (NoSuchAlgorithmException e) { 

    } 
相關問題