这是什么错误?为什么当我不像代码一样使用库而不是像aar那样使用库时,为什么不会发生这种情况?

时间:2019-11-27 10:11:48

标签: java android

我正在用android开发一个库,并通过两种方式在应用程序中对其进行测试,第一种是使用代码,第二种是使用aar文件。

当然,我会使用代码版本测试应用程序中的所有库,然后,我尝试测试  aar。

但是当使用aar执行应用程序时,出现以下错误

  

2019-11-27 10:44:19.795 26687-26687 /? E / AndroidRuntime:致命   例外:主要       进程:应用程序,PID:26687       java.lang.AbstractMethodError:抽象方法“ void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)”           在androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:34)           在androidx.lifecycle.LifecycleRegistry $ ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)           在androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188)           在SDK.initSDK(SourceFile:15)           在SDK.initSDK(SourceFile:13)           在apps.SApplication.onCreate(SApplication.java:20)           在android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)           在android.app.ActivityThread.handleBindApplication(ActivityThread.java:5885)           在android.app.ActivityThread.access $ 1100(ActivityThread.java:200)           在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1651)           在android.os.Handler.dispatchMessage(Handler.java:106)           在android.os.Looper.loop(Looper.java:193)           在android.app.ActivityThread.main(ActivityThread.java:6692)           在java.lang.reflect.Method.invoke(本机方法)           在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

SourceFile:15和13中的代码仅是导入。

如果库与代码完美配合,为什么会出现此错误?

谢谢。

1 个答案:

答案 0 :(得分:0)

最新答案,但突然有人会派上用场。

似乎您正在某个地方实现DefaultLifecycleObserver而不是重写DefaultLifecycleObserver的方法。

只需覆盖 ALL DefaultLifecycleObserver的方法,然后从其中删除super调用即可。它应该可以正常工作