1. 程式人生 > >【我的Android進階之旅】解決Android Studio 運行gradle命令時報錯: 錯誤: 編碼GBK的不可映射字符

【我的Android進階之旅】解決Android Studio 運行gradle命令時報錯: 錯誤: 編碼GBK的不可映射字符

定義 編碼 string pretty 出現 mage watermark build issue

原文:【我的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

如果覺得本文對您有所幫助,歡迎您掃碼下圖所示的支付寶和微信支付二維碼對本文進行隨意打賞。您的支持將鼓勵我繼續創作!

【我的Android進階之旅】解決Android Studio 運行gradle命令時報錯: 錯誤: 編碼GBK的不可映射字符