Android Studio 1.2 - 默认情况下项目编码不匹配

43

我是一个Android新手,刚刚升级到了Android Studio 1.2。当我创建一个新项目(API 16:Android 4.1(Jelly Bean))时,立即收到以下警告:

警告:项目编码(Windows-1252)与Gradle构建文件中指定的编码(UTF-8)不匹配。这可能导致严重的错误。
更多信息...
打开文件编码设置

在我没有进行任何更改或编写任何代码的情况下就会出现上述警告。我在tools.android.com上阅读了更多有关信息(http://tools.android.com/knownissues/encoding),但它非常模糊,并假定用户已经知道正在发生什么(这就是“更多信息…”带你去的地方)。自从我更新到Android Studio 1.2以来,我的XML文件中的设计和文本选项卡甚至无法同步;在文本文件中可以编辑XML文件,但不能同时在设计选项卡中进行编辑。我认为这是相关问题。

为什么默认情况下会不匹配此编码,我该怎么办以及应该使用什么作为默认编码?

谢谢!

4个回答

81
点击文件(File)->设置(Settings)(或按下Ctrl + Alt + S),并在Android Studio中查找文件编码。如下图所示。

现在您有三个选项:

  • 将项目编码更改为与UTF-8匹配,因为Gradle和Android Lint都使用这种编码(推荐);
  • 或更改IDE编码以匹配其他编码;
  • 或者简单地忽略警告。如果到目前为止它已经起作用了,那么它将继续正常工作。

enter image description here
(来源:shrani.si

一旦您看到警告,可以直接点击下面图片中所示的“打开文件编码设置”。这将带您到与上述描述相同的位置。

enter image description here
您还可以在Android Studio右下角看到文件的当前编码,并在那里进行更改。请参见以下图像。

IDE Encoding 此外,您还可以在build.gradle脚本中指定字符集,例如:
android {
    ...
    compileOptions {
        encoding "UTF-8"
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

根据Ashl7的评论,您需要进行Gradle同步才能使其正常工作。

@user3290308 本地属性和内容是自动生成的,不应该被篡改。##此文件是由Android Studio自动生成的。 #请勿修改此文件--您的更改将被擦除! - Bojan Kseneman
@user3290308 我认为以管理员身份关闭并重新打开它可能会解决你无法在项目设置中进行更改的特定问题。 - Parva Thakkar
1
大家注意,在这之后一定要进行 Gradle 同步,否则单独执行是不起作用的。 - sorry_I_wont

15

不建议将UTF-8更改为系统默认编码,建议将项目编码设置为UTF-8(文件->设置->编辑器->文件编码)。UTF-8是最常见的文件编码之一,通过按需使用1到4个字节来编码字符,它可以有效地利用空间。

Google建议使用UTF-8,Gradle和Android Lint也使用UTF-8:Android Studio文件编码

升级到Android Studio 1.2后,我遇到了完全相同的问题。

Android Studio设置窗口屏幕截图


5
我也遇到了同样的问题。因此,我将IDE和项目编码以及属性文件的默认编码都更改为UTF-8。但是,我仍然在gradle同步选项卡中看到了相同的警告信息。随后,我简单地关闭了那个选项卡,并且自那以后就没有再看到过警告消息。假设如果再次出现警告条件,IDE会重新引发该选项卡。现在当我构建项目时,既不会出现gradle同步选项卡,也不会出现警告消息。所以也许在一次构建期间警告被恰当地写入了,但应该在开始新的构建时清除或某种方式移除,但未能这样做,这意味着这是IDE中的一个错误。
但是每次创建新项目时,问题都会再次出现。应该有一个设置来使每次创建新项目时所有编码都匹配。

2
您可以通过点击文件 -> 其他设置 -> 默认设置来更改新项目的默认编码设置。
在“编辑器”和“文件编码”下,您可以将IDE编码和项目编码设置为相同的值,以避免在未来的项目中出现错误信息。
在文件 -> 设置下进行设置将仅更改当前打开的项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接