1、问题描述

最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作。因此编写了自定义的Lint规则,在调试过程中,编译的时候出现了如下所示的错误:

部分输出日志如下所示:

:XTCLintrRules:compileJava
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:16: 错误: 编码GBK的不可映射字符
* 瀹氫箟浠g爜妫?鏌ヨ鍒?
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:16: 错误: 编码GBK的不可映射字符
* 瀹氫箟浠g爜妫?鏌ヨ鍒?
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:17: 错误: 编码GBK的不可映射字符
* 杩欎釜鏄拡瀵归」鐩腑鐨勫浘鐗囧ぇ灏忕殑涓?涓垽鏂紝瓒呰繃250kb鐨勫叏閮ㄦ彁閱掑嚭鏉ワ紝璁╀粬浠帇缂?
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:17: 错误: 编码GBK的不可映射字符
* 杩欎釜鏄拡瀵归」鐩腑鐨勫浘鐗囧ぇ灏忕殑涓?涓垽鏂紝瓒呰繃250kb鐨勫叏閮ㄦ彁閱掑嚭鏉ワ紝璁╀粬浠帇缂?
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:32: 错误: 编码GBK的不可映射字符
private static final String ISSUE_DESCRIPTION = "閿欒锛氬浘鐗囨枃浠惰繃澶?";
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:33: 错误: 编码GBK的不可映射字符
private static final String ISSUE_EXPLANATION = "閿欒锛氬浘鐗囨枃浠惰繃澶э紝璇峰帇缂╀綘鐨勫浘鐗囨枃浠躲?傚浘鐗囧帇缂╂柟妗堝彲浠ュ弬鑰?: https://github.com/qjoy/TinyPNGNodeJSBatcher";
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:33: 错误: 编码GBK的不可映射字符
private static final String ISSUE_EXPLANATION = "閿欒锛氬浘鐗囨枃浠惰繃澶э紝璇峰帇缂╀綘鐨勫浘鐗囨枃浠躲?傚浘鐗囧帇缂╂柟妗堝彲浠ュ弬鑰?: https://github.com/qjoy/TinyPNGNodeJSBatcher";
^
D:\GitLab Source\XTCLint\XTCLintrRules\src\main\java\com\xtc\lint\rules\detectors\binaryResource\XTCImageFileSizeDetector.java:50: 错误: 编码GBK的不可映射字符
String reportStr = "閿欒锛氬浘鐗囨枃浠惰繃澶?: %d" + "KB,瓒呰繃浜嗛」鐩檺鍒剁殑:" + CHECK_IMAGE_KB_SIZE + "KB,璇疯繘琛屽浘鐗囧帇缂╂垨鎵綰I宸ョ▼甯堥噸鏂拌璁″嚭鍥?.";

主要原因是编译Java工程的时候,编译代码的编码方式有问题。

2、解决问题

如上图所示,在Java工程的build.gradle文件中,添加如下所示的代码:

//指定编译的编码
tasks.withType(JavaCompile){
options.encoding = "UTF-8"
}

添加如上所示的代码之后,重新编译即可正常,不会再弹出警告窗口。


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/77802596

如果觉得本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行随意打赏。您的支持将鼓励我继续创作!

【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符的更多相关文章

  1. 解决Gradle编译时出现: 编码GBK的不可映射字符

    解决Gradle编译时出现: 编码GBK的不可映射字符 在build.gradle文件中加入如下内容: [compileJava, compileTestJava]*.options*.encodin ...

  2. 为cmd中的命令添加别名,以解决java:错误: 编码 GBK 的不可映射字符 (0xAF)

    使用sublineText3编写了java代码,通过cmd javac编译 提示 错误:编码GBK的不可映射字符 解决方法 使用javac -encoding UTF-8 Person.java 结果 ...

  3. 我的Android进阶之旅------>解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0

    问题描述 今天使用Android Studio 2.0打开我之前的项目时,编译报了如下错误: Error:Cause: com/android/build/gradle/internal/model/ ...

  4. 我的Android进阶之旅------>解决Android Studio编译后安装apk报错:The APK file does not exist on disk

    1.错误描述 今天用Android Studio编译应用后安装APK的时候,报错了,错误如下所示: The APK file build\outputs\apk\OYP_2.3.4_I2Base_64 ...

  5. 我的Android进阶之旅------>解决Android Studio全局搜索搜不到结果的问题

    1.问题描述 今天使用Android Studio时,想通过使用快捷键Ctrl+Shift+F来进行全局搜索指定字符串,如下图所示:想搜索字符串"码农偷懒了", 打开string. ...

  6. android studio 错误: 编码GBK的不可映射字符

    在模块的build.gradle中加入: tasks.withType(JavaCompile) { options.encoding = "UTF-8" } JavaCompil ...

  7. Java中出现“错误: 编码GBK的不可映射字符”的解决方法

    我的java文件里出现中文,是这样一个文件: import java.io.*; public class Test { public static void main(String[] args) ...

  8. 解决eclipse导出javadoc时的“错误: 编码GBK的不可映射字符”问题(转)

    http://blog.csdn.net/psy1100/article/details/51179342 今天要将自己的API接口和MODEL导出来一份java doc参考文档, 但是在导出的时候却 ...

  9. 转载:解决eclipse导出javadoc时的“错误: 编码GBK的不可映射字符”问题

    转自:http://blog.csdn.net/psy1100/article/details/51179342 今天要将自己的API接口和MODEL导出来一份java doc参考文档, 但是在导出的 ...

随机推荐

  1. 【Python】多线程2

    threading模块 import time import random import threading class Inclass: def __init__(self): print 'Inc ...

  2. 学习 TList 类的实现[7]

    总结目前 TMyList 已具备的功能(3 个方法.3 个属性): Add: 添加; Delete: 删除; Clear: 清空;Count: 元素总数;Capacity: 已存在的所有元素位置数;L ...

  3. HTML&CSS精选笔记_表格与表单

    表格与表单 表格标记 创建表格 要想创建表格,就需要使用表格相关的标记 <table>     <tr>     <td>单元格内的文字</td>   ...

  4. Linux mysql 命令

    mysql 是 MySQL 服务的一个命令行工具,常见用法如下: [root@localhost ~]$ mysql -uroot -p' # 本地连接 MySQL 服务 [root@localhos ...

  5. FastCGI中fastcgi_param 详细说明

    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param  QUERY ...

  6. jQuery中的$.each的用法

    $.each(Array,function(i,value){ this;  //this指向当前对象 i;       //i表示当前下标 value; //value表示当前元素 })

  7. 使用synchronized(非this对象)同步代码块解决脏读问题

    首先通过示例来学习验证多个线程调用同一个方法时随机的. package syn_out_asyn; import java.util.ArrayList; import java.util.List; ...

  8. luogu P2066 机器分配[背包dp+方案输出]

    题目背景 无 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15 ...

  9. Thrift 入门之helloWorld

    不多说,先看项目结构 首先先编写一个hello.thrift的文件 hello.thrift namespace java sawshaw service HelloService { string ...

  10. 双调欧几里得旅行商问题(TSPhdu2224)

    http://acm.hdu.edu.cn/showproblem.php?pid=2224 The shortest path Time Limit: 1000/1000 MS (Java/Othe ...