RetroArch Android – New versions for Play Store – please read!


Remember our previous article back in August? We could no longer update RetroArch to the newest version on the Google Play Store because their policies had changed with regards to the use of externally hosted dynamic library files.

Right after this, we suffered from the crippling buildbot server hack which really set us back. Hence we haven’t been able to address the situation as of yet.

Now, though, thanks to your help and support, we are finally on the cusp of having a solution that we hope (and think) will satisfy nearly everyone.

RetroArch Play Store – two separate versions

RetroArch on the Google Play Store is going to be different now from the version you can download on our website.

The Google Play Store version has the following plus and minuses:

    – The Core Downloader no longer connects directly to our build infrastructure – in accordance with Google Play Store’s new policies, this had to be changed.
    + Instead, you will be able to select from 50 hand-curated libretro cores to download from within the application. These cores are downloaded from Google’s servers instead.

  • + The Play Store version will be updated twice a week, possibly more if users request it. Both the cores and RetroArch itself will be updated in the process. You will no longer have to wait for months on end for a new version – instead, new versions will be pushed to the Play Store automatically.

Why only 50 cores? Unfortunately, if we don’t want to cut off support for Android OS versions lower than 8.0, we have to limit it to this number. However, there are two alternative :

RetroArch Plus

RetroArch64 has now transformed into RetroArch Plus! What separates this version from the regular Play Store version?

  • – It will only work on Android OS 8.0 and up.
  • + Because of this, you have access to 127 cores instead.

So if you have a newer device, going for RetroArch Plus is a straight upgrade instead of sticking it out with the regular RetroArch version. In addition to this, all the pros and cons of the regular Play Store version also applies to this version.

Of course, there is also a third option:

RetroArch non-Play Store version

This is RetroArch as you have always known it up to this point on Android. It has the Core Downloader which pulls from our build infrastructure, you are not limited to an arbitrary amount of cores, and it retains the same backwards compatibility as earlier versions.

The only caveat is that this version will only be available on our website from now on. Right now, this version is only available in nightly form, but once we release 1.9.1 (which should be pretty soon), you’ll be able to get it as a stable release as well.

+ Because we no longer have to care about this non-Play Store version having to be uploaded to Google Play, we no longer have to make sure the APK stays within the 100MB threshold. This means we can finally package all the assets into the APK, giving you more overlays, borders, shaders, etc. Previously we had to strip some of these out to save on space.

What you should know as a Play Store Edition user

Convert your already installed cores from previous versions

Important for people who upgrade from previous versions –

Instead of having an option in the online updater to update all installed cores at once, that option is replaced by the “Switch Cores to Play Store Versions” option. This is a one-time step that replaces any cores on your device with versions from the Play Store. It’s a necessary step for users to receive core updates on the Play Store going forward. Any cores that the Play Store can’t provide (that are outside of the 50 or 127 predefined cores for example) will remain on the device as is.

To do this, go to Online Updater -> Switch Cores to Play Store Versions.

You can still sideload cores

While it’s not possible anymore to download cores directly from our servers with the Core Downloader, it is possible for you to sideload any core you have downloaded manually. To do this, you need to unzip the core you want to install to your Android device. Then go to ‘Load Core’, ‘Install or Restore a Core’, and select the (unzipped) core you want to install.

When?

The Play Store version has been submitted to the Google Play Store, and after we have passed initial approval, it should be available shortly.

RetroArch Plus is available here.

We hope that you understand we have tried to do the best possible to make sure that people can continue using and enjoying RetroArch on Android despite the increased limitations. Supporting three separate versions instead of one certainly adds to our workload, but with our new infrastructure we feel we are able to handle it. A huge shoutout to farmerbb for putting in an incredible amount of work during this Holiday period to ensure that this has been rolled out successfully. We would have never been able to do it without him!

RetroArch 1.9.0 won’t be releasing on Google Play Store for now, next version severely downgraded to comply with new policies

We regret to inform you that RetroArch 1.9.0 will not be releasing on the Google Play Store for now.

RetroArch has been available on Android through the Google Play Store since 2012. We encountered two snags this week while trying to update RetroArch on Google Play. First, it complained that our APK size was too big, and that an APK could not be any bigger than 100MB. So we had to go back and start removing some shaders in order to get things to fit.

After this, we tried uploading again. This time, we hit another snag that we have not encountered before:

Issue: Violation of Malicious Behavior policy

An app distributed via Google Play may not modify, replace, or update itself using any method other than Google Play’s update mechanism. Likewise, an app may not download executable code (e.g. dex, JAR, .so files) from a source other than Google Play.

The way we interpret it, the former is not an issue since RetroArch cannot update itself. The latter is probably the issue. We take it that apparently now the Core Updater service is a point of contention, and that it has to go from RetroArch Android. We were not aware of this, and throughout the app’s near-decade presence on the Google Play Store, there has never been a problem before on this front.

Unfortunately, this means that we have to go back to the drawing board now and fundamentally re-engineer RetroArch for Android. However it will be re-tooled, it will unfortunately be a huge setback from an Enduser Experience for the user, there’s no way around that.

Some possibilities that might exist:

  1. We keep RetroArch dynamically linked, but each core has to be installed separately through the Google Play interface as installable DLC. NOTE: We have no idea if this even works the way it can with Steam, so it would have to be explored first.
  2. We make RetroArch statically linked and therefore there needs to be a separate new app store entry for every single combination of RetroArch with every single core.

Whichever of the two we choose, it will mean no more Core Updater. Given the interpretation of the rules, updating assets is probably still permissible as it would be pretty silly to block that, so things like updating shaders and overlays would likely still remain included.

We cannot stress how much of a pain in the ass it will be to have to retool RetroArch like this. It’s almost at the point where it’s almost not worth it from our perspective to do it like this and we feel tempted to just tell people to download it from our site instead, as we certainly have never made a single buck on the Google Play Store to begin with, so there’s no direct profit incentive there. We also don’t know if we even have the manpower right now to be able to make these fundamental changes, but we will certainly attempt to try.

For now, we recommend to users that want the ‘proper’ version to just go to our Downloads page and download RetroArch 1.9.0 from there on Android. You will be installing the APK directly on your phone. You might have to enable ‘Allow outside APKs to be installed’ or some similar setting on your phone for it to be able to be installed, but theoretically any Android phone should be able to install APKs outside of the Play Store.

Where to download RetroArch for Android for now

If you want the latest 1.9.0 version, you can either get it for now on F-Droid, or on our Downloads page here.

Right now on the Play Store, version 1.8.9 should still be available for now.

We apologize for the inconvenience and we hope we can offer a solution soon that is agreeable to both Google and that doesn’t cause us a huge maintenance burden either (although it assuredly will be). We also right now don’t really have a plan ready that will allow us to quickly move on this front, so we’ll just have to see how things go.