Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify use of UnifiedNlp.apk in readme #34

Open
phipolis opened this issue Mar 20, 2015 · 21 comments
Open

Clarify use of UnifiedNlp.apk in readme #34

phipolis opened this issue Mar 20, 2015 · 21 comments
Labels

Comments

@phipolis
Copy link

phipolis commented Mar 20, 2015

The releases provide three apks: LegacyNetworkLocation.apk, NetworkLocation.apk, and UnifiedNlp.apk. The readme makes clear that LegacyNetworkLocation.apk is for Android 2.3 - 4.3, NetworkLocation.apk is for Android 4.4 - 5.0, but I cannot determine when or if I would need to use UnifiedNlp.apk. Suggest clarifying its use in the readme. Thnks!

@alanthehat
Copy link

The whole thing is a mystery to me.

I started a shared google map several years ago & it now has nearly 3000 non-computer-savvy users so I can't move it. I maintain it with Google's 'My Map' app.
I also have at least 1 app (possibly several) that uses Google's push messaging service & I use Google's Maps as a satnav.

Apart from these specific applications I don't need google to know everything I am doing or where I am doing it.
Is it possible for me to dispose of 'google Play Services'?

Does the system listed here do it?
How do I install it on my 2 devices?
(HTC Wildfire S, android 2.3.7 & Star N9599T, android 4.2.1)

@mar-v-in mar-v-in added the docs label May 3, 2015
@acutbal
Copy link

acutbal commented May 29, 2015

I've a Meizu MX3 wich I use without Google Play Services due some serious heating problems with its default ROM, called Flyme. It's all ok except location services, Meizu uses Baidu as data provider and service location. That means whether I check my position with http://finder.flyme.cn/browser/index.jsp my phone is located on a blank map. Furthermore, I can't install apps such Cerberus or Prey because they need Google Play Services to run.

After searching and searching finally I've found this project, I've installed NetworkLocation.apk and some backends for geolocation and, voilà, some apps and widgets have started to positioning. But after testing all, I'm not sure which is the best service and I don't know how it works, the interval frequency, etc. It could be very useful for non-technical users like me an explanation in plain words how the service and backend work.

Thank you very much for your work!! 😄

Kind regards!!

@alanthehat
Copy link

+1

@IzzySoft
Copy link

For me it's just the opposite as for the OP: one of my devices still running its (4.1.2) stock ROM (i.e. with all GApps included), I cannot install LegacyNetworkLocation.apk – it's package name is already occupied by a Google app. I've installed UnifiedNlp.apk and the LocalGSM backend, have a cellID database created – but a test with the Xposed module (XposedUnifiedNLP) says it's not working.

So to me it's unclear how to proceed on a device with GApps on – which is not covered at all by the README. In 10 days I'm going on a vacation abroad, where I will have no data network. I was hoping for UnifiedNLP to provide me with decent location data there, also for a faster GPS fix. I see how fine that works on my other, Google-free device (using the old NOGAPPS variant of LegacyNetworkLocation.apk): there I get a fix within less than 10 seconds usually. My "googled" device takes several minutes for that …

Oh: For updating that other device, I'm again sitting in the same boat with the OP, not knowing what I'd need there – so I'm afraid touching it …

@herrdeh
Copy link

herrdeh commented Jul 11, 2015

As th OP, I still dont understand, what for I should use NetworkLocation.apk - and what for I should use UnifiedNlp.apk. If the clarification requested already took place, it's still not clear to me.

@IzzySoft
Copy link

@herrdeh As far as I was able to deduce:

  • Use NetworkLocation.apk if your device runs Android 4.4 or higher, and you have no GApps installed
  • Similarly, use LegacyNetworkLocation.apk if your device has no GApps but runs an Android version before 4.4 (but at least 2.3)

So far I'm pretty sure (as the two share the package name with a GApp, both cannot be installed simultaneously). If I further deduced correctly, that leaves UnifiedNlp.apk for devices with GApps installed – which further requires an Xposed module to take care for the "signature conflict". No need to install UnifiedNlp.apk if you've installed one of the other two.

Unfortunately, on my "stock device" the Xposed module seems unable to fix that signature issue (see linked issue above), so I've not been able to prove the above by own experience. @mar-v-in could give a short "yes" if I came to the correct conclusions here, though 😜

@n76
Copy link
Contributor

n76 commented Jul 11, 2015

No, unifiedNLP is the successor to NetworkLocation. It does the same basic job but uses a plug-in architecture and there are a number of backend plug-ins available. Confusingly, some builds of unifiedNLP seem to have the name NetworkLocation.

If you have never installed gapps, the easiest way to install unifiedNLP is from the F-Droid store (unifiedNLP does not need to be installed as a system app, at least is does not on KitKat or Lollipop). The various backends are also available on F-Droid.

https://f-droid.org/repository/browse/?fdfilter=unifiedNLP&fdpage=1&page_id=0

@IzzySoft
Copy link

