当前位置: 首页 > 知识库问答 >
问题:

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

东门俊民
2023-03-14

我有点像Android新手,刚刚升级到Android Studio 1.2。当我制作一个新项目(API 16: Android 4.1(Jelly Bean))时,我会立即收到以下警告:

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

这是在我没有做任何更改或编写任何代码的情况下完成的。我读了更多关于工具的信息。Androidcom公司(http://tools.android.com/knownissues/encoding)但它是非常模糊的,并且假设对正在发生的事情有了解(这就是“更多信息…”带着你)。自从我更新到Android Studio 1.2以来,我的XML文件中的设计和文本选项卡甚至无法同步;无法编辑“设计”选项卡,但可以编辑XML文件的文本文件。我想这是一个相关的问题。

为什么默认情况下它与此编码不匹配,我能做些什么以及我应该使用什么作为默认编码?

非常感谢。

共有3个答案

陆仲渊
2023-03-14

我现在或曾经有过同样的问题。所以我修改了它,使IDE和项目编码以及属性文件的默认编码都是UTF-8。但我一直在邮件的gradle sync选项卡中看到相同的警告。最后,我只是关闭了那个标签,从此再也没有看到警告信息。如果再次应用警告条件,IDE可能会重新释放该选项卡。现在,当我创建项目时,既不会显示gradle sync选项卡,也不会显示警告消息。因此,可能警告是在一次生成过程中正确编写的,但应该在新生成的开始时清除或以某种方式删除,但事实并非如此,这意味着它是IDE中的一个bug。

但每次我创建一个新项目时,问题又出现了。应该有一个设置,使所有编码在每次创建新项目时都匹配。

施昊然
2023-03-14

我建议您将项目编码设置为UTF-8(文件),而不是更改UTF-8以匹配系统默认值-

谷歌建议使用UTF-8,Gradle和Android Lint都使用UTF-8:Android Studio的文件编码

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

严扬
2023-03-14

单击“文件”-

现在你有三个选择

  • 更改项目编码以匹配UTF-8,因为Gradle和Android Lint都使用此编码(推荐),

您还可以在build.gradle脚本中指定字符集,如下所示

android {
    ...
    compileOptions {
        encoding "UTF-8"
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

根据Ashl7的评论,您需要执行gradle同步才能正常工作

 类似资料:
  • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

  • 在MySQL Ver 14.14 Distrib 5.7.25上,对于Linux(x86_64),默认设置似乎不起作用,因为我试图一行,其中包含父表键中不存在的值,而成功了。 为什么我必须,即使在默认情况下设置了? ...我将中,得到了这个... 因此,为了弄清楚为什么不应该成功,但却成功了,我阅读了以下网页... null 外键必须为。是。 默认存储引擎必须为。是的。 对每个外键声明使用。是。

  • 问题内容: 谁能向我解释为什么Hibernate 默认情况下不设置注释,而是允许实体根据当前设置的属性生成INSERT? 什么是不使用的原因,因此默认情况下包括所有实体属性? 问题答案: @ jb-nizet说了什么。 另外,在我的书中是个坏主意。 从生成的SQL跳过空字段,很快您将发现自己处于声明列的情况,这实际上导致持久数据与休眠知道的实体数据不同。这会造成挫败感,并可能使您诉诸昂贵的电话。

  • 我不能让所有p:手风琴面板选项卡关闭 我尝试了上述两种建议的解决方案,在JSF Primefaces中隐藏了accordion面板的第一个选项卡,但如果accordionPanel的value属性是EL表达式,它对我来说就不起作用。第一个选项卡始终处于打开状态。 我试过了 无功而返 和 仅当accordionPanel没有值属性时才有效 感谢任何帮助。 我有素数表3.3。1.

  • 问题内容: 众所周知,根据JLS7 p.4.12.5, 每个实例变量均使用默认值初始化。例如(1): 但是我一直认为,这样的类实现(2): 绝对等于示例(1)。我期望,复杂的Java编译器会看到(2)中的所有这些初始化值都是多余的,并忽略了它们。 但是突然对于这两个类,我们有两个不同的字节码。 例如(1): 例如(2): 问题是: 为什么?但这是显而易见的要优化的事情。什么原因? UPD: 我使用

  • 问题内容: 我有一个关于乐观锁定Hibernate的问题。我试图深入了解Hibernate的乐观锁定,但是我有一个疑问。Hibernate使用版本方法(整数或时间戳)来实现乐观锁定。要进行配置,您可以使用@Version批注(或xml配置)并创建一个version属性。另一个选项是使用optimistic- lock =“ all”属性进行配置而不进行版本控制。 我的问题是,如果您没有定义任何版本