其实这个问题已经困扰了很久了,只不过对编译没什么影响,就一直放着了,今天又遇到了,实在看不过去了,就去找解决方法,然后呢,搜出来的答案全都是一样的,而且也试了,没有用,尼玛,太过分了。
问题是这样的,代码中有中文,中文是在注释中,显示的时候是完全正常的,然而编译的时候gradle会报错,但是呢,又可以编译成功。这尼玛,真蛋疼。。提示信息其实也是乱码的,别问我既然乱码的下面的信息你是怎么得出来的,这不是重要的,重要的是怎么解决。
编译时Gradle报错信息 “编码 UTF-8 的不可映射字符”
首先在设置中设置字符集,
Settings->File Encodings->IDE Encodeing->UTF-8
Settings->File Encodings->Project Encodeing->UTF-8
如果这样不行的话继续往下看,如果可以了的话下面的步骤忽略就行了
网上很多解答的都是在对应的module下的build.gradle里加入下面的配置
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
但是这个配置在gradle2.0以前是可以生效的,在gradle2.0以后就不能生效了,原因是
Compile已经被重命名为JavaCompile
所以在gradle2.0以后需要添加的配置如下
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
时间: 2024-10-12 22:48:50