Ask / Submit

[Xperia X] MicroG

asked 2017-10-13 20:19:35 +0200

caesium gravatar image

updated 2017-10-14 19:54:21 +0200

Hi together,

many android apps (like Threema, ShoppingList,...) ask for Google Play Services and UnifiedNlp. I will not use the original play services. I prefere a google free phone :-D

For Jolla C there is a guide to install the MicroG-Servcies. Is there a guide for SailfishX? I think the same steps should work, but I'm not sure. :-) Does the version from f-droid work out of the box?

Best Caesium

edit retag flag offensive close delete



so you want someone to try to do this for you? go and try yourself please and report back the reaults.

coderus ( 2017-10-14 20:00:22 +0200 )edit

Yes and no :-D My time is limited and I wanted to know if anyone had already tried this...

caesium ( 2017-10-14 21:23:40 +0200 )edit

After spending some hours the guide does not work. The QuickDeodex shows just [ERROR] for all files. Java shows the following error. For now I must stop searching :-/

Error occurred while loading boot class path files. ./files/framework/core.odex is not an apk, dex file or odex org.jf.dexlib2.DexFileFactory.loadDexFile( org.jf.dexlib2.DexFileFactory.loadDexFile( org.jf.dexlib2.analysis.ClassPath.loadClassPathEntry( org.jf.dexlib2.analysis.ClassPath.fromClassPath( org.jf.baksmali.baksmali.disassembleDexFile( org.jf.baksmali.main.main( while reading boot class path entry "/system/framework/core.odex"

caesium ( 2017-10-14 23:07:56 +0200 )edit

Did you copy the three folders mentioned as-is in the files/ directory of deodex? Do you see the framework/core.odex file?

Sthocs ( 2017-10-30 11:20:20 +0200 )edit

i tried to do deodexing on Jolla 1 But i saw that Alien Dalvik structure has changed.

I have no /priv-app anymore in /opt/alien/system


/app /framework

Can someone confirm this?

ExPLIT ( 2018-06-26 23:41:39 +0200 )edit

8 Answers

Sort by » oldest newest most voted

answered 2017-10-29 16:53:27 +0200

bj-rn gravatar image

updated 2017-11-05 18:29:12 +0200

I used simple-deodexer to deodex the files and tingle to inject support for signature spoofing. Both worked flawlessly and out of the box on MacOS.

  • Clone simple-deodexer or download the zip-file
  • Do the same for tingle.
  • Extract the zip archives to a nice place on your harddisk.
  • Copy framework, app, priv-app and build.prop from /opt/alien/system/ on your phone to your computer (via ssh/scp).
  • Keep a copy of those files somewhere safe for backup in case anything goes wrong
  • Now put framework, app, priv-app into the triage-folder inside the simple-deodexer-folder(1)
  • Open a Terminal and cd to simple-deodexer
  • run ./ -l 19
  • After the script is finished fetch the deodexed framework.jar from the framework-folder and put it together with the build.prop-file into the input-folder inside the tingle-folder
  • In Terminal cd to tingle
  • run ./ (or to make sure to use the correct python version use e.g. python3 ./
  • When prompted select option 2
  • After the script is finished go to the output-folder inside the tingle-folder and copy the now patched framework.jar back to the deodexed framework-folder.
  • Now copy the deodexed (and patched) folders/files back to your phone (again via ssh/scp). I stopped the aliendalvik.service and deleted the original files on the phone before doing so and afterwards rebooted the phone.

(1)Alternatively leave the files where they are – don't copy them to triage – and point the script to that directory ./ -l 19 -d /herein/reside/the/files

I installed the nightly build of MicroG via F-Droid as suggested by Vermut. According to MicroG self-check everything works except UnifiedNlp. All Apps that were complaining about missing google services stopped doing so.



edit flag offensive delete publish link more


Your Link to tingle is the sam as the one to simple-deodexer. I think you used :-D

caesium ( 2017-10-30 09:44:42 +0200 )edit

Fixed. Thanks.

bj-rn ( 2017-10-30 16:12:56 +0200 )edit

Been looking for a way to get microG working on the Sailfish X, and your guide worked great!

"I stopped the aliendalvik.service and deleted the original files on the phone before doing so and afterwards rebooted the phone."

If I didn't delete the original files, moving the new ones to the location complained a lot so this step is more important than it looks!

Piece_Maker ( 2017-11-04 19:02:38 +0200 )edit

I did not have to deal with deodexing or anything, but everything worked as installed from F-Droid.

Any chance of having UnifiedNlp work or is it completely impossible, does anyone know?

mjtorn ( 2017-12-07 12:30:13 +0200 )edit

@mjtorn: The problem may be caused by a conflicting package, try to remove this (if exist) => /system/priv-app/com.qualcomm.location

ale5000 ( 2018-01-08 12:40:04 +0200 )edit

answered 2018-04-09 21:06:14 +0200

Vermut gravatar image

Still struggling towards painless microG installation, which won't include scp-as-root or heavy Terminal tinkering. Here is my attempt:

SailfishOS Android Signature Spoofing

This is a compiled set of instructions and tools wrapped in Docker image to fetch, deodex, patch and upload back AlienDalvik files on Sailfish phones. Most of the existing tools assume adb as transport. In Sailfish it's a bit tricky so I replaced it with Rsync.

Overview of the steps performed by the scripts:

  • fetch via rsync /opt/alien/system/{framework,app,priv-app}
  • deodex using simple-deodexer
  • apply hook and core patches from haystack
  • push back changed files, saving backups in /opt/alien/system/{framework,app,priv-app}.pre_haystack

What do you think? Does it make life easier? Any ideas how this can be improved?

edit flag offensive delete publish link more



One small thing I encountered was that "--config=~/rsyncd-alien.conf" was not accepted in the rsync command, and ended up using the full path to the conf file.

And I personally am not able to get the UnifiedNlp part working for now.

But other than that: thanks, it worked fine and was easy!

adekker ( 2018-04-11 01:07:28 +0200 )edit

Works well, thanks!

pjr ( 2018-06-18 02:50:10 +0200 )edit

answered 2017-10-24 21:01:25 +0200

erikderzweite gravatar image

I have followed the guide from the first post and it did work fine. After I have copied the deodexed folders, I have removed framework.odex. Then the signature spoofing worked.

To log in with google account (e.g. for Ingress) I had to downgrade microg to stable 0.2.4 and install Google Play Store. In the Store I could log in with my Google account. Afterwards I have replaced Play Store with Fake Store.

edit flag offensive delete publish link more


Lets hope that Jolla can allow an option for signature spoofing, for microG. I'm hoping to do this in the near future.

GD ( 2017-10-25 04:01:47 +0200 )edit

Many thanks!! This is the missing key point of @eekkelund's guide. I had tried to copy the folders, as written in the guide (so only replacing the .jar files): no signature spoofing. Then I tried to replace the folders (so no more .odex files): AlienDalvik didn't start. Copying + removing framework.odex is the thing to do (we can also delete the framework.jar.out dir btw).

Maps seem slow but it's amazing to see OSM in place of Google Maps, what a great work!

Sthocs ( 2017-10-30 11:17:18 +0200 )edit

I also had to remove framework.odex to make spoofing work. Now many android apps complain that google services have a too old version. I had to install latest nightly build of microg. Now the apps are not complaining anymore.

johanh ( 2018-08-04 20:14:50 +0200 )edit

answered 2017-10-15 19:05:23 +0200

chalupa gravatar image

Microg patching works ok also for Sailfish X here (following the same guide under linux, btw).

edit flag offensive delete publish link more


I have tested windows and ubuntu 16.04 without success. :-/

Did you use QuickDeodex? Which java version do you use? Which linux distribution?

caesium ( 2017-10-15 21:40:34 +0200 )edit

Yes, QuickDeodex did the first part of the job using Java 8 (8u144-b01) in Debian testing.

chalupa ( 2017-10-15 21:52:24 +0200 )edit

Works, but I have some issues with some apps from Google as Youtube that doesn't work, appear a message that saids "update your google services", and I think that GCM works.

carmeloferso ( 2017-10-16 01:09:15 +0200 )edit

YouTube can be fixed enabling "Expert mode" in F-Droid settings, opting for "Unstable updates", installing update for F-Droid (1.0) which will enable nightly build for microG (0.2.4-105-gf289a13) which emulates latest gapps.

This assumes you enabled microG F-Droid repo:

Vermut ( 2017-10-19 20:01:06 +0200 )edit

Sure, that works, but unfortunately without signature spoofing.

Unfortunately, I didn't get work QuickDeodex, neither under Lubuntu, nor Debian nor Windows. :-(

caesium ( 2017-10-21 17:23:46 +0200 )edit

answered 2018-09-14 13:49:47 +0200

samule gravatar image

updated 2018-09-14 13:53:55 +0200

Sorry to answer with another question, but I think it's very important since I am very happy with the out-of-the-box solution Jolla provided to me with Xperia X.

Q: Is there any plan to integrate MicroG into the next version of SFOS (3.0) ?

The item Android support version upgrade on the roadmap is quite generic..

edit flag offensive delete publish link more

answered 2018-11-18 14:05:47 +0200

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2018-11-18 14:05:47 +0200

samule gravatar image

Here my very straight-forward procedure:

  • Signature spoofing using the docker prepared image, as described here
  • F-Droid installed by using "standard" Dalvik Store
  • microG repository added on F-Droid as described here
  • Install microG Core Services 0.2.4
  • Sign-in on Google-account
  • (opt) Upgrade microG Core Service

Warning: using latest version of microG core services will result in troubles while logging on Google.

edit flag offensive delete publish link more


Just out of curiosity: why would one perform all these steps to have a Google-free smartphone, and then use a Google account?

I did the microG installation recently because I would like to get rid of the Google play services installation, but some apps required it.

Only one issue that bothers me: the Strava Android app requires the installation of the Google maps app to run, however after microG installation Strava correctly shows OSM maps instead of Google content. I guess Strava checks for the Google maps signature. Any idea how to get rid of Google maps?

ziellos ( 2018-11-19 09:09:19 +0200 )edit

answered 2018-05-21 09:13:47 +0200

makarch gravatar image

I did all steps like @bj-rn wrote above but I have no ideaj if it worked

First I have had the problem after deodexing the app and priv-app folders are empty, therefore I copied back those folders not in the deodexing folder.

After that I installed F-Drod, gmscore, etc... but signature spoofing ist not working.

Does anyone know I to fix that?


edit flag offensive delete publish link more


First you need Deodex the files, afterwards you nedd to do Signature Spoofing. Than you delete the folders /opt/alien/system/framework and /opt/alien/system/apps and /opt/alien/system/build.prop

Afterwards you copy your deodexed and signature spoofed folders /opt/alien/system/framework and /opt/alien/system/apps and /opt/alien/system/build.prop

Don't overwrite the old folders! Odexed files will still be there and signature spoofing will not work! Delete them!

ExPLIT ( 2018-05-25 14:26:39 +0200 )edit

answered 2018-05-24 17:59:37 +0200

ExPLIT gravatar image

updated 2018-05-28 17:59:52 +0200

I created all files needed for MicroG on Xperia X / SailfishOS

This are Alien Dalvik files which are deodexed and signature spoofing installed. Who need the files - just ping me on Telegram @ExPLIT

edit flag offensive delete publish link more


Just got on Telegram. not sure if I did it right. ..

Levone1 ( 2018-05-24 19:00:38 +0200 )edit

Cant you explain how you did it?

makarch ( 2018-05-25 00:31:22 +0200 )edit

I dodexed the Alien Dalvik Files, and made signature spoofing like described above. Afterwards you need to add microG Repository to the F-Droid and Install all microG Files and Mozilla uLP Connection Backend.

After restart you have "faked"gapps. They force all requests to the google services to use open gapps. Google Maps Data is replaced with Open Street Map data etc.

ExPLIT ( 2018-05-25 11:21:53 +0200 )edit

@ExPLIT - sorry, not familiar with Telegram. Could you ping me, or give me a lead? (@Lev One - I'm online now)

Levone1 ( 2018-05-25 15:12:20 +0200 )edit

@ExPLIT how would that work in the case of SFOS updates? Do we need to undo the deodexing again?

bomo ( 2018-05-25 20:16:33 +0200 )edit
Login/Signup to Answer

Question tools



Asked: 2017-10-13 20:19:35 +0200

Seen: 7,353 times

Last updated: Nov 18 '18