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

如何通过代码区分IntelliJ IDEA与Android Studio,在settings.gradle.kts中按需引入模块

解决方案

直接在settings.gradle.kts中通过读取IDE自带的系统属性判断运行环境,即可实现模块的按需引入,无需手动注释模块配置,参考实现代码如下:

// 判断当前编译环境是否为Android Studio
val isAndroidStudio = System.getProperty("idea.platform.prefix", "")
    .contains("AndroidStudio", ignoreCase = true)

// 引入所有环境通用的公共模块
include(":common-core", ":common-utils", ":business-common")

// 仅在Android Studio环境下引入移动端专属模块
if (isAndroidStudio) {
    include(":android-app", ":android-service", ":android-thirdparty-adapter")
}

逻辑说明

  • 核心判断依赖JVM系统属性idea.platform.prefix:Android Studio启动时会自动将该属性赋值为AndroidStudio开头的字符串,普通IntelliJ IDEA不会携带该标识,因此可以精准区分两种IDE环境
  • 全程自动识别无需手动修改配置,在IDEA中打开项目时不会加载Android专属模块,不会出现模块编译报错的问题
  • 如果需要在命令行环境触发Android专属模块的编译,可以在执行gradle命令时手动传入参数即可:
    ./gradlew assembleRelease -Didea.platform.prefix=AndroidStudio
    
  • 如需本地调试判断逻辑是否生效,可以在配置文件中加入打印语句验证属性值:
    println("当前IDE平台标识:${System.getProperty("idea.platform.prefix")}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:36:02