microg / microg/GmsCore

Distribute flashable zip for Android 7+ for broken UnifiedNlp integration

Open
#284 49 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

So I've recently migrated to Android 7.1.1 as LineageOS has picked up the ball and started producing builds for bacon again.

My update workflow has changed in the following respects:

  1. Where I would have normally had Xposed+FakeGapps installed, I now use tingle, as it's the only reliable way I could currently find to allow spoof'd signatures - given that Xposed for 7+ doesn't exist yet. This numeral is merely informative.

  2. The point of the issue: As you know, given the UnifiedNlp README and the patch you produced here you are at least aware of the issue and the simple fact that going forward, UnifiedNlp and therefore many apps will not work with the traditional "Just install the app" workflow, due to the fact that only privileged system apps may be a location provider in 7+.

Your solutions are:

  1. Apply the patch (which you can only do if you intend to build your own ROM from scratch)

  2. As root, install GmsCore in /system/priv-app/ (You said it slightly different for UnifiedNlp-only but the problem remains the same, and I verified this works myself)

This leaves us with option #2, which if you're a nightly user (hint: No other user of LineageOS atm) is frankly really a pain. And worse, a conundrum:

  1. microG / GmsCore still needs to be installed prior to all GCM apps, and if it's reinstalled could it lose those subscriptions?
  2. Apps in /system/priv-app/ will be erased on upgrade

Given that, I think it would be really nice if you could produce a flashable .zip that also includes an addon.d script to "rollover" microG to the next upgrade like Gapps does it. (hopefully preserving the push subscriptions too) - note when I say "push subscription" I mean the apps listed under the "Google Cloud Messaging" menu and how that operates with the necessity of GmsCore having to be present first.

Bonus points: Perhaps a second zip could be produced that does what tingle is doing and one-shot both the patching of the framework to support spoof'd signatures, and also install microG in the correct area.

Thanks for all of your hard work! I've been using this for a long time now and it's otherwise has worked great and has given me great peace of mind.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Android 7+ framework patch at patches/android_frameworks_base-N.patch and the issue's references to GmsCore installation and addon.d. Determine the scope of a flashable zip that places GmsCore in the required privileged location and preserves it across upgrades; done should include a working upgrade rollover and retained push subscriptions.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.