IntelliJ使用Kotlin多平台+Gradle时提示android-31平台未找到
解决IntelliJ同步Gradle项目提示“Module: ':core' platform 'android-31' not found”的问题
问题背景
在IntelliJ中同步Android Gradle项目时,弹出错误:
Module: ':core' platform 'android-31' not found.
但命令行执行所有Gradle任务正常,Android Studio中同步也无异常。已尝试过:
- 重新安装SDK和IntelliJ
- 切换不同SDK管理器(Homebrew命令行、IntelliJ自带、Android Studio自带)
- 环境配置确认正常:
- 设备:M1 Pro Macbook Pro,macOS 12.5.1
$ANDROID_HOME=/Users/{my_username}/Library/Android/sdk- 项目
local.properties中sdk.dir=/Users/{my_username}/Library/Android/sdk
针对性解决方案
1. 检查IntelliJ的项目SDK路径配置
IntelliJ可能为项目单独配置了SDK路径,和全局配置不一致:
- 打开IntelliJ,进入
File > Project Structure > Platform Settings > SDKs - 找到Android SDK,确认其路径和
$ANDROID_HOME完全一致(注意M1 Mac不要选到Intel架构的SDK路径) - 若路径错误,点击
Edit修改为正确的/Users/{my_username}/Library/Android/sdk
2. 强制IntelliJ使用项目Gradle配置
IntelliJ有时会优先用内置工具链,忽略系统配置:
- 进入
File > Settings > Build, Execution, Deployment > Build Tools > Gradle - 确保
Gradle JVM选择项目使用的JDK(比如Android Studio自带JDK,路径通常是/Applications/Android Studio.app/Contents/jre/Contents/Home) - 勾选
Use Gradle from: 'wrapper' task in Gradle build file,强制使用项目的Gradle wrapper配置
3. 清理IntelliJ缓存和索引
缓存损坏会导致识别异常:
- 进入
File > Invalidate Caches... - 勾选
Invalidate and Restart,等待IntelliJ重启并重新索引项目
4. 确认android-31组件完整安装
虽然其他环境正常,但IntelliJ对组件识别可能更严格:
- 打开Android Studio的SDK Manager,确认
Android 12 (S) - API Level 31下的SDK Platform、Sources for Android 31、Android SDK Build-Tools 31.x.x都已安装 - 安装完成后回到IntelliJ重新同步Gradle
5. 开启IntelliJ的Rosetta兼容(M1 Mac专属)
M1芯片的IntelliJ未开Rosetta可能出现SDK识别问题:
- 找到应用程序中的IntelliJ图标,右键选择
Get Info - 勾选
Open using Rosetta,重启IntelliJ后再尝试同步
内容的提问来源于stack exchange,提问作者Nathan Tamez
相关产品推荐
相关产品推荐

