Я создал библиотеку 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 работать так же, как библиотека, импортированная через исходный код?