Android jdk1.8的使用配置并解決中文亂碼的問題

平時使用的jdk都是Android studio默認的,也沒怎么去注意。昨天同事問我對Java8了解不,趁今天有時間去學習了下。

這里主要講在配置jdk1.8時遇到的問題,是在是想吐槽,坑。。。
首先,你的項目依賴的jdk要是jdk1.8的, 可以在


圖片.png
圖片.png

來配置。

然后在moudle的build.gradle中添加

android{
defaultConfig {
jackOptions {
    enabled true
}
}
compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}
}

這樣你就能使用jdk1.8中的新特性了!但是,但是!!
當我在對textView設置內容的時候 tvHello.setText("這是中文");
悲劇發生了,是的,中文亂碼了...
先以為導入配置之后編碼格式出錯,默默的檢查了設置,沒錯啊,全是UTF-8的啊。再向同事問了他那天有沒有這個問題,他說沒,然后就在那蛋疼了半天...后來看見有另一種導入的方法也能使用Lambda,比較了下發現沒有啟用Jack,我屮艸芔茻,默默的百度了Jack導致中文亂碼,果然有,香菇,藍瘦...吐槽完,爽多了 = =
以下是解決辦法

圖片.png

恩,重新編譯,好了。。。
原因是:

查詢后發現這是Jack編譯器的一個bug,Jack使用的是操作系統的默認編碼,UTF-8編碼的文件經過編譯后,其中的非ASCII字符就會變成亂碼。

百度到的博客: http://blog.csdn.net/ljh102/article/details/52916019

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容