Еще несколько полезных советов по устранению подобных проблем.
Сначала включите подробное ведение журнала для некоторых тегов:
$ adb shell setprop log.tag.AccountManagerService VERBOSE
$ adb shell setprop log.tag.Accounts VERBOSE
$ adb shell setprop log.tag.Account VERBOSE
$ adb shell setprop log.tag.PackageManager VERBOSE
Вы увидите такой журнал:
V/AccountManagerService: initiating bind to authenticator type com.example.account
V/Accounts: there is no service connection for com.example.account
V/Accounts: there is no authenticator for com.example.account, bailing out
D/AccountManagerService: bind attempt failed for Session: expectLaunch true, connected false, stats (0/0/0), lifetime 0.002, addAccount, accountType com.example.account, requiredFeatures null
Это означает, что для этого типа учетной записи не зарегистрирован аутентификатор. Чтобы узнать, какие аутентификаторы зарегистрированы, просмотрите журнал при установке пакета:
D/PackageManager: encountered new type: ServiceInfo: AuthenticatorDescription {type=com.example.account}, ComponentInfo{com.example/com.example.android.AuthenticatorService}, uid 10028
D/PackageManager: notifyListener: AuthenticatorDescription {type=com.example.account} is added
У меня была проблема, что XML-дескриптор аутентификатора ссылался на строковый ресурс, который не был разрешен должным образом во время установки:
android:accountType="@string/account_type"
Журналы показали
encountered new type: ServiceInfo: AuthenticatorDescription {type=@2131231194}, ...
Замена его на обычную строку (не ресурс) решила проблему. Это похоже на Android 2.1.
android:accountType="com.example.account"