迁移至Graviton arm64后,如何查找依赖build-tools;30.0.3的依赖?
查找并处理依赖build-tools;30.0.3的项目依赖项
一、检查项目本地直接配置
- 打开项目根目录及所有模块的
build.gradle(或build.gradle.kts)文件,搜索buildToolsVersion,看是否有直接指定"30.0.3"的配置。如果有,直接替换为支持arm64的更高版本(比如30.0.4、31.0.0及以上,这些版本均原生支持arm64架构)。 - 同步项目后,检查
compileSdkVersion和targetSdkVersion,确保它们与新的build-tools版本兼容(例如build-tools 31需对应compileSdk 31)。
二、通过Gradle依赖树定位间接依赖
- 在项目根目录执行Gradle命令生成依赖报告,找出间接触发build-tools;30.0.3要求的依赖或插件:
替换./gradlew 你的模块名:dependencies你的模块名为实际模块名称(比如app),在输出结果中搜索与SDK版本、build-tools相关的条目,重点排查第三方库或插件的版本兼容性。 - 若需针对性分析Android Gradle插件(AGP)的影响,执行:
不同AGP版本对应不同的最低build-tools要求,升级AGP到7.0+版本通常可兼容更高的build-tools版本,避免对30.0.3的依赖。./gradlew dependencyInsight --dependency com.android.tools.build:gradle
三、排查第三方插件与自定义脚本
- 检查根目录
build.gradle中classpath下的第三方插件(如Crashlytics、Hilt、Jetpack Compose插件等),部分旧版插件会绑定特定build-tools版本,将其升级到最新稳定版即可解决冲突。 - 查看
gradle.properties、local.properties等配置文件,确认是否存在强制指定build-tools版本的参数(如android.buildToolsVersion=30.0.3),如有则修改为目标版本。
四、通过构建日志精准定位问题源
- 修改build-tools版本后,执行构建命令并添加
--info参数查看详细日志:
日志中会明确标注哪个依赖、插件或脚本在请求build-tools;30.0.3,根据提示直接升级或替换对应的组件即可。./gradlew assembleDebug --info
五、处理无法升级的依赖
- 若遇到第三方库无更新版本、且强制依赖旧版build-tools的情况,可采取以下方案:
- 替换为功能类似、支持arm64架构的替代库;
- 若为公司内部库,联系开发团队修改其build-tools配置后重新发布。
内容的提问来源于stack exchange,提问作者OLIVER.KOO
相关产品推荐
相关产品推荐

