2012-05-24 32 views
4

我正在嘗試創建一個使用Google OAuth庫的Android應用程序like this sampleAuthenticatorException:在AVD上綁定失敗

然而,當我撥打電話到getAuthTokenByFeatures我得到這個打印出來logcat的一個例外:

05-24 10:56:58.224: W/System.err(557): android.accounts.AuthenticatorException: bind failure 
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1563) 
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager.access$400(AccountManager.java:140) 
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1409) 
05-24 10:56:58.236: W/System.err(557): at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69) 
05-24 10:56:58.236: W/System.err(557): at android.os.Binder.execTransact(Binder.java:338) 
05-24 10:56:58.236: W/System.err(557): at dalvik.system.NativeStart.run(Native Method) 

然而,這不符合實際的Android設備發生。我正在模擬Android 4.0.3,並且無法在任何地方找到答案。有任何想法嗎?

+0

您需要爲帳戶管理器服務安裝的Google的帳戶驗證器才能綁定到它。所有「Google體驗」電話(即大多數)都會附帶此驗證碼 - 但是,SDK並非如此。 – Jens

+0

我明白了,謝謝。你能告訴我如何解決這個問題嗎?我剛剛注意到,Dev Tools下的一個名爲Google登錄的選項也無法使用。 – JSFernandes

+0

@JSFernandes - 我確實在谷歌api的(2.3.3)模擬器上運行我的應用程序,因爲你做了,但仍然得到相同的錯誤。任何想法什麼是錯的或我可以做什麼?在實際設備上也發生同樣的事情。我需要在設備上登錄Google帳戶嗎? – Braj

回答

5

當您沒有在清單中聲明Authenticator時,通常會看到這種情況。請參閱Creating a Stub Authenticator

<service 
     android:name="com.example.android.syncadapter.AuthenticatorService"> 
    <intent-filter> 
     <action android:name="android.accounts.AccountAuthenticator"/> 
    </intent-filter> 
    <meta-data 
     android:name="android.accounts.AccountAuthenticator" 
     android:resource="@xml/authenticator" /> 
</service> 
+1

..或者當您在清單容器之外的清單中聲明時,就像我自1小時以來一樣...... F。 – Flashbump