How to speed up YouTube on Android by enabling ExoPlayer (root required!)

Back when Google unveiled an sneak peek of Android 5.0 Lollipop in June 2014, a new and pretty handy improvement arrived on one of its more popular apps, the mobile version of YouTube. The latter, alongside Google Play & Movies, scored a new media player, dubbed ExoPlayer, which might someday substitute the YouTube's default MediaPlayer. Of course, this made almost no headlines back in the time.

What's the difference between MediaPlayer and ExoPlayer, and what benefits does the latter bring about? Simply put, the default player, MediaPlayer, is not very flexible - after you provide it with a URL link for a desired video, it does its best to stream it and play it as fast as it can. However, things can be done a lot better, and that's exactly what ExoPlayer's role is. This newcomer is utterly more flexible, allowing developers more control on the different stages (buffering, extraction, decoding, rendering, among others).

Normally, there's no discernible performance difference between MediaPlayer and ExoPlayer, yet the latter dons a compelling functionality - it supports Microsoft's Smooth Streaming. The latter does not only take the current load of your CPU into account, it also considers the changing bandwidth of your Internet connection. That's why it usually provides a faster video playback and minimum pre-buffering waiting time. Simply put, videos will pre-buffer a lot faster, though you might only notice difference in videos with higher resolution (1080p ones, for example).

The good news is that you can easily switch your YouTube app between MediaPlayer and ExoPlayer quite easy. Provided that your device is rooted, mind you. See how it's done:



1. Settings

Posts: 2943; Member since: Jul 02, 2014

Back up youtube.xml first. Better safe than sorry. And also if instruction#5 is copy/pastable, it would be great.

4. Settings

Posts: 2943; Member since: Jul 02, 2014

Copy pasted the strings above and all appears is the word ADAPTIVE.

6. PeterK.

Posts: 314; Member since: Nov 13, 2013

That's why we couldn't provide them as pastable text, pasting such codes in web pages is a bit tricky. Your best bet is to input the code manually.

2. shaineql

Posts: 522; Member since: Apr 28, 2014

AWEOSME ! THe app itself isnt working any faster ,but playing videos and fast forwarding video is 5 times faster! Nice job

3. AfterShock

Posts: 4146; Member since: Nov 02, 2012

Great tip PA!

5. TechWhale

Posts: 23; Member since: Nov 08, 2014

Did anyone else find a nyan dog .gif saying "Shhhhhh... Confidential!"?

7. teckem

Posts: 15; Member since: Nov 20, 2012

I have root access and for some reason the shared-prefs doesn't show, on the folder only appears lib.... Any recommendations ?

8. PeterK.

Posts: 314; Member since: Nov 13, 2013

Are you using ES File Explorer? If yes, make sure that "Root Explorer" is enabled (open the cascading menu and enable it there).

9. teckem

Posts: 15; Member since: Nov 20, 2012

I'm using ES Explorer and Root explorer was enable... I enable hidden folder and it worked

17. alan.chau_

Posts: 2; Member since: Mar 28, 2015

teckem, I'm having the same issue as you, as soon as I clear data, the xml file disappears and, of course, I can't edit it. If I open YouTube the xml file is automatically created, but if I modify it and then open YouTube the toast message says using fallback player.

10. wtf98

Posts: 2; Member since: Sep 12, 2012

I tried it and failed (show using fallback player toast) and realize that new version YouTube app v6 already use exoplayer by default. So don't try this just update YouTube app on play store that's it proof: after update new version clear data and run once, then go to that directory mentioned above and check the xml

11. wtf98

Posts: 2; Member since: Sep 12, 2012

Oops my bad I thought I had input the string twice because it appears twice after done editing and open the app. It failed and shows using fallback player toast I don't know what's wrong with it.

12. suhas2000

Posts: 27; Member since: Jul 24, 2008

I did everything as instructed but did not get a popup message stating that I was using the there aother way to find out?

13. tavocabe

Posts: 1; Member since: Jan 12, 2015

it's not working for me, everytime y force stop the app, those lines get deleted from the youtube.xml file.

14. kevin91202

Posts: 642; Member since: Jun 08, 2014

How many times do you have to use the word LATTER? I stopped reading after the fourth use, which was at the third paragraph.

15. thowersome

Posts: 34; Member since: Jan 08, 2015

Here's your copy paste : (string name="exo_player_activation_type")ADAPTIVE(/string​) (bootean name="exo_player_cache" value="true"/) (bootean name='show_exo_player_debug_mesaages" value="true"/) Replace parentheses with arrows of corresponding opening

16. r3pwn

Posts: 1; Member since: Jan 13, 2015

Nice guide! But, what about credit to the original author of the guide?

18. alan.chau_

Posts: 2; Member since: Mar 28, 2015

I was able to do it on my phone but not pm my android box, the damn xml is deleted as soon as I clear data and the original xml version is created by default deleting my nodded xml

Latest Stories

This copy is for your personal, non-commercial use only. You can order presentation-ready copies for distribution to your colleagues, clients or customers at or use the Reprints & Permissions tool that appears at the bottom of each web page. Visit for samples and additional information.