Подробности настройки:
- Библиотечный модуль ():
Код: Выделить всё
AndroidCore
Содержит объекты ObjectBox, помеченные @Entity. - Компилируется и распространяется в виде файла AAR. .
- Использует ObjectBox версии 4.0.2.
- конфигурация:
Код: Выделить всё
build.gradle
Код: Выделить всё
gradle
plugins {
id 'com.android.library'
id 'io.objectbox' version '4.0.2'
}
dependencies {
implementation 'io.objectbox:objectbox-android:4.0.2'
}
- Основное приложение ():
Код: Выделить всё
MyApp
Включает библиотеку AndroidCore AAR. - Использует ObjectBox версии 4.0.2. ли>
конфигурация:
Код: Выделить всё
build.gradle
Код: Выделить всё
gradle
plugins {
id 'com.android.application'
id 'io.objectbox' version '4.0.2'
}
dependencies {
implementation 'io.objectbox:objectbox-android:4.0.2'
implementation files('libs/AndroidCore.aar') // Path to the AAR file
}
Когда я включаю AndroidCore AAR в свое основное приложение MyApp, объекты ObjectBox, определенные в AndroidCore не распознаются в MyApp. В частности:
- Файл модели default.json в MyApp не создается с использованием объектов из AndroidCore.< /li>
Такие методы, как .entityClasses() или .entity() в MyObjectBox.builder(), либо не существуют, либо требуют несовместимых параметров (например, они ожидают EntityInfo вместо класса).
- Гарантированные объекты являются общедоступными и аннотированы:
- Все объекты в AndroidCore являются общедоступен и правильно аннотирован @Entity.
- Соответствующие версии ObjectBox:
- И AndroidCore, и MyApp используют одну и ту же версию ObjectBox ().
Код: Выделить всё
4.0.2
- И AndroidCore, и MyApp используют одну и ту же версию ObjectBox (
- Настройка объектного поля Расширение:
- Пыталась настроить расширение objectbox в build.gradle MyApp для включения файлов модели или пакетов из AndroidCore:
Однако это приводит к ошибке:
Код: Выделить всё
objectbox { includes = ['com.mycompany.androidcore'] }
Код: Выделить всё
Could not set unknown property 'includes' for extension 'objectbox' of type io.objectbox.gradle.ObjectBoxPluginExtension.
- Пыталась настроить расширение objectbox в build.gradle MyApp для включения файлов модели или пакетов из AndroidCore:
- Изучение альтернативных методов:
- Искал обновленные способы включения внешних объектов согласно последней документации ObjectBox, но не смог найти решение, которое работало бы с Модули AAR.
- Как правильно включить объекты ObjectBox из модуля библиотеки AAR () в мое основное приложение (
Код: Выделить всё
AndroidCore
) с использованием ObjectBox версии 4.0.2?Код: Выделить всё
MyApp
- Требуется ли определенная конфигурация в файлах build.gradle обоих модулей, чтобы ObjectBox мог распознавать и объединять объекты из внешнего модуля AAR?
- Существуют ли обновленные методы или лучшие практики для этого сценария в ObjectBox 4.0.2, учитывая, что такие свойства, как include или modelFiles, устарели или больше не поддерживаются?
- Ограничения:
Из соображений структуры проекта мне нужно сохранить AndroidCore как библиотеку AAR, а не включать ее как модуль в тот же проект.
- Ошибки сборки, связанные с неизвестными свойствами в расширении objectbox.
- Основное приложение не распознает объекты из библиотеки AAR, что приводит к ошибкам выполнения при доступе к базе данных.
Запрос:
Буду очень признателен за любые рекомендации о том, как правильно включать и использовать объекты ObjectBox из модуля библиотеки AAR в моем основном приложении. . Если у кого-то есть рабочий пример или он может указать мне на соответствующую документацию или лучшие практики для ObjectBox версии 4.0.2, это будет очень полезно.
Заранее благодарим вас за помощь!
Заранее благодарим вас за помощь!
Заранее благодарим вас за помощь!
п>
Подробнее здесь: https://stackoverflow.com/questions/790 ... id-app-obj