Joel Denke
01/24/2024, 10:46 AMKonstantin Tskhovrebov
01/24/2024, 10:52 AMKonstantin Tskhovrebov
01/24/2024, 10:52 AMJoel Denke
01/24/2024, 10:53 AMJoel Denke
01/24/2024, 10:55 AMKonstantin Tskhovrebov
01/24/2024, 11:00 AMJoel Denke
01/24/2024, 11:02 AMJoel Denke
01/24/2024, 11:02 AMbrandonmcansh
02/13/2024, 3:34 PMJoel Denke
02/13/2024, 3:35 PMJoel Denke
02/13/2024, 3:37 PMclass AndroidLibraryConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
alias(libs.plugins.android.library)
}
configureAndroid()
android {
sourceSets["main"].apply {
manifest.srcFile("src/androidMain/AndroidManifest.xml")
assets.srcDir("src/commonMain/composeResources/files/assets")
}
}
}
}
}
The key here is that I am adding a folder I know exist in files/assets, and pretend it should be in Android assets folder.
Its very ugly as Jetbrains doing same for fonts. Where APK contains duplicates of same files.
So having assets/fontfile.ttf and also files/font/fontfile.ttf
Meaning increasing APK size a lot. Maybe a bug, not sure @Konstantin Tskhovrebov?Joel Denke
02/13/2024, 3:39 PMactual class PlatformResource(
private val path: String
): MyResource {
@Composable
override fun absolutePath(): String {
return LocalContext.current.packageResourcePath + "/" + path
}
@Composable
fun asUri(): Uri {
val absolutePath = absolutePath()
val file = File(absolutePath)
return Uri.parse("file:///android_asset/${file.name}")
}
}
Note that I am using file.name to get the basename and not the complete path here π I only using this for files NOT image, font or Jetbrains supported ways.
So I sideloading my own resource resolving separate.Konstantin Tskhovrebov
02/13/2024, 3:39 PMJoel Denke
02/13/2024, 3:39 PMJoel Denke
02/13/2024, 3:40 PMKonstantin Tskhovrebov
02/13/2024, 3:43 PMKonstantin Tskhovrebov
02/13/2024, 3:43 PMJoel Denke
02/13/2024, 3:43 PMKonstantin Tskhovrebov
02/13/2024, 3:44 PMJoel Denke
02/13/2024, 3:44 PMJoel Denke
02/13/2024, 3:44 PMJoel Denke
02/13/2024, 3:45 PMJoel Denke
02/13/2024, 3:45 PMKonstantin Tskhovrebov
02/13/2024, 3:46 PMRes.readBytes
for thatKonstantin Tskhovrebov
02/13/2024, 3:47 PMJoel Denke
02/13/2024, 3:53 PMJoel Denke
02/13/2024, 3:56 PMKonstantin Tskhovrebov
02/13/2024, 3:59 PMJoel Denke
02/13/2024, 4:01 PMJoel Denke
02/13/2024, 4:01 PM