![](/img/trans.png)
[英]Cannot resolve method of android.support.v4.app.FragmentActivity in ViewModelProviders
[英]cannot access class android.support.v4.app.FragmentActivity when i migrate to androidx
我在中出现错误“无法访问类android.support.v4.app.FragmentActivity”
GoogleApiClient.Builder(this).enableAutoManage(this,this).addApi(Auth.GOOGLE_SIGN_IN_API,gso).build()
我迁移到androidx并使用库实现('com.google.api-client:google-api-client-android:1.24.1')
我认为GoogleApiClient需要android.support.v4.app.FragmentActivity,但我只有androidx.appcompat.app.AppCompatActivity。 路径不匹配。 如何解决这个问题?
第1步:
检查您的依赖项是否已正确迁移到androidX,您可以在此处执行-https: //developer.android.com/jetpack/androidx/migrate 。 在特定情况下-如果您使用gradle,请转到gradle.build文件,确保com.android.support:support-v4
现在为androidx.legacy:legacy-support-v4:1.0.0
或更高版本。
第2步:
清理IDE缓存-如果您使用的是Android Studio,请转到“文件”->“使缓存无效/重新启动”
您还需要更新Firebase库的依赖项。
因为enableAutoManage()可以使用androidx.fragment.app.FragmentActivity作为参数
第0步:假设您已将项目迁移到androidx
(如果您尚未将项目迁移到androidx,我强烈建议您在将项目迁移到anroidx之前先进行备份。因为这是一个很大的过程)
第1步:备份您的项目(您可能需要更改一些代码)
步骤2:前往您的build.gradle(Module:app)文件
步骤3:更新Firebase依赖项的版本
(但请注意,某些方法在新版本中已弃用。因此,也许您需要更改很多代码)
implementation 'com.google.firebase:firebase-auth:18.0.0'
implementation 'com.google.firebase:firebase-database:18.0.0'
implementation 'com.google.firebase:firebase-storage:18.0.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-messaging:19.0.1'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.