You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacBook M1 Pro 14寸设备Android Studio Gradle报错:找不到SourceSet 'main'

解决Gradle构建失败:找不到'main' SourceSet及弃用特性兼容问题

问题核心原因

  1. 找不到'main' SourceSet:Android app模块的SourceSet结构和标准Java项目不同,默认用android.main而非直接main,直接执行:app:Test.main()会导致Gradle无法定位对应资源。
  2. Gradle版本兼容问题:项目使用了Gradle 8.0已废弃的特性,导致构建不兼容。

分步解决方案

一、修复SourceSet找不到的问题

  • 优先用IDE直接运行:右键点击Test类,选择Run 'Test.main()',Android Studio会自动生成适配Android模块的运行配置,不用手动敲命令。
  • 命令行运行的话,要么把Test类移到纯Java/Java库模块(这类模块的SourceSet是标准main),要么在app模块的build.gradle里自定义任务:
    task runTestMain(type: JavaExec) {
        classpath = android.sourceSets.main.runtimeClasspath
        mainClass = "com.yourpackage.Test" // 替换成你的Test类完整包路径
    }
    
    执行命令:./gradlew :app:runTestMain

二、解决Gradle 8.0兼容问题

  • 升级Android Gradle插件(AGP):在项目根目录的build.gradle(或settings.gradle的pluginManagement区块)里,把AGP版本更改为7.4+(Gradle 8.0对应AGP 7.4.x或8.0.x):
    plugins {
        id 'com.android.application' version '7.4.2' apply false
        // 其他插件按对应版本更新
    }
    
  • 替换废弃语法:
    • 把旧的compile关键词全换成implementation或api
    • 若用了android.testVariants.all这类旧API,改成AGP 7.x+支持的android.testComponents
    • 检查settings.gradle里的模块引入语法,确保符合Gradle 8.0规范
  • 查看完整警告:执行./gradlew clean build --warning-mode all,根据输出的弃用提示逐一修复。

三、M1 Pro设备额外优化

  • 把Android Studio更到Arctic Fox及以上版本,确保对M1芯片的适配
  • 在Preferences > Build, Execution, Deployment > Build Tools > Gradle里,选择本地安装的Gradle 8.0+版本,避免IDE自带旧版本冲突

内容的提问来源于stack exchange,提问作者Md Nazmul Alom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:40:30