এই জাতীয় সমস্যাগুলি ডিবাগ করার জন্য আরও কিছু দরকারী টিপস।
প্রথমে কিছু ট্যাগের জন্য ভার্বোজ লগিং সক্ষম করুন:
$ 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
আমার সমস্যা ছিল যে প্রমাণীকরণকারী এক্সএমএল বর্ণনাকারী একটি স্ট্রিং রিসোর্সে উল্লেখ করেছেন যা ইনস্টলেশনের সময় সঠিকভাবে সমাধান হয়নি:
android:accountType="@string/account_type"
লগগুলি দেখিয়েছে
encountered new type: ServiceInfo: AuthenticatorDescription {type=@2131231194}, ...
এটি একটি সাধারণ স্ট্রিং (সংস্থান নয়) দিয়ে প্রতিস্থাপন করা সমস্যার সমাধান করে। এটি অ্যান্ড্রয়েড ২.১ নির্দিষ্ট বলে মনে হচ্ছে।
android:accountType="com.example.account"