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
- Android jdk1.8的使用配置并解决android jack编译乱码
- Android jdk1.8的使用配置并解决中文乱码的问题
- Android源码编译(5)---使用Jack编译
- Android 编译 Jack简介
- 关闭Android jack 编译
- android jack编译,代码中的中文显示乱码
- android 6.0 jack 编译详解
- Android N JACK编译器不支持多用户同时编译的解决办法
- Android 新一代编译 toolchain Jack & Jill 简介
- Android 新一代编译 toolchain Jack & Jill 简介
- 编译Android 7.0(N) jack error 解决办法
- Android 新一代编译 toolchain Jack & Jill 简介
- Android最新编译工具Jack和Jill
- Jack 服务编译问题 Android 7.0
- Android的Jack编译器试用
- Android Studio 配置 JDK1.8 使用Lambda表达式
- 使用Jack编译
- 使用Jack编译
- Kubernetes编排工具-helm源码分析(Tiller中status命令处理流程)
- 验证码识别之旅(一)
- Huffman编解码
- Sublime_text3调色板的使用
- 第1章、安装和运行Lift
- Android jdk1.8的使用配置并解决android jack编译乱码
- 融云、环信dlopen failed: library "libsqlite.so" not found
- Numpy基础 --数组和矢量计算 利用Python进行数据分析读书笔记
- QT5.2中文乱码解决问题
- 迷宫城堡 【求SCC 个数】
- (13.1.2)PMBOK之二:五大过程组及其涉及的输入、输出、工具技术
- web.py的ctx(context)
- 文章标题
- 300.leetcode-Longest Incresing Subsequence最长递增子序列