一、Android jdk1.8的使用配置。
1、首先,当前jdk必须在1.8以上,才可以使用,具体如何设置,可以右击当前项目,选择Open Module Settings,并在弹出的界面点击 SDK Location,并在下面的Use embedded JDK(recommnded)选择jdk。
操作图如下
2、对当前项目进行配置。
2.1、对于配置jdk1.8,其实有两种方法,第一种通过配置gradle脚本,第二种通过打开项目结构结构jinx配置,个人比较喜欢第二种,因为比较方便,只要进行设置就可以达到预期效果。
第一种:配置gradle脚本,在build.gradle脚本中添加下列代码:
android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
也可以这样配置,效果是一样的。
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
第二种:设置项目结构
按快捷键Ctrl+Shift+Alt+S进入项目结构设置,把app的jdk版本修改成1.8,注意你需要填写1.8,因为那个下拉菜单里没有这一选项,如下:
2.2、上面配置完,对build.gradle(Module.app)中进行配置,在defaultConfig中添加下面jackOptions代码块。
android{
defaultConfig {
jackOptions {
enabled true
}
}
配置到这一步,jdk1.8的基本配置就完成了,是不是很简单。本以为高高兴兴的以为这样就好,当我运行项目的时候出现中文乱码,在模拟器上或者在真机上,都是乱码,这个问题困扰了我整整一天,还好google引擎是强大的,接下来就对jdk1.8配置进行填坑。
二、Jack编译器编码设置。
当时我还不知道是Jack编译器编码的问题,点击setting,查看了android studio中的编码设置,发现我都设置了UTF-8,那是什么原因导致中文乱码??
google引擎帮助下,发现这是Jack编译器的一个bug,Jack使用的是操作系统的默认编码,UTF-8编码的文件经过编译后,其中的非ASCII字符就会变成乱码,既然问题已经明确,那如何设置??
在当前项目下gradle.properties文件中添加进行修改。
修改前:
org.gradle.jvmargs=-Xmx1536m
修改后:
org.gradle.jvmargs=-Dfile.encoding=UTF-8