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



我有错误"无法访问类android.support.v4.app.FragmentActivity">

GoogleApiClient.Builder(this( .enableAutoManage(this, this( .addApi(Auth.GOOGLE_SIGN_IN_API, gso( .build((

我迁移到androidx并使用库 implementation('com.google.api-client:google-api-client-android:1.24.1'(

我认为 GoogleApiClient 需要 android.support.v4.app.FragmentActivity,但我只有 androidx.appcompat.app.AppCompatActivity。路径不匹配。如何解决这个问题?

您还需要更新 Firebase 库的依赖项。
因为enableAutoManage((可以使用androidx.fragment.app.FragmentActivity作为参数

步骤0:我假设你已经将你的项目迁移到androidx
(如果你还没有将你的项目迁移到androidx,我强烈建议你在将项目迁移到anroidx之前进行备份。因为这是一个很大的过程(

第 1 步:备份您的项目(您可能需要更改一些代码(

第 2 步:转到您的 build.gradle(模块:应用程序(文件

第 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'

第 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 工作室,请转到文件 -> 使缓存失效/重新启动

我的解决方案这将是工作。

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

对于一些库,使用FragmentActivity,开发人员应该更新他们的项目

最新更新