Emoji symbol 👍 in string.xml crashes app Emoji symbol 👍 in string.xml crashes app xml xml

Emoji symbol 👍 in string.xml crashes app


The fix for that is:Add "--utf16" to aapt by adding

android {    aaptOptions {        additionalParameters '--utf16'    }}

to your build.gradle file, and make sure you are not using aapt2.

See https://issuetracker.google.com/issues/37140916


It seems that newer versions of Android don't cause the crash (API 24 worked in my tests), but that doesn't help if you are supporting older versions. The best I have been able to figure out is to use Java coded strings.

public class AppEmojiStrings {    // This is only a workaround for emoji causing crashes in XML strings.    // Use the standard strings.xml for all other strings.    public static final String thumbsUp = "Thumbs up 👍";     public static final String iLoveNY = "I \uD83D\uDC99 NY";}

There are a number of disadvantages with this method, the main one being that it can't be accessed in the layout XML files. But it may be a viable workaround for some situations.