microg / UnifiedNlp

Alternative network location provider for Android, with plugin interface to easily integrate third-party location providers.
947 stars 207 forks source link

Which UnifiedNlp package to use? #142

Open cmonty14 opened 6 years ago

cmonty14 commented 6 years ago

Hello!

I have identified 3 different UnifiedNlp packages here: LegacyNetworkLocation.apk NetworkLocation.apk UnifiedNlp.apk

What is the correct package for my device? What are the criterias for identifying the suitable packages? I tried first NetworkLocation.apk and put this package to /system/priv-app. But the installation of this apk fails.

Then I tried another package where the installation is working: UnifiedNlp.apk

But GMSCore self-check is reporting failure of UnifiedNlp registration. Please check the following screenshot.

And is it correct that GMSCore.apk and NetworkLocation.apk that I put to /system/priv-app are gone after reboot.

screenshot_20170802-214852 1

CorePoint commented 6 years ago

I think Mozilla Location Service works best in Germany, you can also extend the database with Mozilla Stumbler. You can also use Local WiFi Backend to collect wifi networks and save them into a local database.

kenb0t commented 6 years ago

I also am confused about which one to use and have the same satus screen as OP

ale5000-git commented 6 years ago

The name are confusing but the meaning should be (if I'm not wrong):

1) If you use microG GmsCore you must remove NetworkLocation since it is already included and it may conflict.

Raeitus commented 6 years ago

You just want to push GsmCore.apk into /system/priv-app and it'll register. That's what I did at least.

https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation

Phyks commented 6 years ago

Hi,

I had a similar issue, installing GmsCore and getting UnifiedNip which would not register. The doc might require some updates to emphasize it.

I got it working thanks to @realmain comment, thanks!

Basically, I

  1. Remounted system partition as RW, see https://android.stackexchange.com/questions/110927/how-to-mount-system-rewritable-or-read-only-rw-ro
  2. adb push GmsCore.apk /system/priv-app
  3. Remount system as RO
  4. Reboot

And everything went fine, the app got installed at reboot.

Problem is I am not sure one would benefit from easy updating with f-droid with this install method. :/ the doc writes about a patch to apply, to avoid having to install in priv-app, but this means having to compile the app ourself. I was (mistakingly) thinking the f-droid version had this patch.

If the patch is enough, what about putting a Android Nougat specific version of GmsCore on f-droid?

P.S.: From the f-droid descriptions, I did not find it obvious that GmsCore already contained UnifiedNip and that no extra package was required.

Thanks for all the work on microg, that's amazing! :)

n76 commented 6 years ago

@Phyks You can still upgrade microG via F-Droid if you have installed it in /system/priv-app/

F-Droid will install the update in the user app area but Android is smart enough to see the same package signed with the same key and realize it is an upgrade. The upgrade gets all the privileges that the older version in /system/priv-apps/ gets even though it is in the user area. I think this is the same way that Google's apps that come installed on /system/ get updated for a user that is not using microG.

I guess there might be a patch that backs out the AOSP change in v6 that started requiring location providers to be in /system/ but I haven't bothered with them. Nowadays I've stopped building my own signature spoofing ROM and am simply using the ROM provided by the Lineage for microG people. Makes it dirt simple to get going with microG and even if I don't update the ROM very often, I can still keep microG up to date with F-Droid.

ale5000-git commented 6 years ago

@Phyks: The patch is for the ROM (it isn't for GmsCore).

Raeitus commented 6 years ago

Nowadays I've stopped building my own signature spoofing ROM

@n76 You really only have to flash nanomod-patcher once, and it'll auto patch every ROM update. For those who don't want to use LineageOS (or LineageOS microG fork)

Phyks commented 6 years ago

You can still upgrade microG via F-Droid if you have installed it in /system/priv-app/

Awesome, thanks for these infos!

The patch is for the ROM (it isn't for GmsCore).

Indeed, I missed this.

I would think it could be useful for newcomers to emphasize in the doc that:

Anyways, everything is working fine for me now, thanks a lot!

Raeitus commented 6 years ago

@Phyks

Installing in /system/priv-app is as easy as a few adb command and is transparent afterwards.

I just added a small thing about adb push in the Installation page.

Some note about nanomod-patcher (I never came across it in the docs). Best installation method should be using the Lineage + microG ROM.

Just added info in the Signature Spoofing page. The Lineage + microG ROM is already on the Signature Spoofing page.

Phyks commented 6 years ago

Thanks!

Raeitus commented 6 years ago

This seems to be solved. Can someone close this?