2016-02-25 55 views
1

我試圖爲基於谷歌授權的運行示例應用程序BMSBluemix:BMS-樣品,Android的helloauthentication錯誤

https://github.com/ibm-bluemix-mobile-services/bms-samples-android-helloauthentication

它的build.gradle改變targetSdkVersion 22後運行在Android模擬器工作室(我有java.lang.SecurityException異常:變更前失蹤android.permission.GET_ACCOUNTS)

我有以下按「平Bluemix」按鈕後,我的物理設備上的錯誤:

02-25 12:32:49.446 30033-31086/com.ibm.helloauthentication E/mfpsdk.AuthorizationProcessManager: AuthorizationProcessManager.handleAuthorizationFailure in AuthorizationProcessManager.java:426 :: authorization process failed 
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err:  at com.android.org.conscrypt.OpenSSLX509Certificate.checkValidity(OpenSSLX509Certificate.java:216) 
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.certificate.CertificatesUtility.checkValidityWithPublicKey(CertificatesUtility.java:59) 
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.saveCertificateFromResponse(AuthorizationProcessManager.java:214) 
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err: ... 12 more 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: Get request to Bluemix failed: THROWNjava.lang.RuntimeException: Failed to save certificate from response 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.saveCertificateFromResponse(AuthorizationProcessManager.java:222) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.access$100(AuthorizationProcessManager.java:51) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager$1.handleAuthorizationSuccessResponse(AuthorizationProcessManager.java:133) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager$InnerAuthorizationResponseListener.onSuccess(AuthorizationProcessManager.java:469) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.processResponse(AuthorizationRequestAgent.java:388) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.processResponseWrapper(AuthorizationRequestAgent.java:542) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.onSuccess(AuthorizationRequestAgent.java:513) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.ibm.mobilefirstplatform.clientsdk.android.core.api.internal.BaseRequest$1.onResponse(BaseRequest.java:419) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:170) 
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity:  at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33) 

任何想法?

+0

無法在我的物理或仿真器上重新創建(請參閱通過下載到SDK 22解決的SDK 23問題)。如果你可以在調試中運行並查看json是否崩潰,那麼可以提供幫助。它看起來像從響應json中獲取證書有問題。您是否使用相同的帳戶在仿真器上登錄物理設備?也可以幫助刪除Bluemix上的證書並重新添加它。 –

回答

1

更新了該示例以使用正確的權限處理,因此您應該能夠在SDK 23+上運行它,假設您在提示時授予權限。

我仍然無法在物理設備上重新創建您的特定問題,但對於這種類型的故障,我建議首先驗證一個錯誤的頭文件沒有被緩存(通過卸載並重新安裝應用程序來解決),並且應該失敗我會建議從Bluemix中刪除證書並重新添加它以重置與其關聯的權限和授權。