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静态库):
- 先在
build.gradle.kts的iOS目标中配置静态库:ios { binaries { framework { isStatic = true } } } - 产物路径:
[你的模块名]/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
相关产品推荐
相关产品推荐

