EPO Updater (v1.3.2)

by Alexander Thomas (aka Dr. Lex)

What is it?

EPO Updater is an Android app that allows to manually update the EPO.DAT file on MediaTek-based phones and tablets. This file helps the GPS system to obtain a quicker satellite fix. In the system preferences or engineer mode, it is possible to enable automatic updating of this file, but this has gradually worked worse and worse over the course of years, because ever more phones are hammering the flimsy file server. At this time, the server is overloaded so often that the automatic update fails almost all the time. That's why I wrote this app. It downloads the file from another location which does not suffer from excessive load.


There are other apps that do the same as this one. Some allow to automate the updates. Those apps however are ad-supported, bloated, or complicated. EPO Updater is the simplest possible solution, only takes about 50 kB, has no ads or useless bloat, and only requires network access permission. The interface only has three buttons: “Update EPO,” “Clear GPS State,” and “Clear EPO”. It suffices to push the first button once every month. The second and third buttons are only to be used if you suspect that the GPS system in your device is in a messed-up state, normally you should not need them.

Your device must be rooted to use this app. I am not sure whether the app will still work on the latest Android releases that are very restrictive about what files an APK can access and edit, but given that the actual update of the EPO file is done inside a root shell, it should not be a problem. It has been tested to work in 4.0.4 and 4.2.2. This app is especially smartwatch and watch phone-friendly, it fits in a 240×240px screen without problems.


Download the APK

The (quite simple) source code is available as an Android Studio project on GitHub.
Some parts of the code are based on Gimite's NativeExe example program.

Next to English, the program has a Dutch localisation (by me), Italian (by Roberto Boriotti), and Spanish (by José Ramón Ruiz). If you feel like translating it to your own language, the strings.xml only has about 17 short strings. Either create a pull request, or just send me the translated strings.xml file.

Version History

2015/01/10, 1.0: first release
2015/01/12, 1.1: added ‘Clear EPO’ button, better layout
2015/11/11, 1.2: now also removes EPOHAL.DAT file if present
2016/02/18, 1.2.1: added Dutch and Italian localisations, moved to GitHub
2016/06/11, 1.3: also download and install MD5 checksum, and use it to detect corrupted downloads
2016/06/15, 1.3.1: better file handling and clean-up of old files
2016/07/23, 1.3.2: added Spanish translation


EPO Updater is released under the Simplified BSD License. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In other words, use at your own risk.