迁移到androidx时无法访问类android.support.v4.app.FragmentActivity

时间:2018-08-29 19:54:18

标签: android kotlin android-jetpack

我有错误“无法访问类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。路径不匹配。如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

步骤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,请转到“文件”->“使缓存无效/重新启动”

答案 1 :(得分:0)

  

您还需要更新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'

答案 2 :(得分:-1)

我的解决方案可以解决。

https://stackoverflow.com/a/30627422/6709795

对于某些使用FragmentActivity的库,开发人员应更新其项目