错误(1,1)非法字符' \ ufeff'在android studio上编译时

时间:2014-04-22 06:03:45

标签: java android android-studio ide

我有一个Eclipse项目源代码(我被告知在Android Studio上,也许他们只是混淆了),我开始将代码迁移到android studio指向

  

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

但它不起作用。 所以我直接从路径导入项目并自动转移到android-studio项目,但是在编译时仍然出错。

  

错误:(1,1)错误:非法字符:' \ ufeff'

错误位置是指

  

包com.bla.blabla;

请帮助我,谢谢

15 个答案:

答案 0 :(得分:36)

这是与BOM(字节顺序标记)字符相关的问题。 Byte Order Mark BOM是一个Unicode字符,用于定义文本文件字节顺序,并位于文件的开头。 Eclipse在文件开头不允许使用此字符,因此您必须将其删除。为此,请使用富文本编辑器(如Notepad ++),并使用编码" UTF-8保存文件而不使用BOM。"这应该可以消除这个问题。

答案 1 :(得分:30)

Android studio file encoding

在右下角,您可以设置文件编码。选择除UTF-8

之外的其他选项

如果出现弹出窗口,请选择Convert选项。

答案 2 :(得分:16)

正如Marcelo所说,我将文件编码选项更改为UTF-16。跑吧,但没有奏效。再次改为UTF-8并转换它。它运行成功。如果上述解决方案不起作用,请尝试此操作。

答案 3 :(得分:10)

enter image description here在项目的右下角,将UTF-8编码为UTF-16。

  1. 将打开一个新对话框。选择转换并运行它。
  2. 它会给你一些错误,然后再次将UTF-16更改为UTF-8。
  3. 转换它并运行项目。这次您的项目将成功运行。

答案 4 :(得分:3)

我在intelliJ-2016.1.2中遇到了这个错误。

感谢@Darsh的帮助, 我做了同样的事情,首先改为UTF-16(即转换成UTF-16)并编译代码。它没有工作,然后再次改回UTF-8,这次它工作正常。

谢谢。

答案 5 :(得分:2)

以上是很好的解决方案。但是,如果它们都不起作用,请尝试以下方法:

在Notepad ++中打开文件; 复制一切; 创建一个具有相同名称的新文件; 粘贴一切; 保存它。

现在已经不见了。

答案 6 :(得分:2)

我在这里尝试了其他几个答案而没有任何快乐。

最后,我只是删除了有问题的行并将其直接重写为Android Studio。错误消失了。

这是由于我复制并粘贴youtube(或者我当时正在查看的随机博客)的代码行而引起的吗?

答案 7 :(得分:2)

您可以尝试这种方法:

  
      
  1. 将类重命名为class1.java
  2.   
  3. 创建一个新类,一些重命名的类,如class.java
  4.   
  5. 选择所有包含重命名的文件并复制到新类中。
  6.   

这种方法对我有用。

答案 8 :(得分:2)

我用这种方法解决了这个问题:

    在我的活动中
  1. ctrl + A并复制所有代码
  2. 删除YourClass.java
  3. 创建YourClass.java
  4. 将所有代码粘贴到新的Java类中

此方法对我有用。 tnx

答案 9 :(得分:1)

关闭android studio并重新打开它。这个对我有用。此外,如果您从youtube复制评论并将其粘贴到项目中,则可能会发生这种情况

答案 10 :(得分:1)

将您的UTF8转换为ISO 8859-1,以便在andorid Studio中解决问题

enter image description here

enter image description here

注意 ISO-8859-1使用此

如果,您的错误未解决,则使缓存无效,然后重新启动,然后

无尘清洁 npm start--重置缓存 react-native运行Android react-native run-ios

永久解决您的问题

另一件事,如果问题仍然存在,则将com.wheel文件复制到记事本++中,然后再次复制并粘贴到您的项目中

 android {  
   compileOptions.encoding = 'ISO-8859-1'
 }

答案 11 :(得分:0)

我尝试使用sublime,然后打开文件" Save with Encoding"选择UTF-8(没有BOM),它可以工作:)

答案 12 :(得分:0)

只需进入记事本plus加并打开文件,然后在顶部栏的编码选项中选择utf8

答案 13 :(得分:0)

只需删除xml文件的第一行并手动重新键入(复制粘贴将重新插入隐藏的BOM)。

答案 14 :(得分:0)

这里的想法肯定对我有所帮助,但结果却有所不同。

我确实将文件编码从UTF-8转换为UTF-16。然后,我遇到了另一个错误。当我将其转换回UTF-8时,我注意到在代码行之前有一串无法识别的字符。我将它们删除并重新编译,效果很好。

我的结论是某种无法识别的字符隐藏在我的代码中。可能是程序员错误,或者是从网络上盲目复制/粘贴了令人讨厌的隐藏字符。遵循我们的同事在上面概述的过程,以某种方式让我看到了它。

如果您遵循上述想法,请确保在每次转换之间进行清理/重建。