安卓矢量图崩溃问题

26

我使用矢量图形。它在我的几个设备上运行良好,但在安卓5.0.2的Sony手机上,在启动应用程序时出现以下问题:

java.lang.ArrayIndexOutOfBoundsException: length=32; index=32
 at android.util.PathParser$PathDataNode.addCommand(PathParser.java:370)
 at android.util.PathParser$PathDataNode.nodesToPath(PathParser.java:260)
 at android.graphics.drawable.VectorDrawable$VPath.toPath(VectorDrawable.java:1265)
  at android.graphics.drawable.VectorDrawable$VPathRenderer.drawPath(VectorDrawable.java:950)

看起来我有一些SVG被转换为在这个设备上不支持的XML格式。但是如何了解哪些SVG受到影响,并如何确保它能在所有其他支持的设备上正常工作。

5个回答

37

同样的问题(已关闭:2014年10月)。问题是我的一个矢量XML文件包含了科学计数法

所以,为了确保你的应用程序在所有设备上都能正常工作,请确保你的XML矢量可绘制文件不包含e-


5

这个错误可能会出现在Android 5.0.1上。

原因:当向量图像描述符号以科学计数法(科学记数法)的形式存在时,例如8.8e-5。

请在项目中的标签内查找以下条目,即您的矢量图像:

解决方法:在不使用指数的情况下更改这些数字的格式将得到结果0.000088。


你救了我的一天。 - whalemare

1

0

在将我的SVG通过Android SVG to VectorDrawable转换后,我遇到了这个错误。原来生成的一些路径在第一个数字后面紧跟着字母'L'。删除它可以解决这个错误。


-3
在寻找解决方案时,我发现了一些变通方法,比如将操作系统语言切换为英语。
您可以在问题跟踪器此处此处中阅读更多信息。

1
你链接的错误报告是关于Android Studio本身的。问题是关于应用程序在运行时崩溃的。 - Jarett Millard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接