Внутренний анализ ошибок svg файла в студии android

Начните с этого месяца, я не смог импортировать любой SVG файл, хотя Vector Asset в моем ноутбуке, я всегда получаю сообщение msg "Внутренняя обработка ошибок abc.svg"

Я попытался импортировать тот же файл svg с помощью студии Android в другой ноутбук, он работает, но мой ноутбук больше не может импортировать.

Я использовал студию Android в своем ноутбуке около 2 лет и прошел множество обновлений, но в этом месяце они больше не могут импортироваться, я выполнил сброс настроек на своем ноутбуке и снова заново запустил студию Android. Я тоже пытался создать новый проект, но он все еще не может работать, кто-нибудь может мне помочь?

enter image description here

Ответ 1

Наконец я нашел решение. Я не знаю, что происходит, но у меня та же проблема и исправлена, когда я снова скачать тот же SVG и открыть его с notepad++ и экспортировать его с другим именем, как SVG! и это работает!

ОБНОВИТЬ

Если вы используете плоский значок для загрузки SVG, перед загрузкой просто нажмите на редактировать, а затем скачать! эта SVG отлично работает в Android-студии.

У меня андроид студия 3.1.1

Это просто баг в андроид студии

ОБНОВЛЕНИЕ 2

В svg viewBox есть еще одна ошибка в десятичных числах, которую можно исправить, изменив десятичную на целую (благодаря crgarrido)

Образец:

Измените десятичные числа на целые числа в заголовке файла SVG

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

Изменить 135,4 на 135

ОБНОВЛЕНИЕ 23 декабря 2018

База на Issueetracker, кажется, эта ошибка исправлена в Android Studio 3.2 Canary 5 и выше, так что обновите свою андроид студию еще один способ исправить! сейчас я использую версию 3.2.1 и работаю нормально.

Ответ 2

В моем случае у меня было десятичное значение, указывающее высоту, округленное до целого, решение проблемы

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

Изменение 135.4 до 136 выполняло работу

Обновить

После этого в разделе "Неустранимые ошибки IDE I" было следующее исключение:

NumberFormatException

Параметр vector assert parser терпит неудачу, если у вас есть десятичное измерение, я сообщил об этой проблеме. Надеюсь, скоро это будет исправлено.

Ответ 3

У меня тоже была эта ошибка, и я думаю, что получил ответ.

Когда вы добавляете векторный объект в проект, Android Studio создает XML файл в папке res/drawable.

Поэтому я нашел этот сайт: http://a-student.github.io/SvgToVectorDrawableConverter.Web/

Вам просто нужно отбросить файл.svg в поле и подождать несколько секунд.

Затем просто щелкните правой кнопкой мыши по папке с выталкиванием в Android Studio, New → ресурс ресурса Drawable, установите имя значка и т.д.... И вы, наконец, замените содержимое кодом xml, который вам дал веб-сайт.

Сохраните файл, и ваш значок будет готов к работе!

Ответ 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 файлов без упоминания размеров.

Ответ 5

Привет, вам нужно преобразовать все число с плавающей точкой в integer. например открытый файл.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;"

Ответ 6

Проблема заключается в вашем файле SVG. Вы должны установить размер страницы в пикселях.

С помощью Inkscape в Windows нажмите Ctrl + Shift + D, чтобы открыть Свойства документа. Установите единицы размера в пиксели (px).

Надеюсь, поможет. Дайте мне знать, если это сработает.

Ответ 7

Я использовал Gimp и Export Path для создания простого SVG. Он имел ширину и высоту как десятичные дюймы. Изменение их на ширину и высоту пикселя зафиксировали его.

Ответ 8

w: 85.3 h: 120.4px ==> w: 85px H: 120px его нормально и работают

Ответ 9

Откройте файл SVG в блокноте. Округлите все десятичные значения в viewBox = "здесь нельзя использовать десятичные значения".

Ответ 10

Я смог решить эту внутреннюю ошибку, проанализировав проблему ошибки abc.svg, измените width="512px" и height="512px" и она должна работать.

enter image description here