AAR файл не генерируется
У меня есть проект и lib module (проект это по сути оболочка для lib module, чтоб создать .aar). Ожидается, что он будет работать так: после build project, lib module должен построиться, и сгенерировать .aar
в папке build-> output
, который уже можно будет использовать где нужно. Но проблема в том, что он не создается.
Нужно сказать, что на в проекте есть 2 lib module, и второй файл .aar lib-module каждый раз успешно генерируется, то есть очевидно, что-то не так с первым модулем lib где .aar
не создается.
Я пробовал clean, rebuild, invalidate и все эти вещи, но это не работает.
Есть предположения в чем может быть проблема?
Есть ли возможность (может логами) проверить где студия пробует создать .aar
? или как поменять куда сохранить файл? или просто посмотреть какуе то инфу по его созданию?
UPD
градл файл этого модуля который не генерируется
import org.jetbrains.kotlin.gradle.plugin.myproject.KotlinNativeTarget
plugins {
kotlin("multiplatform")
id("com.android.library")
id("maven-publish")
id("kotlin-android-extensions")
}
var frameworkName = "myframeworkname"
group = "here.my.library"
version = "0.0.2"
kotlin {
android()
ios {
compilations.forEach {
it.kotlinOptions.freeCompilerArgs += arrayOf("-linker-options", "-application_extension")
}
binaries {
framework {
baseName = "mybasename"
embedBitcode("disable")
}
}
}
tvos {
compilations.forEach {
it.kotlinOptions.freeCompilerArgs += arrayOf("-linker-options", "-application_extension")
}
binaries {
framework {
baseName = "mybasename"
embedBitcode("bitcode")
}
}
}
sourceSets {
val commonMain by getting
val androidMain by getting {
dependencies {
implementation("com.google.android.material:material:1.2.1")
}
}
val iosMain by getting
val tvosMain by getting {
dependsOn(iosMain)
}
val iosTest by getting
val tvosTest by getting
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
}
android {
publishLibraryVariants("release", "debug")
}
configure(listOf(targets["metadata"], android())) {
mavenPublication {
val targetPublication = this@mavenPublication
tasks.withType<AbstractPublishToMaven>()
.matching { it.publication == targetPublication }
}
}
}
android {
compileSdk = 30
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdk = 24
targetSdk = 30
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
}
}
}
publishing {
println("Project dir : ${projectDir.name}")
publications {
create<MavenPublication>("lib") {
groupId = "entpay.shared.library"
artifactId = project.name
version = project.version as String?
artifact("$buildDir/outputs/aar/${projectDir.name}-release.aar")
}
}
repositories {
mavenLocal()
}
}
val packForXcode by tasks.creating(Sync::class) {
val xcodeMode = if (System.getenv("CONFIGURATION").equals("release", true)) "RELEASE" else "DEBUG"
val frameworksDirectory = File(buildDir, "xcode-frameworks")
val target = System.getProperty("TARGET_PLATFORM") ?: "iosX64"
println("target = ${target}")
println("configuration = ${xcodeMode}")
group = "build"
inputs.property("mode", xcodeMode)
val framework = kotlin.targets.getByName<KotlinNativeTarget>(target).binaries.getFramework(xcodeMode)
dependsOn(framework.linkTask)
from({ framework.outputDirectory })
val path = File(frameworksDirectory,target)
into(path)
}
tasks.getByName("build").dependsOn(packForXcode)