After playing around for a while, i managed to install my self-built version of FP OS along with the Google Apps provided by Open GApps. I installed the full version of Gapps.
Everything looks good except the location services. I cannot start my Play Store (force close), because it fails to connect to the fused location service: E/AndroidRuntime(12965): java.lang.RuntimeException: Unable to start service com.google.android.finsky.services.LocationUpdaterService@e869759 with Intent { dat=locationupdateservice://update cmp=com.android.vending/com.google.android.finsky.services.LocationUpdaterService }: java.lang.IllegalArgumentException: provider doesn't exist: fused
Does anybody have an advice for me? Or at least any hint?
Cheers,
Alex
Here is the solution to the problem:
I finally managed to make the Google Apps work. The main problem is related to signing the binary apks.
The Fairphone needs several precompiled apks, which are located under vendor/qcom/proprietary/target/product/FP2/.
Each of them is signed with the normal debug certificate during the
build process. The system server (or whatever component is responsible
for that) refuses to load those apks during startup. Since some of them
need access to the shared user “com.android.system”, they have to be
signed with the platform certificate. After i resigned all needed apks,
everything seems to be working. At least, the play store is working.
I wrote two scripts, which shall do the job for you:
resign-blobs.sh: http://pastebin.com/0eX0u2J63 and the list of apks to resign: http://pastebin.com/YwWb9UpB3
Create a bash script and copy the content of the first link to it. Second, create a file called resign-files.txt from the second link. Now, you can resign your apks.
I suppose you are in your Fairphone OS directory. Simple run the script:./resign-blobs.sh. It will resign the apks and copy them to ${HOME}/Downloads/fp2.
Create another bash from the content of this link: http://pastebin.com/ZvtP3Yp21
It should be named install-apk-blob.sh. It needs a path to a directory where the resigned apks are located: ./install-apk-blob.sh ${HOME}/Downloads/fp2. It will automatically restart adb as root, remount /system, copy the apks and restart adb as non-root.
The error code looks like the play store wants a location update using the Google “fused” location provide. This does not work because the provider “fused” was not found. No idea. Maybe it will help providing this “update” with NLP. But I don’t know. Maybe all this work will be in vain and it will not help at all
Hi there, just as an idea… maybe you could use location spoofing to fool the market (if you don’t about this service)? It is provided in tools like xPrivacy.
Yeah, i could… I want to avoid that.
I’m looking for a clean solution like “simply install the gapps”. I don’t understand why the system complains about the missing service.
Maybe one of the fairphone software developers could light me up. I expect my self-built version to be able to run the usual Google apps.
There should not be any difference between a self-built version of FP2-OSOS and AOSP except for the FP add-ons.
There is a lot more difference if you talk about using the blobs and not using the blobs. Or do you compare AOSP with blobs and the official FP2-Release?
I think I’m having the exact same problem. I’ve got my self-built FP2 OS running with Open GApps (Pico).
Whenever I start the location service, the Player Store crashes instantly and I can’t re-enter the
Play Store. Only after turning off the location service again, I am able to use the Play Store.
I’ll double check if it is really the exact same problem. But it most likely is. So, any hint by the FP2 devs
would be much appreciated.
Great news!
I finally managed to make the Google Apps work. The main problem is related to signing the binary apks.
The Fairphone needs several precompiled apks, which are located under vendor/qcom/proprietary/target/product/FP2/. Each of them is signed with the normal debug certificate during the build process. The system server (or whatever component is responsible for that) refuses to load those apks during startup. Since some of them need access to the shared user “com.android.system”, they have to be signed with the platform certificate. After i resigned all needed apks, everything seems to be working. At least, the play store is working.
I wrote two scripts, which shall do the job for you:
resign-blobs.sh: http://pastebin.com/0eX0u2J6 and the list of apks to resign: http://pastebin.com/YwWb9UpB
Create a bash script and copy the content of the first link to it. Second, create a file called resign-files.txt from the second link. Now, you can resign your apks.
I suppose you are in your Fairphone OS directory. Simple run the script:./resign-blobs.sh. It will resign the apks and copy them to ${HOME}/Downloads/fp2.
Create another bash from the content of this link: http://pastebin.com/ZvtP3Yp2
It should be named install-apk-blob.sh. It needs a path to a directory where the resigned apks are located: ./install-apk-blob.sh ${HOME}/Downloads/fp2. It will automatically restart adb as root, remount /system, copy the apks and restart adb as non-root.