Внутренняя ошибка при разборе файла SVG в студии Android

Начиная с этого месяца, мне не удавалось импортировать какой-либо файл svg, хотя Vector Asset на моем ноутбуке, я всегда получаю сообщение «Internal error parsing abc.svg»

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

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

Внутренняя ошибка при разборе файла SVG в студии Android

перейдите по этой ссылке и посмотрите рисунок 3.developer.android.com/studio/write/vector-asset-studio.html
Ali 18.04.2018 11:09

Возможный дубликат Почему мой SVG не загружается в Vector Asset Studio

krishank Tripathi 18.04.2018 11:13

На другом ноутбуке установлена ​​более старая версия Android Studio? Если так, то это похоже на ошибку. Вы должны сообщить об этом.

Paul LeBeau 18.04.2018 11:42

Не, его обновленная версия.

Kok Soon 18.04.2018 11:47

Посмотри на этот stackoverflow.com/questions/36906986/…

Svyatoslav Ruzhitsky 16.05.2018 14:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
48
5
22 166
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

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

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

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

Но почему я использую ноутбук моего коллеги, который можно импортировать, а мой ноутбук нельзя импортировать? мы оба пытались импортировать один и тот же файл svg, и мой ноутбук может просматривать файл svg в хроме, вы уверены, что проблема с файлом svg?

Kok Soon 19.04.2018 11:24

Конечно, я не уверен. Единственный способ, которым я мог быть уверен, - это если бы я сам справлялся с ситуацией. Я следую только тому, что вы мне говорите. Но да, это скорее всего проблема с svg. Вы пробовали то, что я предлагал?

Luís Henriques 19.04.2018 11:59

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

Kok Soon 20.04.2018 11:42

Android Studio 3.1.1, я думаю, это должна быть последняя версия.

Kok Soon 24.04.2018 10:20
Ответ принят как подходящий

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

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

СТАРЫЙ ОТВЕТ

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

РЕДАКТИРОВАТЬ

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

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

Это просто ошибка в студии Android

РЕДАКТИРОВАТЬ 2

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

Образец :

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

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

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

Если ответ crgarridos помог вам решить проблему, отметьте его сообщение как решение. Спасибо.

James Wong 20.06.2018 08:14

лично использую плоский значок и отлично работаю, просто редактируя его

Radesh 20.06.2018 09:22

@KokSoon измените его после импорта

amorenew 10.09.2018 08:54

У меня сработало обновление с Android Studio 3.1 до 3.4.

Musili 31.01.2019 13:48

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

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

Итак, я нашел этот сайт: http://a-student.github.io/SvgToVectorDrawableConverter.Web/

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

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

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

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

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

Изменение 135,4 на 136 выполнило свою работу

Обновлять

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

NumberFormatException

Синтаксический анализатор утверждения вектора не работает, когда у вас есть десятичное измерение, я сообщил о проблеме. Надеюсь, это скоро исправят.

Это была моя проблема. Спасибо!

Chris Wright 05.06.2018 18:01

Это действительно лучший ответ. У меня тоже сработало.

Mahmoud 08.06.2018 20:42

пришлось удалить десятичные дроби из viewBox и ширины, но работал нормально

MStoner 15.06.2018 18:53

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

Kok Soon 19.07.2018 09:15

@KokSoon Я экспериментировал примерно так же, но это была проблема рендеринга на устройстве, которую я решил с помощью AppCompatImageView. Фактически, когда вы изменяете окно просмотра svg, вы просто изменяете «прямоугольник», на котором рисуется, сама форма остается точно такой же.

crgarridos 19.07.2018 10:12

Разве это решение не меняет исходный значок? Мне удалось обойти эту проблему с помощью androidassetstudio.net, в основном, все мои значки были сгенерированы нормально в студии Android, кроме одной, которую я решил с помощью этого веб-сайта.

Richard Miller 23.08.2018 07:59

Это сделало это для меня!

Oscar Valdez Esquea 16.04.2020 21:32

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

Не предоставляйте информацию в виде изображения, которое может быть текстом.

Karl Richter 05.06.2018 16:25

Я решил проблему с добавлением ширины и высоты в тег 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 без упоминания размеров.

@KokS Скоро я знаю. Вам необходимо настроить свой вектор после импорта файла svg. Но, по крайней мере, у вас не будет ошибок при импорте svg в ваш проект.

sunlover3 19.07.2018 09:34

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

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

ширина: 85,3; высота: 120,4 пикс. ==> ширина: 85 пикселей, высота: 120 пикселей все в порядке и работает

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

Я решил свою проблему, удалив значения, разделенные запятыми, в viewBox, т.е. у меня было

viewBox = "0, 0, 350,450"

и изменив его на

viewBox = "0 0 350 450"

разрешил его импортировать

Другие вопросы по теме