Internal error parsing svg file in android studio
Solution 1:
UPDATE December 23, 2018
Base on issuetracker seems this bug fixed in Android Studio 3.2 Canary 5 and above so update your android studio is another way to fix! now i use version 3.2.1 and work fine.
OLD ANSWER
Finally i found solution. I don't know what going on but i have same problem and fixed when i download same svg again and open it with notepad++ and export it with different name as svg! and it's work!
EDIT
If you use flat icon for download svg, before download just click on edit and then download! this svg work fine in android studio.
I have android studio 3.1.1
This just a bug in android studio
EDIT 2
There is another bug in decimal numbers in svg viewBox that can be fixed by change decimal to integer (thanks to crgarrido)
Sample :
Change decimal numbers to integers numbers in svg file header
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 135.4">
Change 135.4 to 135
Solution 2:
In my case, I had a decimal value indicating the height, rounded it to an integer solved the issue
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 135.4">
Changing the 135.4 to a 136 did the job
Update
After that, In the IDE Fatal errors section I constated the following exception:
The vector assert parser fails when you have a decimal dimension, I reported the issue. I hope it will be fixed soon.
Solution 3:
I had this error too, and I think I got an answer.
When you "Add a Vector Asset" in your project, Android Studio creates a .xml file in res/drawable folder.
So I found this website : http://a-student.github.io/SvgToVectorDrawableConverter.Web/
You just have to drop your .svg file in the box and wait a few seconds.
Then, just right click on drawable folder in Android Studio, New -> Drawable resource file, set the icon name, etc... And you finally replace the content by the xml code the website gave you.
Save the file, and your icon is ready to go !
Solution 4:
I solved the problem adding width and height to the svg tag.
Example
From
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.42 56.15">
To
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43.42 56.15" width="24" height="24">
I guess Android Studio can't add vectors from svg files without mentioning the dimensions.
Solution 5:
Hi you have to convert all float number to integer. for example open .svg file in text editor
width="292.362px" height="292.362px" viewBox="0 0 292.362 292.362" style="enable-background:new 0 0 292.362 292.362;"
change to
width="292px" height="292px" viewBox="0 0 292 292" style="enable-background:new 0 0 292 292;"