问题描述

某些情况下,类似的在 string.xml 中定义这样的带 emoji 表情的字符串可以使得提示更加的生动和形象

Hot

直接打包运行在高版本的 Android 上,例如 7.0 应该是没有问题的,但如果在需要兼容 4.0 那么还需要多几步操作,否则 crash

  1. 启用 utf-16 编码
android {    aaptOptions {        additionalParameters '--utf16'    }}
  1. 如果你使用的 Android Gradle 编译插件是 3.0.0 以上,那么会默认启用 Appt2 来打包资源,Appt2 不支持 utf16 编码的,所以在编译的时候会出错,所以需要在 gradle.properties 禁用 Appt2
android.enableAapt2=false

以上,就可以在 4.0 以上直接使用 emoji 表情了

潜在问题

Android Gradle 编译插件在 3.2 的时候移除了 Appt1,所以暂时不能把编译脚本版本升级到 3.2,也不知道 Google 会不会修复这个问题,不过也没什么关系的,即使以后不支持而你又需要新的编译脚本,把 emoji 去掉就可以

参考

App Crash when minSdk==9 and string resource includes an emoji

更多相关文章

  1. Android官方技术文档翻译——Gradle 插件用户指南(5)
  2. Android(安卓)Studio 使用Gradle编译 如何导入so包
  3. 为NetBeans添加Andriod平台
  4. Android(安卓)OTA升级包制作脚本详解(四,生成升级脚本updater-scri
  5. Android中ADT插件的安装
  6. Android关于分包方案、插件化动态加载APK或DEX 以及热补丁资料总
  7. 安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.g
  8. Android(安卓)Donut Makefile分析 (build/envsetup.sh)
  9. import小伙伴项目后 关于修改gradle插件版本的问题

随机推荐

  1. android:xmlns的作用以及自定义
  2. Android(安卓)Activity启动流程分析
  3. Android作业之组建通讯与后台服务 1
  4. EPSON Printer 打印机 Sdk For Android
  5. 《Frida高级逆向》训练营,7 月再开营!
  6. Android(安卓)Studio中学习Android(安卓)
  7. 每天记录学习的新知识 :蓝牙BLE数据传输记
  8. Android之隐式意图(Intent)如何查找匹配
  9. android消息机制总结
  10. Develop--Training(二)Getting Started--