Ошибка (1,1) нелегального символа '\ufeff' при компиляции на Android Studio

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

http://developer.android.com/sdk/installing/migrate.html

Но это не работает. поэтому я импортирую проект напрямую из пути, и он автоматически переносится в проект android-studio, но все же что-то не так при компиляции.

Ошибка:(1, 1) ошибка: нелегальный символ: '\ufeff'

позиция ошибки относится к

пакет com.bla.blabla;

Пожалуйста, помогите мне, спасибо

16 ответов

Это проблема, связанная с символом BOM (Byte Order Mark). BOM Order Mark BOM - это символ Unicode, используемый для определения порядка следования байтов в текстовом файле, который указывается в начале файла. Eclipse не разрешает этот символ в начале вашего файла, поэтому вы должны удалить его. Для этого используйте редактор форматированного текста, например Notepad++, и сохраните файл с кодировкой "UTF-8 без BOM". Это должно устранить проблему.

Android студия кодирования файлов

В правом нижнем углу вы можете установить кодировку файла. Выберите другой вариант, чем UTF-8

Если появится всплывающее окно, выберите опцию Convert,

Как сказал Марсело, я изменил опцию Кодировка файла на UTF-16. Пробежал, но не сработало. Снова поменял на UTF-8 и конвертировал. Это успешно прошло. Если вышеуказанное решение не работает, попробуйте это.

введите описание изображения здесь В правом нижнем углу проекта измените кодировку файла UTF-8 на UTF-16.

  1. Откроется новый диалог. Выберите конвертировать и запустить его.
  2. Это даст вам некоторые ошибки, затем снова измените UTF-16 на UTF-8.
  3. Преобразуйте его и запустите проект. На этот раз ваш проект будет успешно запущен.

Я решил эту проблему с помощью этого метода:

  1. Ctrl + A в моей деятельности и скопировать все коды
  2. удалить YourClass.java
  3. создать YourClass.java
  4. вставить весь код в новый класс Java

Этот метод работает для меня. Тпх

Я столкнулся с этой ошибкой в ​​intelliJ-2016.1.2.

Спасибо @Darsh за вашу помощь, я сделал то же самое, сначала изменил на UTF-16 (то есть преобразовал в UTF-16) и скомпилировал код. он не работал, затем снова переключился на UTF-8, на этот раз он работал нормально.

Спасибо.

Выше отличные решения. Однако, если ни один из них не работает, попробуйте это:

Откройте файл в Notepad++; Скопируйте все; Создать новый файл с тем же именем; Вставьте все; Сохрани это.

Теперь это ушло.

Я попробовал несколько других ответов здесь без радости.

В конце я просто удалил оскорбительную строку и переписал ее прямо в Android Studio, Ошибка исчезла.

Было ли это вызвано тем, что я скопировал и вставил строку кода с YouTube (или любого другого случайного блога, на который я смотрел в то время)?

Вы можете попробовать этот метод:

  1. Переименуйте класс как class1.java
  2. Создайте новый класс, переименованный в класс class.java
  3. Выделите все содержащие переименованные файлы и скопируйте в новый класс.

Этот метод работает для меня.

Закройте андроид студию и снова откройте ее. Меня устраивает. Кроме того, это может произойти, если вы, например, копируете комментарий с 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, потому что ни в одном другом ответе об этом не упоминалось.

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