Библиотека Android ведет себя по-разному при импорте aar вместо модуля - PullRequest
0 голосов
/ 10 мая 2019

Я создал библиотеку Android, которую я использую локально через .aar

В проекте библиотеки это выглядит так:

  • AAR Демонстрационный проект -: app: library (source)код)

Библиотека состоит из QR-сканера, используя Google Play Services Vision

, затем я экспортирую файл .aar, а затем импортирую в другое приложение, используя

Android Studio new / module / from aar/jar

  • Другой проект приложения -: otherApp: library (aar)

Есть несколько вещей, которые библиотека ведет себя по-разному:

1- QR-сканер не работает ВСЕ, если используется в качестве .aar, но он прекрасно работает, если импортировать через исходный код, я попытался импортировать исходный код в виде модуля в :otherApp, и он работает нормально, но с использованием.aar вообще не работает.

2- Чтобы использовать библиотеку, я также должен включить библиотеку Google Play Services Vision в :otherApp, если я ее не импортирую, я получаю ClassNotFoundExceptionЯ попытался определить Google Vision как переходную зависимость, например:

implementation('com.google.android.gms:play-services-vision:17.0.2') {
   transitive = true
}

, но проект :otherAppкажется, не читает его, но мне не нужно определять его в модуле :app внутри проекта исходного кода библиотеки.

Я хочу знать, есть ли разница между использованием библиотеки в качестве .aarПротив использования исходного кода в модуле (R8 / ProGuard отключен во всех проектах) и, если есть (потому что кажется, что это так), как я могу заставить .aar работать так же, как библиотека, импортированная через исходный код?

...