升级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




