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

求助:从Android KMM模块构建XCFramework时Gradle命令执行失败

KMM模块生成XCFramework失败的排查方案

以下是针对该问题的常见排查和解决步骤:

  • 确认KMM模块的Gradle配置
    检查模块的build.gradle.kts(或.gradle)文件,确保iOS目标和XCFramework生成配置正确:

    • 必须声明所有需要的iOS架构目标:iosX64()、iosArm64()、iosSimulatorArm64()
    • 配置XCFramework的基础名称,示例如下:
      kotlin {
          android()
          iosX64()
          iosArm64()
          iosSimulatorArm64()
      
          xcFramework {
              baseName = "MyShared"
          }
      
          // 其余sourceSets配置...
      }
      
  • 验证本地编译环境

    • 生成XCFramework只能在MacOS系统上操作,Windows/Linux不支持iOS目标编译
    • 确保已安装Xcode,并且配置了命令行工具:执行xcode-select --install完成安装,或在Xcode偏好设置的「Locations」中指定Command Line Tools版本
    • 保证Xcode版本与Kotlin Multiplatform插件版本兼容,优先使用双方的最新稳定版
  • 清理缓存后重试
    先执行gradlew clean清除旧编译缓存,再尝试执行gradlew assembleXCFramework。如果模块不在根目录,要加上模块路径,比如gradlew :my-shared:assembleXCFramework(替换为你的模块实际路径)

  • 获取详细错误日志定位问题
    执行命令时添加--stacktrace或--info参数,比如gradlew assembleXCFramework --stacktrace,通过完整的错误堆栈信息,能快速定位具体问题(比如依赖缺失、iOS平台代码兼容性问题、工具链异常等)

  • 检查代码的跨平台兼容性
    确认KMM模块中没有iOS不支持的代码:

    • 避免直接使用Android专属API(如android.*包下的类),这类代码需要用expect/actual机制做跨平台适配
    • 确保所有三方依赖都支持KMM的iOS目标

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:23:31