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-with-no-compromise/

Important note: The following tutorial should work on any android device. Although we tested on a specific model below, we would love your feedback if it works fine (or not) with your own Android! Share the knowledge, let people know in the comments! Thanks for your help 🙂

If you’re the happy owner of an Android Mini PC to turn your TV into a smart TV, you might have found out that XBMC support on these devices is not as good as you’d like it to be. XBMC is one of the best video managers out there, unfortunately it is having a hard time playing HD videos on Android in general, and our beloved Mini PCs in particular.

One of the main problems I see regularly with XBMC for Android is the lack of hardware acceleration leading to lack of support for HD videos. This, to me, rendered XBMC pretty much useless as the ultimate media center.

I believe I found the best solution so far, which lets me play full HD videos on my Android Mini PC (mk802 III, my review here), while still enjoying the great XBMC interface.

In this article I will describe what I use, how to install the custom xbmc version, how to use it, and alternate approaches I’ve tried but that didn’t work. That last part is important because depending on your use case and your device, the alternate approaches might be better for you.

First of all, let me start by saying that I found only one XBMC binary that lets me play HD files on my MK802 III. This binary works by allowing XBMC to use MX Player as an external video player. MX Player is optimized for HD videos on Android, and the only video player I use on the MK802 III. For details on why I recommend this binary and not others, check the “Alternatives” section below.

The method below has pros and cons. The pros is that HD videos will play perfectly on your Android device, and that you can use XBMC to manage your video library. The cons is that you’ll lose some of the benefits of playing videos from within XBMC itself.

Let me again emphasize once more that I’ve tried other binaries, including the original XBMC code, the XAF build, and the libstagefright build, none of them worked correctly on my device (details below)

Installation

Important: Before starting, you should make sure you have at least 200 or 250MB Free on your internal storage (check in settings > Apps > Downloaded) before you install XBMC. The first run can take very long, but do not cancel it. If things go wrong, go back to the settings and check you free storage. If you have less than 50MB free, you’re in trouble.

Download this specific build of XBMC for Android. Download and install MX Player Free from the google play store. ( and launch it at least once) copy the playercorefactory.xml file below to your /sdcard/Android/data/org.xbmc.xbmc/files/.xbmc/userdata folder. Be sure to show hidden folders in your explorer’s options (I recommend ES Explorer), or you will not see the .xbmc folder

https://nuskunetworks.box.com/s/wzzbunuqew9rh3ospczj

Done. The playercorefactory.xml change above is necessary to tell XBMC to use MX Player as the default player for videos. The specific XBMC apk I’m suggesting is necessary because the normal xbmc cannot properly call MX Player.

Usage

Clicking on the XBMC icon will launch XBMC (duh…). The first launch might take a while (several minutes on the MK802 III) as XBMC is building its initial database. If you get a black screen or o response after 10 minutes at this point, delete the app, make sure you have at least 250MB Free on your internal storage, and try again.

You will want to build your database of movies for XBMC. I personally connected this 2TB USB Hard Drive to a USB Hub on my MK802 III. The XBMC Wiki has great documentation on how to organize your folders for Movies and TV Shows.

Your folders on the USB drive can be added by selecting “Add folder” in the Movies section of XBMC. It is pretty straight forward, but again you need to follow the folder structure described in the wikis above, to make sure your movies will be correctly detected by xbmc.

I recommend to try with a small folder initially, as the scanning process can be fairly long, just to make sure everything works.

Once your library is created, clicking on a Movie should launch MX Player, which is known to be the perfect player for the mk802 III and other Android mini PCs. Check the video below, playing a 1080p movie smoothly.

Exiting playback will unfortunately take you back to MX Player instead of XBMC, but to me that’s a small price to pay given the convenience of XBMC. (if, after playback, getting back to xbmc seems to crash, make sure you have “Don’t keep activities” unchecked in your android setting’s “Developer options”)

That’s pretty much it, besides that, this version of XBMC is pretty much fully operational, although I haven’t tested music playback or the pictures section yet.

For those of you living outside of the US, you might also want to check my guide on how to get Netflix to work on the mk802 and its clones.

Alternatives

Before finding the version of XBMC I mention above, I have tried several other versions that claim to work fine with the MK802 III. All of them offered a poor experience, and the result might be different for you. However, many naysayers have pretended my method was “unnecessarily complex”, but none of the alternatives worked on my device.

There are many builds and forks of XBMC around here, and I have tested many of them on the MK802 III. In general, there are two types of issues with XBMC on the MK802 III:

– XBMC will not start properly (typical problem: you keep getting the “first run” progress bar, then a crash after several minutes of a black screen)

– When it runs, XBMC does not have proper hardware acceleration on Android, making 1080p impossible to play, and depending on your build, even 720p is a stretch

Latest XBMC for Android

The “vanilla” xbmc for android supposedly supports external players. Unfortunately, it does not support MX Player (last time I tried), which is the only one I really want to use. If you have another favorites external player, then by all means get the latest XBMC, and configure its playercorefactory.xml to target your player.

XAF Build

This is a recent XBMC build that automates the installation process I describe above, and targets MX Player. Sadly, somehow, that build is twice as big as any other XBMC build, and installing it never succeeded on my MK802 III. The first startup would always fail (black screen for several minutes, then back to the launcher). Close investigation showed me that this build has way too much stuff (addons?) packed with it, it will not install on the mk802 III, either because it is too slow, or because it does not have enough internal storage. People with an MK802 III S have reported success, however. Details here

Libstagefright build

This is a build which aims at bringing hardware acceleration to xbmc for Android. Sadly, there seems to be some incompatibility with the GPU/CPU of most Android Mini PCs, and in my experience, 720p on this build is not great, while 1080p barely reaches 5fps. This is not useful today, and might never be. Details here