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

Kotlin Multiplatform构建本地库:生成.AAR/.A/.JAR可分发文件指引

Kotlin Multiplatform 生成AAR/.A/JAR构建产物步骤

一、触发构建任务

  • 命令行执行:Mac/Linux用./gradlew assembleRelease,Windows用gradlew.bat assembleRelease,生成release版本产物;若需debug版本,替换为assembleDebug。
  • 或在IDE的Gradle面板中,找到目标模块的Tasks > build > assembleRelease,双击执行。

二、各平台产物位置

  • Android(AAR):
    路径:[你的模块名]/build/outputs/aar/,会生成[模块名]-release.aar和[模块名]-debug.aar两个文件。
  • iOS(.a静态库):
    1. 先在build.gradle.kts的iOS目标中配置静态库:
      ios {
          binaries {
              framework {
                  isStatic = true
              }
          }
      }
      
    2. 产物路径:[你的模块名]/build/bin/ios/[架构]/releaseFramework/,架构包含arm64、x86_64等,对应产物为[模块名].a。
  • Desktop(JAR):
    路径:[你的模块名]/build/libs/,产物为[模块名]-[版本]-all.jar(包含依赖的fat jar)或[模块名]-[版本].jar(仅自身代码),具体取决于Gradle配置。

三、关键配置检查

  • 确保模块为kotlin-multiplatform类型,在build.gradle.kts顶部声明:
    plugins {
        kotlin("multiplatform")
        id("com.android.library")
    }
    
  • Android模块需配置为library而非application:
    android {
        namespace = "com.your.library.id"
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            targetSdk = 34
        }
    
        buildTypes {
            release {
                isMinifyEnabled = false
            }
        }
    }
    
  • Desktop目标示例配置(生成fat jar):
    jvm("desktop") {
        compilations.all {
            kotlinOptions.jvmTarget = "11"
        }
        tasks.withType<Jar> {
            from(sourceSets.main.get().output)
            dependsOn(configurations.runtimeClasspath)
            from({
                configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) }
            })
        }
    }
    

四、验证产物

构建完成后,前往对应路径查找文件。若未找到,检查Gradle任务执行日志,排查编译错误或配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:14:52