升级Android Studio后Crashlytics报错API过时,如何解决?
别急,这个报错不是Crashlytics本身的问题,本质是你升级Android Studio后,项目里的某些依赖(大概率是Crashlytics相关的Gradle插件,或是其他第三方库)还在使用Gradle已经弃用的API,和新版Gradle不兼容导致的。
下面是具体的解决步骤:
第一步:升级Crashlytics Gradle插件版本
打开项目根目录下的build.gradle文件,找到com.google.firebase:firebase-crashlytics-gradle的依赖声明,把它升级到最新的稳定版本。比如:dependencies { classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' // 也可以选择Firebase官方发布的更新稳定版,比如3.x系列 }第二步:同步升级Crashlytics核心依赖
打开app模块下的build.gradle,把com.google.firebase:firebase-crashlytics也升级到对应版本,确保和插件版本匹配:dependencies { implementation 'com.google.firebase:firebase-crashlytics:18.4.0' // 选择与插件版本对应的最新核心库版本 }第三步:定位问题根源(如果升级后仍报错)
如果升级Crashlytics相关依赖后还能看到这个警告,说明是其他第三方库在调用过时API。你可以按照报错提示,在终端执行以下命令:# Mac/Linux环境 ./gradlew clean build -Pandroid.debug.obsoleteApi=true # Windows环境 gradlew clean build -Pandroid.debug.obsoleteApi=true这个命令会打印详细的堆栈跟踪,帮你找到具体是哪个库在调用
variant.getExternalNativeBuildTasks(),然后去升级那个库的版本即可。临时屏蔽警告(不推荐长期使用)
如果某些依赖暂时没有适配新版Gradle的版本,你可以在gradle.properties文件中添加以下配置,临时屏蔽这个警告:android.debug.obsoleteApi=false但注意:这只是权宜之计,该API早已在2019年底被移除,长期来看还是要升级依赖,避免后续构建失败。
简单来说,这个问题的核心是依赖版本与新版Gradle不兼容,只要把相关依赖升级到适配的版本,就能彻底解决这个问题。
内容的提问来源于stack exchange,提问作者Masum Billah

