26

我使用矢量绘图。它在我的几台设备上运行良好,但在我的带有 Android 5.0.2 的索尼上,我在应用程序启动时得到:

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)

看起来我已经将一些 svgs 转换为带有此设备不支持标签的 xml。但是如何理解哪些以及如何确保它可以在所有其他受支持的设备上运行。

4

5 回答 5

37

同样的问题http://code.google.com/p/android/issues/detail?id=78162关闭时间:2014 年 10 月)问题是我的一个向量 xml 包含科学记数法

因此,此时要确保您的应用程序可以在所有设备上运行,请确保您的 xml 矢量可绘制对象不包含e-

于 2015-11-16T15:05:25.887 回答
4

Android 5.0.1 可能会出现此错误原因:存在科学格式(科学记数法)的矢量图像描述符编号,例如 8.8e-5

在项目中的矢量图像标签中查找以下条目

解决方案:在这种情况下,在没有参展商的情况下更改格式中的这些数字的决定将是结果,0.000088

于 2017-01-13T13:44:33.633 回答
1

在我的 xml 中存在<group></group>属性。

在此处输入图像描述

在解决了他们的移除问题后,也花了一些时间来了解问题出在哪里,并且不是 M 和 L 字母(阅读更多:https ://developer.mozilla.org/en/docs/Web/SVG/Tutorial /路径

于 2017-03-30T12:32:34.940 回答
0

将我的 svg 通过Android SVG 传递给 VectorDrawable后出现此错误。原来它生成的一些路径在第一个数字之后有字母“L”。删除它可以纠正错误。

于 2016-03-25T13:54:19.557 回答
-3

在寻找解决方案时,我发现了一些解决方法,例如将操作系统语言切换为英语。

您可以在此处此处的问题跟踪器中阅读更多信息。

于 2016-01-01T14:49:08.147 回答