Пытаюсь сделать библиотеку которая используем koin и добавить ее в root приложение через .aar файл. Runtime crush.
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/koin/dsl/KoinApplicationKt;
at com.w.libraryapp.di.DemoSdkApplication.init(DemoSdkApplication.kt:15)
at com.w.rootapp.MainActivity.onCreate(MainActivity.kt:11)
at android.app.Activity.performCreate(Activity.java:7009)
at android.app.Activity.performCreate(Activity.java:7000)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
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.dsl.KoinApplicationKt" on path: DexPathList[[zip file "/data/app/com.w.rootapp-B3bQ-BAtuqIeS9-mBm7vlw==/base.apk"],nativeLibraryDirectories=[/data/app/com.w.rootapp-B3bQ-BAtuqIeS9-mBm7vlw==/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)
at com.w.libraryapp.di.DemoSdkApplication.init(DemoSdkApplication.kt:15)
at com.w.rootapp.MainActivity.onCreate(MainActivity.kt:11)
at android.app.Activity.performCreate(Activity.java:7009)
at android.app.Activity.performCreate(Activity.java:7000)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
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)
Если добавить koin зависимость в root приложение то чинится, но root приложение не должно использовать koin.
А вот если добавлять библиотеку в root приложение не как .aar , а отельным модулем то все отлично работает и в gradle модуля root приложения зависимостей koin добавлять не требуется.
Приложение связанное с библиотекой через модуль -
https://github.com/Novikov/MarketPlace
Приложение с подключенной библиотекой через .aar -
https://github.com/Novikov/RootApp
Библиотека отдельным модулем -
https://github.com/Novikov/LibApp