Ошибка в файле strings.xml в Android
Я объявил длинную строку в string.xml приложения.
Но это приводит к следующей ошибке:
Опубликуйте свою полную строку. Хотя, по моему мнению, в вашей строке есть символ апострофа (‘). Замените его на (\), и он исправит проблему. например,
Решение
Апострофы в strings.xml должны быть записаны как
пример
В моем случае у меня была ошибка с этой строкой в файле strings.xml, и я исправил ее.
Здесь вы видите, что мое приложение правильно работает с этим кодом.
Вот фактическая строка в моем приложении.
Вы должны поставить перед апострофом. Например, также проверьте, что вы редактируете файл strings.xml, а не values.xml (андроид-студия направляет вас к этому файлу при отображении ошибки). Потому что, если вы отредактируете values.xml и попытаетесь снова скомпилировать, ошибка не исчезнет. Это происходило со мной в последнее время.
Исключение апострофов и цитат
Если у вас есть апостроф или цитата в вашей строке, вы должны либо сбежать от нее, либо заключить целую строку в другие закрывающие кавычки. Например, вот некоторые жало, которые работают и не работают:
Я использую иврит (язык RTL) в файле strings.xml. Я вручную искал string.xml для этого символа: ‘, чем я добавил escape char \ infront (теперь он выглядит как), и все равно получил ту же ошибку!
Я снова искал char ‘, и я заменил char’ на ‘(eng writing), так как он показывает право налево, это выглядит так: \ in the strings.xml !!
Вы можете использовать эквивалент unicode как апостроф, так и другие символы, которые не поддерживаются в строке xml. Апостофский эквивалент «\ u0027».
Источник
Ошибка в файле strings.xml в Android
Я объявил длинную строку в string.xml приложения.
Но это дает следующую ошибку:
разместите свою полную строку. Хотя, по моему мнению, в вашей строке есть символ апострофа (‘). замените его на (\), и он исправит проблему. например,
Решение
Апоптопы в strings.xml должны быть записаны как
Пример
В моем случае у меня была ошибка с этой строкой в моей strings.xml, и я ее исправил.
Здесь вы видите, что мое приложение правильно строит этот код.
Вот настоящая строка в моем приложении.
Вы должны поставить перед апострофом. Как и этот \, также проверьте, что вы редактируете файл strings.xml, а не values.xml(в случае появления ошибки в этом файле вызывается файл android studio). Потому что, если вы отредактируете values.xml и попытаетесь скомпилировать его снова, ошибка не исчезнет. Это происходило со мной в последнее время.
Исключение апострофов и кавычек
Если у вас есть апостроф или цитата в вашей строке, вы должны либо сбежать от нее, либо заключить целую строку в другие типы заключенных кавычек. Например, вот некоторые жало, которые работают и не работают:
Я использую иврит (язык RTL) в файле strings.xml.
Я вручную искал файл string.xml для этого char: ‘
чем я добавил escape char\infront этого (теперь он выглядит как) и по-прежнему получил ту же ошибку!
Я снова искал для char ‘, и я заменил char’ на \'(eng writing), так как он показывает право налево, это выглядит так:\in the strings.xml!!
Используйте это регулярное выражение (? для поиска неиспользованного апострофом.
Он находит апостроф, которому не предшествует обратный слеш.
Вы можете использовать эквивалент unicode как апострофа, так и другие символы, которые не поддерживаются в строке xml. Апопрофский эквивалент “\ u0027”.
1. для ошибки: неопознанный апостроф в строке
я обнаружил, что инструмент AAPT2 указывает на неправильную строку в xml, иногда. Поэтому вы должны исправить весь файл strings.xml
В Android Studio в файле проблем используйте:
Edit-> find-> заменить
Тогда напишите в первом поле\'(или\&,>,\ , , Ответ №8
Где ваш апостроф использовал строку? Я не могу этого найти. пожалуйста, опубликуйте его. Если вам нужно использовать апостроф в вашей строке, просто используйте escape-последовательность “\”, как это.
did not \ didn\’t в XML, просто посмотрите strings.xml последний элемент.
Я думаю, что над изображением будут устранены ваши сомнения.
Лучший ответ на простое экранирование ‘ с \’ работает, но мне не нравится решение, потому что при использовании замены всех с ‘ на \’ , оно работает только один раз. Во второй раз вы останетесь с \\’ .
Источник