Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
迁移到androidx后没有超级方法getLifecycle()_Android_Android Lifecycle_Androidx - Fatal编程技术网

迁移到androidx后没有超级方法getLifecycle()

迁移到androidx后没有超级方法getLifecycle(),android,android-lifecycle,androidx,Android,Android Lifecycle,Androidx,我一直在尝试将我的应用程序迁移到使用androidx,但我似乎遇到了一个奇怪的错误。从调用getLifeCycle()时扩展AppCompatActivity的my activity中,它抛出以下异常 Caused by: java.lang.NoSuchMethodError: No super method getLifecycle()Landroidx/lifecycle/Lifecycle; in class Landroidx/core/app/ComponentActivity;

我一直在尝试将我的应用程序迁移到使用androidx,但我似乎遇到了一个奇怪的错误。从调用
getLifeCycle()
时扩展AppCompatActivity的my activity中,它抛出以下异常

 Caused by: java.lang.NoSuchMethodError: No super method getLifecycle()Landroidx/lifecycle/Lifecycle; in class Landroidx/core/app/ComponentActivity; or its super classes 
    at androidx.fragment.app.FragmentActivity.getLifecycle(FragmentActivity.java:324)
我认为AppCompativeActivity应该实现LifecycleOwner,但它不是。我做错什么了吗? 这是我的gradle相依关系

implementation files("libs/jsoup-1.8.3.jar")
implementation "com.github.philjay:MPAndroidChart:v3.0.2"
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.1.0-alpha01'
implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha2"
implementation 'androidx.constraintlayout:constraintlayout-solver:2.0.0-alpha2'
implementation 'androidx.cardview:cardview:1.0.0'
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.0.1'
implementation "androidx.lifecycle:lifecycle-runtime:2.0.0"

annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0" // use kapt for Kotlin

implementation "de.hdodenhof:circleimageview:2.2.0"
implementation 'androidx.core:core:1.1.0-alpha01'
implementation "com.thoughtbot:expandablerecyclerview:1.0"
implementation "androidx.lifecycle:lifecycle-livedata:2.0.0"
implementation "androidx.lifecycle:lifecycle-viewmodel:2.0.0"
implementation "com.github.franmontiel:FullScreenDialog:1.0.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.github.apl-devs:appintro:v4.2.3"
implementation "com.google.firebase:firebase-crash:16.2.1"
implementation "com.google.firebase:firebase-core:16.0.5"

恢复到1.0.1版对我来说很有用

implementation "androidx.core:core:1.0.1"

刚刚在androidx.appcompat:appcompat的verision
1.1.0-alpha01
中试用过,现在可以使用了


LifecycleOwner
接口现在由
ComponentActivity
实现,该接口由
FragmentActivity
->
AppCompatActivity
扩展。您现在应该能够从您的活动中获取
生命周期
对象。

在我的例子中,我的问题是androidx活动的1.0.0-alpha05版本,我恢复到
1.0.0-alpha03
,它工作正常

您应该将
androidx.appcompat:appcompat
版本更改为
1.1.0-alpha04

是否启用了Jetifier?您的某些依赖项可能仍在使用支持库,这可能会导致冲突。@漫游者是的,我确实尝试实现了
androidx.fragment:fragment:1.0.0
。在
androidx.activity.ComponentActivity
androidx.core.app.ComponentActivity
上似乎都有
ComponentActivity
。前者实现LifecycleOwner接口,而第二个则没有。我认为您的IDE正在使用第一个,而运行时正在尝试使用第二个。我想这就是为什么安卓仍然主要在阿尔法的原因。@流浪者谢谢,就是这样!我删除了androidx.core的依赖项,它成功了,我将进一步研究androidx包,并测试我不需要它。如果1.1.0的LPHA版本存在问题,请单击其中一个,您可以找到alpha版本