简体   繁体   English

Android 当 proguard 启用发布 apk 时应用程序崩溃:NoClassDefFoundError:解析失败:Lorg/koin/core/context/GlobalContextKt;

[英]Android app crashes when proguard enabled with release apk: NoClassDefFoundError: Failed resolution of: Lorg/koin/core/context/GlobalContextKt;

I am facing with problem (app crashes at start) with release apk, when enabling proguard.启用 proguard 时,我在发布 apk 时遇到问题(应用程序在开始时崩溃)。

Here is stack trace:这是堆栈跟踪:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xxxx.yyyy, PID: 24018 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/koin/core/context/GlobalContextKt; E/AndroidRuntime:致命异常:主进程:com.xxxx.yyyy,PID:24018 java.lang.NoClassDefFoundError:解析失败:Lorg/koin/core/context/GlobalContextKt; at com.xxxx.yyyy.MyApp.onCreate(MyApp.kt:31) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1202) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7349) at android.app.ActivityThread.access$2400(ActivityThread.java:308) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8347) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055) Caused by: java.lang.ClassNotFoundException: org.koin.core.context.GlobalContextKt at 8816 at com.xxxx.yyyy.MyApp.onCreate(MyApp.kt:31) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1202) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7349) at android. app.ActivityThread.access$2400(ActivityThread.java:308) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os. Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8347) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller. run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055) Caused by: java.lang.ClassNotFoundException: org.koin.core.context.GlobalContextKt at 8816 8970007088.xxxx.yyyy.MyApp.onCreate(MyApp.kt:31) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1202) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7349) at android.app.ActivityThread.access$2400(ActivityThread.java:308) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8347) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055) 8970007088.xxxx.yyyy.MyApp.onCreate(MyApp.kt:31) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1202) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7349) at android.app .ActivityThread.access$2400(ActivityThread.java:308) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper .loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8347) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)

Here is my Application class, where I start koin:这是我的申请 class,我在这里开始 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 version: 2.0.1 What is interesting that only crashes in release signed apk when minifyEnabled = true. Koin 版本:2.0.1 有趣的是,只有在 minifyEnabled = true 时才会在发布签名的 apk 中崩溃。 But if debug build with minifyEnabled = true, it does not crashes.但是如果使用 minifyEnabled = true 调试构建,它不会崩溃。 I am aware I didn't post more sample code but it is very difficult to investigate what causes crash from logs for release apk, Already read some issue reports on GitHub. but no help for me.我知道我没有发布更多示例代码,但很难从发布 apk 的日志中调查导致崩溃的原因,已经阅读了 GitHub 上的一些问题报告。但对我没有帮助。 Thanks for any advice!感谢您的任何建议!

I have found a problem.我发现了一个问题。 I totally forgot that last week I changed in gradle import for firebase-crashlytics library(using new way).我完全忘记了上周我更改了 gradle 导入 firebase-crashlytics 库(使用新方法)。 Also removed keep class crashlytics in proguard-roles file.还删除了将 class crashlytics 保留在 proguard-roles 文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Koin java.lang.NoClassDefFoundError:解析失败:Lorg/koin/dsl/context/ParameterHolderKt - Koin java.lang.NoClassDefFoundError: Failed resolution of: Lorg/koin/dsl/context/ParameterHolderKt 启动带有proguard的签名版本APK时出现奇怪的NoClassDefFoundError错误 - Strange NoClassDefFoundError error when launching a signed release APK with proguard enabled 启用proguard时,版本apk中出现NoSuchMethodError - NoSuchMethodError in release apk when proguard is enabled 启用proguard后,应用程序崩溃 - app crashes when proguard is enabled Android应用程序在发布时与proguard崩溃 - Android App crashes on release with proguard Koin DI 因发布签名的 apk 崩溃 - Koin DI crashes with release signed apk Android致命异常:java.lang.NoClassDefFoundError:解析失败:Lorg / apache / http / RequestLine; - Android Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/RequestLine; Android - java.lang.NoClassDefFoundError:解析失败:Lorg/slf4j/LoggerFactory; - Android - java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory; 当我尝试在启用了Proguard的android应用中导出带签名的apk文件时遇到transformClassAndResourcWithProguardForRelease错误? - transformClassAndResourcWithProguardForRelease error when I try export signed apk file in android app with proguard enabled? Android 谷歌地图 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion - Android Google maps java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM