Я столкнулся с проблемой (приложение вылетает при запуске) с выпуском apk при включении proguard.
Вот трассировка стека:
E / AndroidRuntime: FATAL EXCEPTION: main Process: com .xxxx.yyyy, PID: 24018 java .lang.NoClassDefFoundError: Ошибка разрешения: Lorg / koin / core / context / GlobalContextKt; в com.xxxx.yyyy.MyApp.onCreate (MyApp.kt: 31) в android .app.Instrumentation.callApplicationOnCreate (Instrumentation. java: 1202) в android .app.ActivityThread.handleBindApplication (ActivityThread. java: 7349) в android .app.ActivityThread.access $ 2400 (ActivityThread. java: 308) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2295) в android .os.Handler.dispatchMessage (Handler. java: 110) в android .os.Looper.l oop (Looper. java: 219) в android .app.ActivityThread.main (ActivityThread. java: 8347) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 513) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 1055) Вызвано: java .lang.ClassNotFoundException: org.koin.core.context.GlobalContextKt в com.xxxx.yyyy.MyApp.onCreate (MyApp.kt: 31) в android .app.Instrumentation.callApplicationOnCreate (Instrumentation. java: 1202) в android .app.ActivityThread.handleBindApplication (ActivityThread. * 10 36 *: 7349) в android .app.ActivityThread.access $ 2400 (ActivityThread. java: 308) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2295) в android .os.Handler.dispatchMessage (Handler. java: 110) в android .os.Looper.l oop (Looper. java: 219) в android .app.ActivityThread.main (ActivityThread. java: 8347) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 513) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 1055)
Вот мой класс приложения, где я начинаю коин:
``` class MyApp : Application() {
companion object {
var language: String? = null
}
@ExperimentalContracts
override fun onCreate() {
super.onCreate()
// Start Koin
startKoin {
androidContext(this@MyApp)
androidLogger(Level.DEBUG)
modules(
listOf(
appModule,
networkModule,
activityModules
)
)
}
}
override fun attachBaseContext(base: Context?) {
if (base != null) {
super.attachBaseContext(LocaleHelper.onAttach(base))
}
else {
super.attachBaseContext(base)
}
}
} ```
Версия коина: 2.0 .1 Что интересно, вылетает только в подписанном apk релиза, когда minifyEnabled = true. Но если сборка отладки с minifyEnabled = true, она не вылетает! Я знаю, что не публиковал больше примеров кода, но очень сложно выяснить, что вызывает cra sh из журналов для выпуска apk. Я уже читал некоторые отчеты о проблемах на GitHub, но мне это не помогло. Спасибо за любой совет!