icerockdev / moko-resources

Resources access for mobile (android & ios) Kotlin Multiplatform development
https://moko.icerock.dev/
Apache License 2.0
1.03k stars 119 forks source link

Crash : Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG #520

Open abhriyaroy opened 1 year ago

abhriyaroy commented 1 year ago

I had added one png file to my resources and it was working fine and showin up in the imageview.

I added a second image resource (png) to MR/images and without any code change when I just run the app, it keeps crashing with the following crashlog

FATAL EXCEPTION: main
                                                                                                    Process: studio.zebro.clipr.android, PID: 1508
                                                                                                    java.lang.IllegalArgumentException: Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG
                                                                                                        at androidx.compose.ui.res.PainterResources_androidKt.loadImageBitmapResource(PainterResources.android.kt:111)
                                                                                                        at androidx.compose.ui.res.PainterResources_androidKt.access$loadImageBitmapResource(PainterResources.android.kt:1)
                                                                                                        at androidx.compose.ui.res.PainterResources_androidKt.painterResource(PainterResources.android.kt:70)
                                                                                                        at dev.icerock.moko.resources.compose.ImageResourceKt.painterResource(ImageResource.kt:13)
                                                                                                        at studio.zebro.clipr.ui.SplashScreenKt$showTopBar$1$1.invoke(SplashScreen.kt:78)
                                                                                                        at studio.zebro.clipr.ui.SplashScreenKt$showTopBar$1$1.invoke(SplashScreen.kt:73)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.material3.CardKt$Card$1.invoke(Card.kt:806)
                                                                                                        at androidx.compose.material3.CardKt$Card$1.invoke(Card.kt:92)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:129)
                                                                                                        at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:113)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                                                                                        at androidx.compose.material3.SurfaceKt.Surface-T9BRK9s(Surface.kt:110)
                                                                                                        at androidx.compose.material3.CardKt.Card(Card.kt:84)
                                                                                                        at studio.zebro.clipr.ui.SplashScreenKt.showTopBar(SplashScreen.kt:64)
                                                                                                        at studio.zebro.clipr.ui.ComposableSingletons$SplashScreenKt$lambda-1$1.invoke(SplashScreen.kt:46)
                                                                                                        at studio.zebro.clipr.ui.ComposableSingletons$SplashScreenKt$lambda-1$1.invoke(SplashScreen.kt:45)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:129)
                                                                                                        at androidx.compose.material3.SurfaceKt$Surface$1.invoke(Surface.kt:113)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                                                                                        at androidx.compose.material3.SurfaceKt.Surface-T9BRK9s(Surface.kt:110)
                                                                                                        at studio.zebro.clipr.ui.SplashScreenKt.SplashScreen(SplashScreen.kt:42)
                                                                                                        at studio.zebro.clipr.ui.ComposableSingletons$ClipRAppKt$lambda-1$1.invoke(ClipRApp.kt:12)
                                                                                                        at studio.zebro.clipr.ui.ComposableSingletons$ClipRAppKt$lambda-1$1.invoke(ClipRApp.kt:11)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                                                                                        at androidx.compose.material3.TextKt.ProvideTextStyle(Text.kt:261)
                                                                                                        at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:81)
                                                                                                        at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:80)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
                                                                                                        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
                                                                                                        at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
                                                                                                        at androidx.compose.material3.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:73)
Alex009 commented 1 year ago

Please attach images that you use and code of usage

abhriyaroy commented 1 year ago

Hello @Alex009 please find the full code at https://github.com/abhriyaroy/ClipR/commit/08dd4700e0428d78284ce1bd910465d384bac07d