问题描述

某些情况下,类似的在 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. 用JavaScript把CSV与Excel转为Json[每日
  2. 研究生/专升本都扩招,我们没有理由放弃!
  3. FAlinux04基础
  4. Git 版本控制的核心概念[每日前端夜话0xC
  5. Linux性能优化(十二)——CPU性能调优
  6. MySQL 可重复读,差点就让我背上了一个 P0
  7. 都为你整理好了,5种Java 随机方式对比!你都
  8. 为什么我们要面向接口编程?!
  9. Linux性能优化(十四)——CPU Cache
  10. Linux性能优化(十一)——CPU性能优化原理