@n76 that would mean the README.md is completely outdated. And I do not understand then why all 3 are kept with each release: if UnifiedNlp.apk does the same on all versions of Android, and thus obsoletes both NetworkLocations, then what's the point of this? Afraid that leaves us even more confused now.

@mar-v-in
Copy link
Member

Both answers are correct. The confusion obviously is caused by the apk naming scheme.

  • NetworkLocation.apk released in this repo is UnifiedNlp.apk compiled in a way to be used with Android 4.4+ without GAPPS. There is another repo containing the older version of NetworkLocation.apk without the plug-in system.
  • LegacyNetworkLocation.apk is NetworkLocation.apk for older Android versions.
  • UnifiedNlp.apk is the base package that is included in the other two but cannot run standalone without patching the system (manually or through the Xposed module). The Xposed module also allows you to run UnifiedNlp.apk on systems with GAPPS installed (the other two will either deny installation or cause problems with GAPPS)

All three variants are available on f-droid as well, not using the apk name but a useful description.

@IzzySoft
Copy link

Thanks a lot for clarification on this, @mar-v-in ! Would you mind including that with the README.md in the root of the repo, so people have not to search this in the issues? That would avoid a lot of confusion, as you can see 😜

Speaking of "patching the system manually": can that be done (naturally, on rooted devices only) even with GApps being installed – e.g. on stock ROMs? That might solve my issue (43, linked above).

@herrdeh
Copy link

herrdeh commented Jul 13, 2015

To make things a little worse:
On some devices (e.g. mine), even at F-Droid you can't easily distinguish which package is for you, because you can't read the entire title:

screenshot_2015-07-13-09-32-54

screenshot_2015-07-13-09-33-23

screenshot_2015-07-13-09-33-48

As you see, the relevant info is cut off. And turnig the device by 90° doesnt always help.
So it might be a good idea to repeat it in the first line of the description.
I myself twice installed the wrong package for that reason )-:

@mar-v-in
Copy link
Member

@aelmahmoudy, @mvdan can one of you please take care of the issue described by @herrdeh? Thanks.

@mvdan
Copy link

mvdan commented Jul 13, 2015

Unless someone has a UI fix, I'll take merge requests to make the titles/summaries more distinguishable :) For example, having the summaries be different would help here.

@IzzySoft
Copy link

Adding something distinguishable at the very beginning (like "this is the blah for blah", basically repeating the app's name/title as @herrdeh suggested) would solve that part, don't you think? Being part of the description, it would be wrapped and thus fully readable in the F-Droid Android client.

@mvdan
Copy link

mvdan commented Jul 13, 2015

Yes, either different short summaries or different descriptions work, aside from us overriding the names which is also an option. That is what I meant.

@ale5000-git
Copy link
Member

@mar-v-in:

To summarize:

  • NetworkLocation.apk: Andoid 4.4+ without GApps.
  • LegacyNetworkLocation.apk: Andoid 2.3 - 4.3.1 without GApps.
  • UnifiedNlp.apk: Android WITH GApps.

What isn't clear is if UnifiedNlp.apk support all Android versions or just newer ones.
Can you please clarify?

@mar-v-in
Copy link
Member

Technically, all three versions can work with all Android versions 2.3+.

It's just a matter of configuration: NetworkLocation.apk is for the usual configuration of Android 4.4+, LegacyNetworkLocation.apk for usual configuration of Android 2.3-<4.4 and UnifiedNlp.apk does not match any default configuration and thus requires a system modification (either via Xposed or at compile time). By not matching the configuration of the system it also does not conflict with the existing provider and thus can be installed on systems even when GAPPS are installed.

There are also some systems that are configured differently. It is not to uncommon to see systems 4.4+ that still support LegacyNetworkLocation.apk, OmniROM carried over support for LegacyNetworkLocation.apk to Android 7.1 [see here]

@IzzySoft
Copy link

IzzySoft commented Jan 17, 2017

@ale5000-git that was 1.5 years ago. Meanwhile, your first two bullet points should read "without GApps and without microG" – as microG core already includes the UnifiedNlp component (see my article Android without Google: microG).

Or did I get anything wrong with that, @mar-v-in ? That's how my devices run…

@mar-v-in
Copy link
Member

@IzzySoft on Android 2.3-<4.4 you will still need LegacyNetworkLocation.apk even with microG GmsCore installed - the UnifiedNlp in GmsCore will not work on those systems.

@IzzySoft
Copy link

IzzySoft commented Jan 17, 2017

Ah! OK, so what I wrote is correct for Android 4.4+ (which my article references, naming in the requirements "a 4.4+ ROM that is GAPPS-free"). Thanks!

But what still confuses me: In what cases does one need NetworkLocation.apk on 4.4+ with microG installed?

@ale5000-git
Copy link
Member

ale5000-git commented Jan 17, 2017

@mar-v-in: Thanks.

@IzzySoft: I know that microG include UnifiedNlp, I was talking only about systems where the user choose to live without microG.
I personally use microG but there may be users that do NOT have GApps and do NOT have microG but install UnifiedNlp (NetworkLocation.apk) alone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants