Android jdk1.8的使用配置并解决android jack编译乱码

来源:互联网 发布:做非标刀具软件 编辑:程序博客网 时间:2024/06/08 02:16

一、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

这里写图片描述

这里写图片描述

参考链接:http://stackoverflow.com/questions/39514276/android-displays-text-in-wrong-encoding-after-update-to-java-8

0 0
原创粉丝点击