IntelliJ开发Android Studio插件时runIde无法作为函数调用报错
报错原因
这个报错是build.gradle.kts的Kotlin DSL作用域写法错误导致的:
intellij {}是org.jetbrains.intellij插件提供的顶层扩展配置块,可以直接写在脚本最外层runIde是该插件注册的普通Gradle任务,没有对应的顶层扩展方法,直接在脚本外层写runIde {}配置块时,Kotlin DSL找不到匹配的函数定义,就会抛出无法作为函数调用的错误。
修复方案
直接把外层的runIde配置段移动到tasks {}代码块内部即可,修改后的配置对应片段如下:
// 删掉外层的runIde块,把配置移到tasks内部 tasks { runIde { // macOS下Android Studio的IDE路径配置 ideDir.set(file("/Applications/Android Studio.app/Contents")) } // 下面是原有的其他任务配置,无需改动 withType<JavaCompile> { sourceCompatibility = "11" targetCompatibility = "11" } withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> { kotlinOptions.jvmTarget = "11" } patchPluginXml { sinceBuild.set("212") untilBuild.set("222.*") } signPlugin { certificateChain.set(System.getenv("CERTIFICATE_CHAIN")) privateKey.set(System.getenv("PRIVATE_KEY")) password.set(System.getenv("PRIVATE_KEY_PASSWORD")) } publishPlugin { token.set(System.getenv("PUBLISH_TOKEN")) } }
补充适配提示
当前intellij配置块里设置了type.set("IC"),对应目标平台是IntelliJ IDEA社区版,但实际要运行调试的目标是Android Studio(平台类型标识为AI),如果后续出现插件依赖不匹配、运行时类找不到的问题,把这个值改成type.set("AI"),和本地安装的Android Studio大版本对齐即可。
修改完成后刷新Gradle同步,报错会直接消失,runIde任务可以正常执行。
内容的提问来源于stack exchange,提问作者r0n9
相关产品推荐
相关产品推荐

