在android studio中解析svg文件的内部错误

时间:2018-04-18 08:53:09

标签: android-studio svg

从这个月开始,我无法通过我的笔记本电脑中的Vector Asset导入任何svg文件,我总是得到msg'内部错误解析abc.svg'

我尝试在其他笔记本电脑中使用android studio导入相同的svg文件,但它可以工作,但我的笔记本电脑不能再导入了。

我在我的笔记本电脑中使用android studio大约2年了,并且经历了很多更新,但本月突然无法导入,我已经在我的笔记本电脑中执行了工厂重置,并重新安装了android studio。我也试过创建新项目,但它仍然无法工作,任何人都可以帮助我吗?

enter image description here

11 个答案:

答案 0 :(得分:60)

在我的情况下,我有一个十进制值表示高度,将其四舍五入解决了问题

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 135.4">

135.4 更改为 136 完成了这项工作

<强>更新

之后,在 IDE致命错误部分中,我构建了以下异常:

NumberFormatException

当你有一个十进制维度时,向量断言解析器失败了,我报告了这个问题。我希望很快就会解决。

答案 1 :(得分:58)

更新2018年12月23日

基于issuetracker似乎在Android Studio 3.2 Canary 5及更高版本中修复了此错误,因此更新您的Android工作室是另一种修复方法!现在我使用版本3.2.1并且工作正常。

OLD ANSWER

最后我找到了解决方案。我不知道发生了什么,但我有同样的问题并修复当我再次下载相同的svg并用记事本++打开它并导出它与svg的不同名称!它的工作!

修改

如果您使用flat icon下载svg,请在下载之前单击编辑然后下载!这个svg在android studio中运行良好。

我有android studio 3.1.1

这只是android studio中的一个错误

编辑2

svg viewBox中的十进制数中还有一个错误,可以通过将十进制更改为整数来修复(感谢crgarrido)

示例:

在svg文件头

中将十进制数更改为整数
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 135.4">

135.4 更改为 135

答案 2 :(得分:11)

我也有这个错误,我想我得到了答案。

当你&#34;添加矢量资产&#34;在您的项目中,Android Studio在res / drawable文件夹中创建一个.xml文件。

所以我找到了这个网站:http://a-student.github.io/SvgToVectorDrawableConverter.Web/

您只需要将.svg文件放在框中并等待几秒钟。

然后,右键单击Android Studio中的drawable文件夹,New - &gt;可绘制资源文件,设置图标名称等... 然后你最终用网站给你的xml代码替换内容。

保存文件,您的图标已准备就绪!

答案 3 :(得分:4)

我解决了在svg标签中添加宽度和高度的问题。

示例

来自

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.42 56.15">

收件人

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.42 56.15" width="24" height="24">

我猜想Android Studio无法在不提及尺寸的情况下从svg文件添加矢量。

答案 4 :(得分:2)

嗨,您必须将所有浮点数转换为整数。 例如在文本编辑器中打开.svg文件

 width="292.362px" height="292.362px" viewBox="0 0 292.362 292.362" style="enable-background:new 0 0 292.362 292.362;"

更改为

width="292px" height="292px" viewBox="0 0 292 292" style="enable-background:new 0 0 292 292;"

答案 5 :(得分:1)

问题是您的SVG文件。 您必须将页面度量设置为像素。

使用Inkscape,在Windows中,按 Ctrl + Shift + D 打开文档属性。将大小单位设置为像素(px)。

希望它有所帮助。如果有效,请告诉我。

答案 6 :(得分:0)

我使用Gimp和Export Path生成了一个简单的SVG。它的宽度和高度为十进制英寸。将这些更改为像素的宽度/高度可以固定它。

答案 7 :(得分:0)

w:85.3 h:120.4px ==> w:85px H:120px 可以正常工作

答案 8 :(得分:0)

我通过删除viewBox中的命令分隔值(即我已经拥有了

)解决了我的问题

viewBox="0, 0, 350,450"

并将其更改为

viewBox="0 0 350 450"

允许将其导入

答案 9 :(得分:-1)

在记事本中打开SVG文件。 轮所有在视框的十进制值=“这里允许没有十进制值”。

答案 10 :(得分:-2)

我能够通过解析abc.svg错误问题解决此内部错误,请更改width="512px"height="512px",它应该可以正常工作。

enter image description here