You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

升级Android Studio 3.1后第三方Gradle插件警告的含义与消除方法问询

Android Studio 3.1升级后"3rd-party Gradle plug-ins may be the cause"警告解析与解决方法

最近把Android Studio升级到3.1版本后,你碰到了这个警告提示:3rd-party Gradle plug-ins may be the cause,虽然项目目前还能正常运行,但肯定想搞明白这到底是啥意思,以及怎么消除它对吧?先看看你提供的项目根目录build.gradle里的buildscript代码块:

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }
    repositories {
        google()
        jcenter()
        maven { url 'https:...' }
    }
}

这个警告到底啥意思?

Android Studio 3.1引入了一套新的Gradle同步验证机制,目的是提前排查可能的兼容性问题。这个警告的核心意思是:你的项目里用到的第三方Gradle插件(比如Kotlin、Anko这些)可能还没适配Android Studio 3.1对应的Gradle版本,IDE担心这些插件可能在后续构建、同步过程中引发问题,所以提前给你打个招呼——虽然现在项目能跑,但潜在风险得留意。

怎么消除这个警告?

给你几个可行的方案,按优先级推荐:

1. 更新第三方插件到兼容版本

这是最稳妥的解决办法,从根源上解决兼容性问题。比如你用到的这些插件:

  • Kotlin:1.2.31版本相对较早,可以升级到适配AS 3.1的1.2.40及以上版本(当时AS 3.1官方推荐的Kotlin版本是1.2.40)
  • Room:1.0.0可以升级到1.1.1版本,这个版本对AS 3.1的兼容性更好
  • Anko、Firebase/GMS也可以去官方文档看看有没有对应AS 3.1的更新版本,把ext里的版本号替换成最新兼容版,然后重新同步项目。

2. 定位具体是哪个插件导致的警告

如果你不确定哪个插件出问题,可以通过日志排查:

  • 打开Android Studio的Help菜单,选择Show Log in Explorer(不同系统可能名称略有不同),找到idea.log文件
  • 在日志里搜索3rd-party Gradle plug-ins may be the cause相关的内容,里面会明确指出是哪个插件触发了警告,这样你就可以针对性地更新那个插件。

3. 临时禁用警告(不推荐长期使用)

如果暂时没办法更新插件,只是想先把警告关掉,可以在项目根目录的gradle.properties文件里添加一行:

android.overridePathCheck=true

不过这个方法只是强行屏蔽警告,并没有解决潜在的兼容性问题,后续版本更新或者构建复杂项目时可能还是会出问题,所以只建议临时用用,最终还是要更新插件。

内容的提问来源于stack exchange,提问作者humazed

火山引擎 最新活动