cyberavater
03/11/2024, 7:57 AMsrc\jvmMain\resources\a.txt
in jvmMain
kts:
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.android.library)
// id("module.publication")
}
kotlin {
applyDefaultHierarchyTemplate()
jvm()
androidTarget {
publishLibraryVariants("release")
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
// iosX64()
// iosArm64()
// iosSimulatorArm64()
// linuxX64()
sourceSets {
commonMain.dependencies {
}
commonTest.dependencies {
implementation(libs.kotlin.test)
}
androidMain.dependencies {
}
jvmMain {
dependencies {
}
}
}
}
android {
namespace = "org.jetbrains.kotlinx.multiplatform.library.sevenZip"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
}
sample:
val message =
Thread.currentThread().contextClassLoader.getResource("a.txt")?.readText()
println(message)
Can anyone tell me what's wrong here? and how to fix it? This code actually works on jvm project which is not inside multiplatform so I'm asking here.Matt Nelson
03/11/2024, 12:54 PMandroidMain
and jvmMain
.
Something like jvmAndroidMain
Matt Nelson
03/11/2024, 12:56 PMMatt Nelson
03/11/2024, 1:03 PM/
?
Alternatively, try obtaining a class within your module and getting the resource stream from that.
SomeClassFromModuleWithADotTxt::class.java.getResourceAsStream("/a.txt")
cyberavater
03/11/2024, 3:13 PMval message =
Thread.currentThread().contextClassLoader.getResource("/a.txt")?.readText()
println(message)
but apparently no luck.cyberavater
03/11/2024, 6:36 PM