Ответ 1
Импорт файлов .svg, созданных в Inkscape в Adobe Illustrator, и их экспорт исправил эту проблему на 100%.
Ниже приведенный ниже SVG не открывается в Android Studio Vector Asset Studio в результате ошибки:
"Пустое изображение предварительного просмотра! ИСКЛЮЧЕНИЕ при разборе TareSymbol.svg: Для строки ввода: "8.7337904mm" Исключение при анализе XML файла: Преждевременный конец файла. "
Почему следующий SVG файл несовместим с Vector Asset Studio?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg20235"
viewBox="0 0 61.500162 30.946501"
height="8.7337904mm"
width="17.356712mm">
<defs
id="defs20237" />
<metadata
id="metadata20240">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-109.24987,-351.17467)"
id="layer1">
<path
d="m 145.03542,367.34167 10.897,-4.49325 -0.009,3.30587 13.69124,0.0372 1.13537,0 0,2.1285 -1.13537,0 -13.69662,-0.0373 -0.009,3.33988 -10.87325,-4.281 z m -13.38814,-13.15875 0,-3.00825 16.97389,0 0,3.00825 -6.8995,0 0,27.93825 -3.15214,0 0,-27.93825 -6.92225,0 z m 3.31725,13.15875 -10.897,4.49325 0.009,-3.3055 -13.69129,-0.0373 -1.13537,0 0,-2.1285 1.13537,0 13.69662,0.0372 0.009,-3.33988 10.87325,4.28063 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path20212" />
</g>
</svg>
Импорт файлов .svg, созданных в Inkscape в Adobe Illustrator, и их экспорт исправил эту проблему на 100%.
Android Studio Vector Asset Studio в настоящее время не поддерживает все функции SVG. Вы можете конвертировать SVG в VectorDrawable, используя этот инструмент.
Надеюсь, что это поможет.
Вам нужно изменить ширину и высоту svg от mm
чтобы использовать вместо него px
. Это текущий обходной путь, ожидающий решения проблемы.
Существует уже подал отчет об ошибке здесь
Потратив несколько часов, я разобрался с проблемой, и даже использование внешних скриптов svg2vectordrawable не могло помочь.
Размер фигур и/или размер страницы документа не могут содержать плавающие числа по ширине/высоте, например 14,134 или 3,5.
Значение ширины и высоты фигуры и страницы должно быть целыми числами !
Как сказал @Kingsley Adio, вы должны использовать единицы px
для своего документа SVG.
В Inkscape мне удалось это сделать, создав собственный размер страницы и установив выходной блок на px
:
Компиляция вещей, которые мне помогли при попытке импортировать SVG с помощью инструмента Vector Asset
(они не являются взаимоисключающими):
mm
на px
(обычно в атрибутах width
/height
)viewBox
значения в целое число (обычно это можно найти в атрибутах width
/height
или viewBox
или style
). Нравится 224.5
. Вам не придется делать это в полигонах, но только на узле SVG. если вы уверены, что ваш актив верен, убедитесь, что ваш язык ОС установлен на английский. путь SVG содержит ,
, а не .
, например, если вы используете французский язык и не конвертируется в .
с помощью студии android studio
Изменение текста на объект решило эту проблему для меня. Если вы используете Inkscape: сначала нажмите Ctrl + K (объединение путей), затем Ctrl + J (динамическое смещение).
Существуют различные варианты, которые могут вызвать такую ошибку (некоторые из них перечислены здесь).
rgba(r,g,b,a)
может быть использование rgba(r,g,b,a)
в вашем файле .svg. Просто проверьте и конвертируйте, если нашли.
Подсказка: вы можете редактировать файлы .svg в любом файловом редакторе.
Смена языка в настройках помогла мне! У меня был голландский в качестве языка на моем компьютере (где вместо числа с плавающей запятой используются запятые), и я сменил его на английский, и перезапуск сработал.
Ну, в моем случае он был успешно импортирован. Вероятно, более новая версия сейчас.