Replace standard Android emojis with EmojiOne (three methods) [root/flashable zip]

This is a wiki topic, you can improve it by clicking the pencil icon.

Hey everybody, I was annoyed of the standard Android emojis because they are confusing and I never know how the person on the other side might interpret them.

Manual installation

On Reddit I found this post explaining shortly how to install EmojiOne on Android, but I had to search further to find out the exact commands. Here is a summary:


  • Root access
  • ADB
  • Download emojione-android.ttf from GitHub and rename it to NotoColorEmoji.ttf
    • CLI lovers: wget -q -O NotoColorEmoji.ttf
  • cd to the directory where NotoColorEmoji.ttf is saved


Type the following commands into your CLI:

adb push NotoColorEmoji.ttf /storage/sdcard0/
adb shell
cd /storage/sdcard0
chmod 644 NotoColorEmoji.ttf
mount -o rw,remount,rw /system
cp NotoColorEmoji.ttf /system/fonts
mount -o ro,remount,ro /system

Then exit adb shell and restart your Fairphone.

adb reboot

EmojiOne should be the standard emoji font now and appear, for example, in the stock SMS app.

PS.: Mount commands are taken from this stackexchange post.

Emoji Switcher app


  • Root access
  • Busybox (FP2 Open OS includes it. Otherwise, you can install it with this app)
  • Android 4.4+ (as stated on the XDA topic title)


Download Emoji Switcher from Play Store or GitHub (warning: it has Google dependencies, but may work without GMS).
Open it and set emojis to Google, iPhone, EmojiOne, etc. :slight_smile:

Flashable zip method (no root required)


  • TWRP (FP2) or CWM (FP1) recovery installed
  • Tested on Android 4.4 and 5.1
  • Download zip from GitHub and transfer it to the phone internal storage.


Reboot to recovery mode. Keep Power pressed while holding Vol +. Choose Install option, select, unmark signature verification (if marked) and flash.


I already did a flashable installer for that! No root required, but requires TWRP (exclusively, zip is not signed), :wink:

Source code


Ok… searching for arguments… hm… :blush:

Oh now, I have one. Your zip also refers to busybox in the script (like the one on reddit). I was afraid I’d damage anything since I don’t have busybox installed. :blush:

1 Like

I’m not sure whether the busybox binary used belongs to the system or to the recovery itself… as FP Open has busybox preinstalled, I didn’t have the oportunity to test this (didn’t find any useful docs for Edify, either)

Anyway, if some command on the script doesn’t work, it just stops, :wink:

…and messes up my system midway! :scream:

Well, the zip method would not be an option at the moment because

  • CWM can’t mount my system partition
  • data connection via USB is broken with my FP
  • Amaze FTP only exposes the internal storage and not the external
  • my Amaze can’t copy to the external SD card (some weird KitKat-FAT32-incompatability).

Let aside this my almost 3-year-old FP1 works perfectly well… :grin:

PS: My method should also work without installing any custom recovery. #prerootedrulezzz

I don’t know why you make this so complicated. Just install “Emoji switcher” and switch Emojis :smiley:

I for one try to grant root access to as few apps as possible only - while “Emoji switcher” seems to be an easy choice, it can also easily be circumvented:
Thanks to @Stefan 's descriptions I was able to copy the file to the file system manually and set the permissions to 644 - using a file manager. :slight_smile:


I made the zip because with FP2’s monthly updates I got tired of setting emojis manually. Thanks for making an step-by-step guide, anyway, :slight_smile:

1 Like

When my FP1 gets monthly updates I’ll probably be needing it too. :wink: On the other hand: Do the incremental updates even touch the fonts directory?

If I remember correctly, the incremental updates for the FP2 don’t work with rooted devices. I’ve never given it a try though, yet. (Instead, I always use TWRP to install the full FP2-…, followed by the rooted boot-…img.)

I’m not aware of incremental OTAs for FP Open, although I always install new full updates manually via fastboot (I have to apply the signature spoofing patch for microG, so I need a computer anyway)

It shouldn’t touch such directory, but probably Fairphone Updater/recovery makes a system checksum to ensure integrity before installing incremental updates, as @amers noted.

Regarding your edit above, @Roboe, why should CWM not work? I can install unsigned zips on my FP1.

Oh. I read somewhere that CWM didn’t support unsigned zips and didn’t try by myself because there’s no CWM for FP2 (CMR is based on CWM, hence my deduction). If someone successfully flash my unsigned zip with CWM, then I suggest to remove the note, :slight_smile:

I will try it out after the next Kitkat release (alpha? beta?). :smiley:

1 Like

I flashed the zip on a new 16. 11. Release. It didn’t work. But I haven’t checked why. Will do tomorrow.

This is not fixed by switching emoji; especially since now you and the other side have a different set of emojis :wink:

Not, if I use them on Twitter and here in the forum! :grin:

You are right, but EmojiOne and Twitter emoji sets are far more compatible with Apple ones (although following the Unicode standard more strictly) than Google Noto emoji set, IMHO. And less (version) fragmented, too.

(PS: @Stefan, are you sure Twitter official apps use EmojiOne?)

It did work. Sorry for the confusion.

They don’t use Emojione, they use Twemoji (or similar). However, Twidere, my favourite Twitter app, uses the device’s local emoji font. :innocent:

1 Like