Ошибка (1,1) нелегального символа '\ufeff' при компиляции на Android Studio
Я получил исходный код проекта Eclipse (мне сказали, что в Android Studio, может быть, они просто запутались), и я начинаю миграцию кода в Android Studio.
Но это не работает. поэтому я импортирую проект напрямую из пути, и он автоматически переносится в проект android-studio, но все же что-то не так при компиляции.
Ошибка:(1, 1) ошибка: нелегальный символ: '\ufeff'
позиция ошибки относится к
пакет com.bla.blabla;
Пожалуйста, помогите мне, спасибо
16 ответов
Это проблема, связанная с символом BOM (Byte Order Mark). BOM Order Mark BOM - это символ Unicode, используемый для определения порядка следования байтов в текстовом файле, который указывается в начале файла. Eclipse не разрешает этот символ в начале вашего файла, поэтому вы должны удалить его. Для этого используйте редактор форматированного текста, например Notepad++, и сохраните файл с кодировкой "UTF-8 без BOM". Это должно устранить проблему.
В правом нижнем углу вы можете установить кодировку файла. Выберите другой вариант, чем UTF-8
Если появится всплывающее окно, выберите опцию Convert
,
Как сказал Марсело, я изменил опцию Кодировка файла на UTF-16. Пробежал, но не сработало. Снова поменял на UTF-8 и конвертировал. Это успешно прошло. Если вышеуказанное решение не работает, попробуйте это.
В правом нижнем углу проекта измените кодировку файла UTF-8 на UTF-16.
- Откроется новый диалог. Выберите конвертировать и запустить его.
- Это даст вам некоторые ошибки, затем снова измените UTF-16 на UTF-8.
- Преобразуйте его и запустите проект. На этот раз ваш проект будет успешно запущен.
Я решил эту проблему с помощью этого метода:
- Ctrl + A в моей деятельности и скопировать все коды
- удалить YourClass.java
- создать YourClass.java
- вставить весь код в новый класс Java
Этот метод работает для меня. Тпх
Я столкнулся с этой ошибкой в intelliJ-2016.1.2.
Спасибо @Darsh за вашу помощь, я сделал то же самое, сначала изменил на UTF-16 (то есть преобразовал в UTF-16) и скомпилировал код. он не работал, затем снова переключился на UTF-8, на этот раз он работал нормально.
Спасибо.
Выше отличные решения. Однако, если ни один из них не работает, попробуйте это:
Откройте файл в Notepad++; Скопируйте все; Создать новый файл с тем же именем; Вставьте все; Сохрани это.
Теперь это ушло.
Я попробовал несколько других ответов здесь без радости.
В конце я просто удалил оскорбительную строку и переписал ее прямо в Android Studio
, Ошибка исчезла.
Было ли это вызвано тем, что я скопировал и вставил строку кода с YouTube (или любого другого случайного блога, на который я смотрел в то время)?
Вы можете попробовать этот метод:
- Переименуйте класс как class1.java
- Создайте новый класс, переименованный в класс class.java
- Выделите все содержащие переименованные файлы и скопируйте в новый класс.
Этот метод работает для меня.
Закройте андроид студию и снова откройте ее. Меня устраивает. Кроме того, это может произойти, если вы, например, копируете комментарий с YouTube и вставляете его в свой проект.
Просто зайдите в блокнот плюс плюс и откройте ваш файл и в опции кодирования на верхней панели просто выберите utf8
Я пытаюсь использовать Sublime, открыть файл, затем "Сохранить с кодировкой" там выбрать UTF-8 (без спецификации), и это работает:)
Откройте файл LOOPView.java сначала
Преобразуйте UTF8 в ISO 8859-1, чтобы решить вашу проблему в andorid Studio
Если UTf-8 не отображается в нижней панели студии Android, тогда ctl+shift+n открывает класс LoopView, а затем нижняя панель
Примечание ISO-8859-1 Используйте это
Если ваша ошибка не устранена, сделайте недействительный кеш и перезапустите снова и
gradlew clean npm start -- -reset-cache response-native run-android реагировать-native run-ios
Решите вашу проблему постоянно
Еще одна вещь, если проблема все еще сохраняется, скопируйте файл com.wheel в блокнот ++ и снова скопируйте и вставьте в свой проект.
android {
compileOptions.encoding = 'ISO-8859-1'
}
В React-native изменение index.js / android/index.js
импортировать PropTypes из 'prop-types';
Просто удалите первую строку xml-файла и заново введите ее вручную (копирование вставит заново скрытую спецификацию).
Идеи здесь, безусловно, помогли мне, но результат был немного другим.
Я преобразовал кодировку файлов из UTF-8 в UTF-16. Затем мне представили другую ошибку. Когда я преобразовал его обратно в UTF-8, я заметил, что перед моей строкой кода была строка неузнаваемых символов. Я удалил их и перекомпилировал, и это сработало.
Мой вывод - каким-то образом неузнаваемый символ пробрался в мой код. Это может быть ошибка программиста или слепая копия / вставка из Интернета, в которой размещен неприятный скрытый символ. Выполнение описанного выше процесса, описанного нашими коллегами, каким-то образом позволило мне это увидеть.
Если вы последуете этой идее, описанной выше, обязательно очищайте / перестраивайте между каждым преобразованием.
РЕШЕНИЕ В 2 ЩЕЛЧКА
В правом нижнем углу Android Studio:
1 Нажмите UTF-8
2 Нажмите «Удалить спецификацию».
Я предполагаю, что это новая опция в Android Studio, потому что ни в одном другом ответе об этом не упоминалось.