Почему мой SVG не загружается в Vector Asset Studio

Ниже приведенный ниже 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>

введите описание изображения здесь

Ответы

Ответ 1

Импорт файлов .svg, созданных в Inkscape в Adobe Illustrator, и их экспорт исправил эту проблему на 100%.

Ответ 2

Android Studio Vector Asset Studio в настоящее время не поддерживает все функции SVG. Вы можете конвертировать SVG в VectorDrawable, используя этот инструмент.

Надеюсь, что это поможет.

Ответ 3

Вам нужно изменить ширину и высоту svg от mm чтобы использовать вместо него px. Это текущий обходной путь, ожидающий решения проблемы.

Существует уже подал отчет об ошибке здесь

Ответ 4

Потратив несколько часов, я разобрался с проблемой, и даже использование внешних скриптов svg2vectordrawable не могло помочь.

Размер фигур и/или размер страницы документа не могут содержать плавающие числа по ширине/высоте, например 14,134 или 3,5.

Значение ширины и высоты фигуры и страницы должно быть целыми числами !

Ответ 5

Как сказал @Kingsley Adio, вы должны использовать единицы px для своего документа SVG.
В Inkscape мне удалось это сделать, создав собственный размер страницы и установив выходной блок на px:

Свойства документа Inkscape

Ответ 6

Компиляция вещей, которые мне помогли при попытке импортировать SVG с помощью инструмента Vector Asset (они не являются взаимоисключающими):

  • Измените значения с mm на px (обычно в атрибутах width/height)
  • Значения viewBox значения в целое число (обычно это можно найти в атрибутах width/height или viewBox или style). Нравится 224.5. Вам не придется делать это в полигонах, но только на узле SVG.

Ответ 7

если вы уверены, что ваш актив верен, убедитесь, что ваш язык ОС установлен на английский. путь SVG содержит ,, а не ., например, если вы используете французский язык и не конвертируется в . с помощью студии android studio

Ответ 8

Изменение текста на объект решило эту проблему для меня. Если вы используете Inkscape: сначала нажмите Ctrl + K (объединение путей), затем Ctrl + J (динамическое смещение).

Ответ 9

Существуют различные варианты, которые могут вызвать такую ошибку (некоторые из них перечислены здесь).

rgba(r,g,b,a) может быть использование rgba(r,g,b,a) в вашем файле .svg. Просто проверьте и конвертируйте, если нашли.

Подсказка: вы можете редактировать файлы .svg в любом файловом редакторе.

Ответ 10

Смена языка в настройках помогла мне! У меня был голландский в качестве языка на моем компьютере (где вместо числа с плавающей запятой используются запятые), и я сменил его на английский, и перезапуск сработал.

Ответ 11

Ну, в моем случае он был успешно импортирован. Вероятно, более новая версия сейчас.