This is a fix for external player support on the latest Android version of XBMC. This fixes the possibility to run MX Player on the latest Gotham build. Not interested in the technical details? Scroll to the bottom of the article for the download link.
I’ve mentioned before that one of the great things about XBMC is that it can be customized in order to run external players on Android. Although the xbmc team has made awesome progress on hardware acceleration recently, it seems many popular android mini PCs run on somewhat unsupported chipsets (AllWinner and Rockchip). This means hardware acceleration can be choppy at best for these devices. This issue applies for example to the MK802 family (MK802 I and II run on an Allwinner CPU, while MK802 III and IV run on a Rockchip CPU).
So for these devices that don’t get the benefit of hardware acceleration in xbmc, the ability to be able to launch an external player (such as the awesome MX Player) while still getting the great xbmc interface is definitely a great thing.
Unfortunately, “external player” support on Android for XBMC has been broken almost as soon as it got submitted to their repository, after a cleanup that messed a few things up.
This is why I had been recommending an old build from last year, in this article. That xbmc build did have a patch with a fix for external player support. As I’ve also mentioned, the “XAF” builds are too heavy for most of the Android mini PCs. The binary of the XAF builds is close to 100MB, while a regular xbmc apk is closer to 50MB.
I finally got the courage to learn git, get the Android sdk, ndk, install a virtual machine running linux, figure out how to get adb to recognize my chinese Mini PC, and fix the issue in the xbmc code.
The technical details can be found here. Basically the StartActivity function from the xbmc android code was not creating the correct intent, and was also messing up the URI parameter.
How to install and use
The apk can be downloaded below. I’ve mentioned it in the past, but on some mk802 devices and other clones, the internal storage is extremely small, and XBMC requires a lot of it. You should make sure you have at least 250MB free on your internal storage or the first run might not even work.
To install it, you might need to uninstall your previous xbmc install first. My build is a debug build and cannot be installed on an official build before uninstalling that one first.
In order to use MX Player in xbmc, you need to create a file playercorefactory.xml and put it in /sdcard/Android/data/org.xbmc.xbmc/files/.xbmc/userdata. Details here.
A sample playercorefactory.xml can be found here. Since libstagefright (hardware acceleration) is available in this build, I think it would be possible (recommended) to tweak that file in order to run the external player only for files above a given resolution. SD works fine in XBMC, and 720p is also acceptable with libstagefright (that’s for people on rockchip CPUs, maybe not on AllWinner). Maybe I’ll submit such a file here one day.
If you’ve done things correctly, mx player should now start when you launch a video in xbmc. Tadaa, you got the latest nightly build with external player support back 🙂
Except the fact that this is a debug build (which, by the way, most builds are except the ones from the official xbmc devs), this is probably today the best build you can find if you are running on an mk802 III, IV, or one of their many clones (mk809, tronsmart, etc…) : it has libstagefright support and the latest and greatest code from the xbmc repository, none of the additional crapware/addons from the xaf build, and is much more recent than the previous version I recommended. Also, since it has both external player support and libstagefright, it currently is “better” than the latest official builds 🙂
Download here. Enjoy and let me know if you run into issues 🙂
Now that I fixed xbmc on my mk802 III, and with the addition of my method to watch Netflix with no lag from outside the US, I’m getting closer to having the perfect Smart TV for less than $50 🙂
40 responses to “External players support (MX player, etc…) fix for XBMC on Android: perfect HD with no compromise”
[…] Update: I created an updated version of this article with a more recent build, you probably want to check it out now: http://makesmarttv.net/external-players-support-mx-player-etc-fix-for-xbmc-on-android-perfect-hd-wit… […]
I followed your instruction with my android tv box (ugoos ut1), but while trying to play file via nfs the xbmc crashes all the time.
i looked at the logs and it seems that it tries to open the file with mxplayer and failed. do you have some ideas how to fix it.
Hi did you manage to play 1080p on xbmc with ugoos ut1? any suggestions?
Hi Itzik, I think MX Player has issues playing over network.
Im using this version with a 3tb usb disk attached to my riko iv and it is by far the best xbmc version I have tried.It works perfect with most 720p videos, so I modofied playercorefactory to lunch mx only for 1080, as suggested in the official xbmc wiki.
Thanks a lot to the author for this awesome work, and I have to ask, could you fix the very last official alpha from xbmc, the 9th, or even better could you teach us how to fix the official versions so we can have always the latest version patched until they figure out how to deliver full hd decoding for our rikos?
thanks a lot!!
Can you upload your player core file?
can you please share the player core file?
thanks for the instructions. one question/issue:
i cant add ressources with the smb protocol (even if I edit the sources.xml manually).did you removed this? do you have the same issue?
i am using your xbmc version: xbmcapp-armeabi-v7a-debug-20131009-makesmarttv_dot_net-mxplayer_fix
I just stumbled to your web while trying to find a solution for usinng XBMC in my android box (MiiPC in this case).
I use the version in your link (version 13) and the playback doesn’t have any stutterring issues now 😀
But I have a question, it seems XBMC is running in windowed mode. How can I change it to Full Screen mode?
And also, is the XBMC version that you put in the link already use MX player as the playback? because i didn’t see any MX player opened during the playback?
With your permission I would like to spread this good solution to other fellas who have the same problem 😀
your xbmc windowed mode issue is strange, I didn’t even know xbmc could run in windowed mode on Android… would you care to share a screenshot?
And of course, please feel free to spread the word!
Awesome article, thanks mate, works like a charm! I’m really gratefull, you saved me a lot of time and money!
Hi! I installed your xbmc version, but when I look for the org.xbmc.xbmc folder in android/ data, it´s just not there. Do you know what the problem could be??
by the way, I have a MK802 IIIs.
Ok so I’ve been bought an android smart tv box for Xmas, there’s no indication to what make it is but there on ebay for around £50.
I can’t seem to install the netflix app on it, and I’m not a tech guru. I’ve read a few threads but I’m totally confused can somebody please help
Absolute legend, you just saved me launching a media player out the top story window at work ! For my circumstances its all local content on a usb hard drive but now plays full hd content instead of lagging and stopping !
Works perfectly in Noontec A9/Woxter TV 100 with Android ICS 4.0.4. Thank you!
I have a cheap Android PC, I basically use it to stream from my NAS, it works like a charm with SD resolution, but with HD resolution, the video player gets stuck. I completely removed the official release I had installed, cleared the cache, and installed your version with no problem. One weir thing is that the /sdcard/Android/data/org.xbmc.xbmc/files/.xbmc/userdata is no longer available (my device is rooted, I am using ES Explorer, with the “view hidden files/folders option enabled”. All I can see is /sdcard/Android/data/ but inside that path, there is no org.xbmc.xbmc folder (there are other org. folders, such as the one for firefox, etc). I did a factory restore, and nothing. Any idea?
Will this work for MK802 II?
I tried other xbmc version but xbmc crashes every few minutes even though I am not running any video.
I’m having the same problem I have xbmc on the small box all works great except for windowed screen as soon as I go onto xbmc it reverts to small screen I can’t change it to full screen it won’t allow me to do it
(It should change to full screen when you click on windowed but mine don’t?)
my xbmc is always switching to a small size how do I fix it?
The above setup is small android media box running xbmc with a 42in tv connected with hdmi cable cheers
Same problem is referring to
I have tried everything but I can’t find folder for xbmc to put the playercorefactoryfile.
I have given up …I enabled hidden file ls and I have tried different es file explorer..file manager hd…..my mk802!!!s is rooted…..can anyone help me
Hi, thank you very much for this tutorial! XBMC works on my MK802 II. I also copied the playercorefactory.xml into the Userdata folder. Starting the external player (MX Player) works – but it does start for all videos.
I do like the internal XBMC player pretty much – it’s much more comfortable than the MX Player.
How do i manage to start the external player on videos with 1080p ONLY?
Thank you for the update, great work. Just one question: YouTube videos do not play in My player. So how can I make My player play YouTube videos?????
Thank you once again!!!
Thank you for the update, great work. Just one question: YouTube videos do not play in My player. So how can I make MX player play YouTube videos?????
Thank you once again!!!
Problem open Google and ply stn
Everything worked fine but everything you watch a film and then try and exit xbmc it freezes, because the mx player does not shut down? i’ve tried going to developers options, but that kicks you out back to the andoid desktop after you exit a film???? does anyone know a way around this???
it also does not want to play the iplayer anymore???
Works perfectly in Noontec A9/Woxter TV 100 with Android ICS 4.0.4. Thank you!
Thank you so much!
13.1 final has some issues with certain 1080p content on Vodoke Playstaq, but this works even better with the MXPlayer. The only issue I see is that the MXPlayer starts in software mode and I have to change it to hardware each time I play a file, by visiting the S/W button button on the top right. Is there a way to set this to use hardware permanently?
hey, i downloaded vlc dragonpro and that plays all my movies perfectly. is there a way to set that as the default video player instead of the one thats by defeat? am using on-tapp.tv . and i want to use vlc player as the defeat player in that.
Hey, it’s not working for me and my Galaxy S3. The normal gotham version won’t start any external players. Your version always crashes when i try to play a Video(stream) with an external player.
[…] for several months, but I had to fix it). You can find more information and a download link for my XBMC build with full HD support for Android here. I guarantee it is the best XBMC build you’ll find for any Android TV Box running on a […]
[…] gorgeous interface, but XBMC hardware acceleration historically did not work well on Rockchip CPUs (see here for my solution in the past which consisted in using XBMC to manage my library, and couple it with MX player as the […]
I have HD media player 1080p i tried to install xbmc many times but when i try to open iit show this version is not suitable for your android box please tell me what i do ? My android box is working on OS android 4.03 please help me
How are you ? This is Shelly from SunnyTV Technology .
We are manufacturer of Android tv box from China mainland .
We supply 100% origin amloigc tv box .
BTW we have a strong engineer team can customlized xbmc UI , add-ons as customer request .
We can supply OEM servcie such as print company logo on the gift box ,and on the top of devcies.
May I know what is your email address .
Hope to hear from you soon .
you are full of it all you guys need to stop lieing about mx player it do not work no external player works
It does. Just make sure you get the settings right. XBMC is open source, you can have a look at my patch and confirm for yourself that the fix works as intended. If you can’t read the source code, then you’ll have to trust that I know better than you.