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

运行Kotlin Multiplatform iOS项目时遇Command PhaseScriptExecution错误

解决KMM iOS端运行时Command PhaseScriptExecution失败问题

问题核心

你的KMM项目iOS运行报错,根源是com.android.tools.build:gradle:7.4.2要求Java 11环境,但当前项目使用Java 8,同时存在Gradle插件API版本不匹配的问题。

具体解决步骤

1. 切换项目JDK到Java 11

  • 打开Android Studio,依次进入 File > Project Structure > SDK Location
  • 在JDK location处选择Java 11(Android Studio自带的JDK 11路径一般是/Applications/Android Studio.app/Contents/jbr/Contents/Home)
  • 同时进入Settings > Build, Execution, Deployment > Build Tools > Gradle,把Gradle JVM设置为刚才选的Java 11

2. 调整Gradle配置文件

修改根目录下的build.gradle.kts:

  • 确保Gradle插件版本和Gradle wrapper版本匹配(AGP 7.4.2对应Gradle 7.5及以上版本):
    plugins {
        id("com.android.application") version "7.4.2" apply false
        id("com.android.library") version "7.4.2" apply false
        id("org.jetbrains.kotlin.android") version "1.8.20" apply false
        id("org.jetbrains.kotlin.multiplatform") version "1.8.20" apply false
    }
    
    // 统一设置Java版本
    allprojects {
        tasks.withType<JavaCompile> {
            sourceCompatibility = JavaVersion.VERSION_11
            targetCompatibility = JavaVersion.VERSION_11
        }
        tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
            kotlinOptions.jvmTarget = "11"
        }
    }
    
  • 修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本为7.5及以上:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
    

3. 清理缓存并重新同步

  • 在Android Studio中执行File > Sync Project with Gradle Files
  • 终端执行命令清理Gradle缓存:
    ./gradlew clean
    rm -rf ~/.gradle/caches
    
  • 打开Xcode,执行Product > Clean Build Folder,之后关闭并重新打开Xcode

4. 重新运行iOS项目

完成以上步骤后,回到Xcode或Android Studio的iOS运行配置,重新启动模拟器运行项目。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:37:25