最近一直在學(xué)習(xí)使用Gradle項(xiàng)目構(gòu)建工具,但是一直遇到一個問題就是中文亂碼,比如將易天亂碼成了鏄撳ぉ鸳玩,經(jīng)過研究我發(fā)現(xiàn)這正是將UTF-8編碼識別為GBK編碼出現(xiàn)的現(xiàn)象。經(jīng)過一番查閱缩宜,解決辦法就是在build.gradle文件中添加如下一段,rhGradle將文件識別為UTF-8編碼甥温。當(dāng)然脓恕,這需要你的項(xiàng)目文件本來就是UTF-8編碼的膜宋,如果默認(rèn)是GBK編碼窿侈,就不需要更改炼幔。
tasks.withType(JavaCompile) {?
? ? options.encoding = "UTF-8"?
}?
看了一下官方文檔的說明,對于Gradle來說編碼這個屬性默認(rèn)情況下是null史简,也就是Gradle會根據(jù)你操作系統(tǒng)的版本來選擇編碼乃秀。Windows中文操作系統(tǒng)的編碼正是GBK。所以才會出現(xiàn)這個錯誤圆兵。這一點(diǎn)上跺讯,Windows做的確實(shí)不如Linux。Linux把編碼全部選擇為UTF-8殉农,萬事大吉刀脏,以后就不需要操心編碼問題了。
上面這個解決辦法雖然有效超凳,但是對于每個Gradle項(xiàng)目都需要插入這么一段愈污,很麻煩。還有一種辦法可以一勞永逸的指定編碼轮傍,那就是使用環(huán)境變量暂雹。在Windows下,新建GRADLE_OPTS環(huán)境變量创夜,值為-Dfile.encoding=utf-8杭跪。然后新開一個終端窗口再次使用gradle命令,就會發(fā)現(xiàn)這下Gradle已經(jīng)可以正確識別編碼了驰吓。
如果使用IDE進(jìn)行Gradle操作涧尿,那么還需要設(shè)置IDE的參數(shù)。例如在IDEA中檬贰,需要打開File->Other Settings->Default Settings->Gradle姑廉,在Gradle Vm Options中設(shè)置-Dfile.encoding=utf-8。這樣IDEA中的Gradle也可以正確執(zhí)行Gradle命令了偎蘸。
---------------------
作者:過了即是客
來源:CSDN
原文:https://blog.csdn.net/u011054333/article/details/54175641
版權(quán)聲明:本文為博主原創(chuàng)文章庄蹋,轉(zhuǎn)載請附上博文鏈接!