Внутренний анализ ошибок 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]()