Jetpack Compose 应用程序从以前的版本更新时崩溃了

问题描述 投票:0回答:1

从以前的版本更新时我的应用程序崩溃并出现异常:

java.lang.IllegalArgumentException:仅支持 VectorDrawables 和光栅化资源类型。 PNG、JPG

全新安装新版本时运行良好。仅当从旧版本更新时才会出现此问题。它在我的第二个活动中崩溃,其中我显示了可绘制文件夹中的图像,启动器活动工作得很好。

这就是我显示可绘制图像的方式:

Image( painter = painterResource(id = myDataClass.iconResId), contentDescription = "" )

myDataClass
是一个数据对象,在每个应用程序启动时,我都会使用 xml 可绘制资源 id 初始化
iconResId
属性(因为它可以在每次应用程序启动时更改)。

我已正确完成升级: 新apk的versionCode大于旧apk versionName 也是不同的字符串。

可能值得注意的是,新版本中添加了一些额外的可绘制元素,但没有删除旧的可绘制元素。

尝试调试并检查资源 id 是否在

iconResId
属性中正确初始化。它正在正确初始化。

android exception android-jetpack-compose android-vectordrawable
1个回答
0
投票

drawable
中检查您的文件,因为如果它是带有 xml 标签(例如
<shape/>
<layer-list/>
等)的常规图像 - 那么您无法在 Jetpack Compose 中使用它。您应该使用 .png/.jpg/.webp 和其他支持的扩展名或通过
Vector Asset
工具

导入的 svg 图片

iconResId
变量下附上您的图像/文件,我可以告诉您更多信息

© www.soinside.com 2019 - 2024. All rights reserved.