Как сделать di в библиотеку с помощью koin?
Необходимо выполнить di в разрабатываемую библиотеку с помощью koin. Пробовал версию 3.2 c аннотациями и 3.1.2. Библиотека билдится, но после подключения в тестовое приложение краш. Предварительно я проверял каждую версию koin на чистом проекте и он отлично работает, но с библиотекой не хочет. Версии зависимостей брал из офф тестового koin приложения. В чем может быть проблема?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test.marketplace, PID: 25794
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/koin/core/context/DefaultContextExtKt;
at com.test.SociumApp.onCreate(SociumApp.kt:14)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5740)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.koin.core.context.DefaultContextExtKt" on path: DexPathList[[zip file "/data/app/com.test.marketplace-UQh_9TqVZu-TiZJfDqUBFA==/base.apk"],nativeLibraryDirectories=[/data/app/com.test.marketplace-UQh_9TqVZu-TiZJfDqUBFA==/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
project gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.ksp_version = "1.6.21-1.0.5"
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
plugins {
id "com.google.devtools.ksp" version "$ksp_version"
}
task clean(type: Delete) {
delete rootProject.buildDir
}
module gradle
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'com.google.devtools.ksp'
}
android {
compileSdk 31
defaultConfig {
minSdk 24
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
// For KSP
testVariants.all { variant ->
variant.sourceSets.java.each {
it.srcDirs += "build/generated/ksp/${variant.name}/kotlin"
}
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Koin
def koin_version = "3.2.0"
def koin_ksp_version = "1.0.1"
implementation "io.insert-koin:koin-android:$koin_version"
implementation "io.insert-koin:koin-annotations:$koin_ksp_version"
ksp "io.insert-koin:koin-ksp-compiler:$koin_ksp_version"
}