Я пытаюсь реализовать расширения kotlin для Android, чтобы использовать аннотацию @Parcelize, если я внедряю ее в модуль приложения ('com.android.application'), она работает без проблем, но когда я пытаюсь использовать ее в модуль библиотечного типа ('com.android.library') у меня не работает.
Конфигурация моего gradle следующая:
Build.gradle // app
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-allopen'
apply plugin: 'androidx.navigation.safeargs'
allOpen {
annotation 'com.juanlondono.app.soldi.testing.OpenClass'
}
androidExtensions {
experimental = true
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// ------------------------- KOTLIN ------------------------- //
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.11"
... // Other Dependencies
}
Build.gradle // library
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// ------------------------- KOTLIN ------------------------- //
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.11"
... // Other Dependencies
}
Для настройки расширений kotlin android я основываюсь на следующем руководстве: Kotlinlang
После выполнения предыдущей конфигурации я пытаюсь реализовать аннотацию @Parcelize, и она не работает, я получаю сообщение неразрешенная ссылка Parcelize.
добавление
androidExtensions {
experimental = true
}
На выходе из библиотеки возникает следующая ошибка:
Cannot invoke method get() on null object
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:prodDebugRuntimeClasspath'.
> A problem occurred configuring project ':model'.
> Failed to notify dependency resolution listener.
> Cannot invoke method get() on null object
> Cannot invoke method get() on null object
> Cannot invoke method get() on null object
> Cannot invoke method get() on null object
На данный момент реализация Parcelable выполняется вручную.