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

简介: 原文:【我的Android进阶之旅】解决Android Studio 运行gradle命令时报错: 错误: 编码GBK的不可映射字符 1、问题描述 最近在负责公司基础业务和移动基础设施的开发工作,正在负责Lint代码静态检查工作。

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

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

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

 

目录
相关文章
|
4月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
290 1
|
2月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
284 2
|
3月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
68 5
|
4月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
59 1
|
4月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1482 0
Android Studio: 解决Gradle sync failed 错误
|
Java 开发工具 Android开发
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
319 1
|
Android开发
Android Studio中修改gradle插件版本和Gradle版本
Android项目中,我们一般要设置gradle插件版本和gradle版本。 项目根目录下的build.gradle文件中,通过classpath可以指定gradle插件的版本。
|
Android开发
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
1692 0
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
|
Java Android开发
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
531 0
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
|
IDE Java 测试技术
第七章 Android Gradle插件
从这章开始我们就开始介绍Android Gradle插件了,会通过几章由浅入深的详细的介绍Android Gradle,本章会简单的介绍下Android Gradle插件,然后通过一个例子对其有大概的了解,最后讲下如果从原来基于Eclipse进行Android开发的方式,转到基于Android Studio,使用Android Gradle插件开发的新方式 7.1 Android Gradle插件简介
321 0
第七章 Android Gradle插件