То, что я пытаюсь сделать, - это разделить все процедуры управления учетными записями в отдельной библиотеке .aar, чтобы использовать ее во всех моих проектах. Суть в том, чтобы использовать одну и ту же учетную запись для разных приложений. Например: я вошел в приложение A. Приложение A сохранило некоторые данные аутентификации в менеджере учетных записей. Затем я устанавливаю приложение B с таким же AAR и управлением учетными записями. Приложение B автоматически использует учетные данные, созданные в приложении A.
Для первой простой попытки я собрал все "типа CRUD" методы для AccountManager в моем AAR. Я также добавил классы AuthenticatorService и Authenticator в этот AAR и добавил свою службу с помощью authentication.xml в манифест AAR.
Проблема в том, что приложение, которое использует мой AAR для аутентификации, не может создать учетную запись. Я продолжаю получать исключение "uid XXX cannot explicitly add accounts of type: com.example.acc_type
".
Я перепроверил, и типы учетных записей совпадают в authenticationator.xml и в моем коде.
Более того: если я перенесу AuthenticatorService, классы Authenticator, authentication.xml и описание службы из AAR в приложение - все работает нормально!
Так что я считаю, что есть какая-то ошибка. Действительно ли возможно иметь AuthenticatorService и Authenticator в библиотеке aar?