問(wèn)題描述
某些情況下,類似的在 string.xml 中定義這樣的帶 emoji 表情的字符串可以使得提示更加的生動(dòng)和形象
<string name="hot">??Hot</string>
直接打包運(yùn)行在高版本的 Android 上料饥,例如 7.0 應(yīng)該是沒(méi)有問(wèn)題的,但如果在需要兼容 4.0 那么還需要多幾步操作掠兄,否則 crash
- 啟用 utf-16 編碼
android {
aaptOptions {
additionalParameters '--utf16'
}
}
- 如果你使用的 Android Gradle 編譯插件是 3.0.0 以上鄙币,那么會(huì)默認(rèn)啟用 Appt2 來(lái)打包資源傅物,Appt2 不支持 utf16 編碼的麦乞,所以在編譯的時(shí)候會(huì)出錯(cuò)蕴茴,所以需要在 gradle.properties 禁用 Appt2
android.enableAapt2=false
以上,就可以在 4.0 以上直接使用 emoji 表情了
潛在問(wèn)題
Android Gradle 編譯插件在 3.2 的時(shí)候移除了 Appt1姐直,所以暫時(shí)不能把編譯腳本版本升級(jí)到 3.2倦淀,也不知道 Google 會(huì)不會(huì)修復(fù)這個(gè)問(wèn)題,不過(guò)也沒(méi)什么關(guān)系的声畏,即使以后不支持而你又需要新的編譯腳本撞叽,把 emoji 去掉就可以
參考
App Crash when minSdk==9 and string resource includes an emoji