当proguard与发布版apk一起启用时,Android应用程序崩溃:NoClassDefFoundError:Lor



在启用proguard时,我在发布apk时遇到了问题(应用程序在启动时崩溃(。

这是堆栈跟踪:

E/AndroidRuntime:致命异常:main进程:com.xxxx.yyyy,PID:24018java.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(ActivityThreads.java:7349(在android.app.ActivityThread.access$2400(ActivityThreads.java:308(在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:2295(在android.os.Handler.dispatchMessage(Handler.java:110(在android.os.Looper.loop(Looper.java:219(在android.app.ActivityThread.main(ActivityThreads.java:8347(位于java.lang.reflect.Method.ioke(本机方法(网址:com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513(网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.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(ActivityThreads.java:7349(在android.app.ActivityThread.access$2400(ActivityThreads.java:308(在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:2295(在android.os.Handler.dispatchMessage(Handler.java:110(在android.os.Looper.loop(Looper.java:219(在android.app.ActivityThread.main(ActivityThreads.java:8347(位于java.lang.reflect.Method.ioke(本机方法(网址:com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513(网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:1055(

这是我的应用程序类,从这里开始koin:

```    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)
}
}
} ```

Koin版本:2.0.1有趣的是,只有在minimyEnabled=true时,发布签名的apk才会崩溃。但是,如果使用minimyEnabled=true调试生成,它不会崩溃!我知道我没有发布更多的示例代码,但很难从发布apk的日志中调查崩溃的原因。已经在GitHub上阅读了一些问题报告,但对我没有帮助。谢谢你的建议!

我发现了一个问题。我完全忘记了上周我更改了firebase crashlytics库的gradle导入(使用新方法(。还删除了在proguard角色文件中保留类crashlytics。

相关内容

最新更新