https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
b

benkuly

09/14/2021, 1:42 PM
Is it possible to use the same code for jvmMain and androidMain but with slightly different dependencies? This does not work, because then jna classes are duplicated:
Copy code
val jvmMain by getting {
    dependencies {
        implementation("net.java.dev.jna:jna:${Versions.jna}")
    }
}
val androidMain by getting {
    dependsOn(jvmMain)
    dependencies {
        implementation("net.java.dev.jna:jna:${Versions.jna}@aar")
    }
}
r

russhwolf

09/14/2021, 2:45 PM
You could try something like
Copy code
val jvmAndAndroidMain by creating
val jvmMain by getting {
    dependsOn(jvmAndAndroidMain)
    dependencies {
        implementation("net.java.dev.jna:jna:${Versions.jna}")
    }
}
val androidMain by getting {
    dependsOn(jvmAndAndroidMain)
    dependencies {
        implementation("net.java.dev.jna:jna:${Versions.jna}@aar")
    }
}
IDE support for this is not always great though, and you might need to manually wire some expect/actual declarations depending on how the rest of your project is configured.
b

benkuly

09/14/2021, 3:16 PM
I already tried that, but jmvAndAndroidMain contains JNA dependencies, so it does not compile.
6 Views