Android jdk1.8的使用配置并解决中文乱码的问题

平时使用的jdk都是Android studio默认的,也没怎么去注意。昨天同事问我对Java8了解不,趁今天有时间去学习了下。

这里主要讲在配置jdk1.8时遇到的问题,是在是想吐槽,坑。。。
首先,你的项目依赖的jdk要是jdk1.8的, 可以在
Android jdk1.8的使用配置并解决中文乱码的问题_第1张图片

Android jdk1.8的使用配置并解决中文乱码的问题_第2张图片
来配置。

然后在moudle的build.gradle中添加

android{
defaultConfig {
jackOptions {
    enabled true
}
}
compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}
}

这样你就能使用jdk1.8中的新特性了!但是,但是!!
当我在对textView设置内容的时候 tvHello.setText("这是中文");
悲剧发生了,是的,中文乱码了…
先以为导入配置之后编码格式出错,默默的检查了设置,没错啊,全是UTF-8的啊。再向同事问了他那天有没有这个问题,他说没,然后就在那蛋疼了半天…后来看见有另一种导入的方法也能使用Lambda,比较了下发现没有启用Jack,我屮艸芔茻,默默的百度了Jack导致中文乱码,果然有,香菇,蓝瘦…吐槽完,爽多了 = =

以下是解决办法

Android jdk1.8的使用配置并解决中文乱码的问题_第3张图片
恩,重新编译,好了。。。
原因是:

查询后发现这是Jack编译器的一个bug,Jack使用的是操作系统的默认编码,UTF-8编码的文件经过编译后,其中的非ASCII字符就会变成乱码。

百度到的博客: http://blog.csdn.net/ljh102/article/details/52916019

你可能感兴趣的:(Android)