Open jfaure9 opened 2 years ago
Hi,
I'm afraid (if I got it properly which is not guaranteed! ) that what you did is not what I'm looking/asking for. What I would like is a standalone UNLP V2 APK with com.google.android.gms as the package name so that to install it on a pure AOSP system w/o signature spoofing.
Did I understand properly what you did?
It is what you described except for the package name -- which has been set to org.microg.nlp.app
. You can set it back to original by reverting this commit https://github.com/microg/GmsCore/pull/1776/commits/f69ea7195c433ff85c0903d31537f61c787ba663
Any reason why you want unlp to have gmscore's package name? It should functional identically
Then I misunderstood what you did as I thought sigspoof was required. My bad. Now to answer your question "Any reason why you want unlp to have gmscore's package name?"
It's been a long time since the last time I had a look into this but my initial objective was to setup a Lineage system on my old Xiaomi Redmi 4x with:
Note: I know there is "Lineage for microG" for this device but I don't want the full microG package as I feel it is too much buggy (that's why I emphasized "running" just above).
I first tried to combine GAPPS with UNLP with no success as I didn't manage to modify Lineage so that it accepts org.microg.unlp as a location provider. Hence I backed up on trying to combine a pure Lineage (no GAPPS at all) with UNLP: it worked (precisely because the UNLP package name was "com.google.android.gms") and frankly I was quite happy with it. The resulting system was easy to maintain and stable. The only issue I had was that UNLP location accuracy was not good enough to my taste (I was not hoping for something as accurate as Google but honestly it was below the average). So finally, I gave up and bitterly went back to Lineage + GAPPS.
Then I discovered that UNLP V2 was under development and so I posted my question.
Hope this answers your question and clarify things a bit.
I'm interested too. Let me understand one thing, to only use unifiednpl without all the full microg package the package name needs to be the original one right?
@jfaure9 trying to flash these releases only unified does it work with roms without signature spoofing? Have you ever tried? https://github.com/FriendlyNeighborhoodShane/MinMicroG_releases/releases/tag/2022.02.02
practically to use a custom rom without gapps and without microg, but only with unifiednpl and then with the gps working how should you do?
@git-bruh let me understand the change to the name you made is it if you have gapps + unifiednpl at the same time without rom with signature spoofing? Or is it the other way around? If, on the other hand, you do not have the gapps, then vanilla rom and you would like to make the gps / navigator work, how could you do it? I rightly think that without gapps and "full microg" you can't use gdrive backup on whatsapp example right? But the position could still be shared right? Sorry, I'm a bit confused about it 😅😅
@git-bruh let me understand the change to the name you made is it if you have gapps + unifiednpl at the same time without rom with signature spoofing? Or is it the other way around? If, on the other hand, you do not have the gapps, then vanilla rom and you would like to make the gps / navigator work, how could you do it? I rightly think that without gapps and "full microg" you can't use gdrive backup on whatsapp example right? But the position could still be shared right? Sorry, I'm a bit confused about it sweat_smilesweat_smile
With my fork, you get the package name changed to org.microg.nlp.app
, built with just unifiednlp features and none of gmscore.
So, you can use location sharing on a rom without sig spoofing, but not any app that relies on gmscore
You can always just flash the full gmscore (it includes microg) on a non-sig spoofed rom, but that confuses apps as they think that a working gmscore is present, while it's non-functional, so they break. Changing the package name avoid this.
With my fork, you get the package name changed to
org.microg.nlp.app
, built with just unifiednlp features and none of gmscore.So, you can use location sharing on a rom without sig spoofing, but not any app that relies on gmscore
Don't you have to also declare "org.microg.nlp.app" as an authorized location provider in the configuration files of the rom too (which is not possible on lineage w/o deoexing) ?
With my fork, you get the package name changed to
org.microg.nlp.app
, built with just unifiednlp features and none of gmscore. So, you can use location sharing on a rom without sig spoofing, but not any app that relies on gmscoreDon't you have to also declare "org.microg.nlp.app" as an authorized location provider in the configuration files of the rom too (which is not possible on lineage w/o deoexing) ?
no you can just flash minmicrog https://github.com/git-bruh/unifiednlp-standalone/commit/a87e64665223c4c9b1122ceb2bbe87921ec0a2c4
@git-bruh : Did you try your fork on Lineage ?
@git-bruh Ok that was just what I was looking for, could you upload the zip to your fork in "release" or somewhere else to flash in recovery? Or instructions on how to create this zip.
Android Studio is useless in this case right? Or at least it just serves to change the name of the package in case of need? Can you get the apk from Android Studio or not?
@git-bruh : another question, are you sure that with what you did (full gapps + moded unlp) the location is retrieved thanks to unlp and not thks to gmscore ?
@git-bruh Ok that was just what I was looking for, could you upload the zip to your fork in "release" or somewhere else to flash in recovery? Or instructions on how to create this zip.
Android Studio is useless in this case right? Or at least it just serves to change the name of the package in case of need? Can you get the apk from Android Studio or not?
You don't need android studio, just android sdk, gradle and a JDK (I used amazon corretto 11, just use whatever is available on your distro)
Then generate a keystore, add it's path and password to .gradle/signing.conf like so
SIGNING_KEYSTORE=/path/to/keystore
SIGNING_PASSWORD=keystore_signing_password
and then run ./contrib/build_minmicrog.sh
I made a release here if you trust my build: https://github.com/git-bruh/unifiednlp-standalone/releases/tag/unlp
BTW don't try to flash this on top of an existing minmicrog install else you'll get issues with certificates, same goes for if you flash my zip and later decide to self build and flash zip signed by you
@git-bruh : another question, are you sure that with what you did (full gapps + moded unlp) the location is retrieved thanks to unlp and not thks to gmscore ?
The builder script only builds the following source files, so no gmscore stuff, only files that call unifiednlp for location are built:
https://github.com/git-bruh/unifiednlp-standalone/blob/master/build.sh#L7-L224
I'm interested too. Let me understand one thing, to only use unifiednpl without all the full microg package the package name needs to be the original one right?
It depends on your rom. For the full microg or just unified NLP to be actually used as a location provider , the package name needs to be part of the "authorized location provider list" ("com.google.android.gms" is part of this list by default). To achieve that on Lineage (which was the rom I was working with at the time I tried to achieve what I described) deoxing is required and I never achieved to successfully put the modified files (thks to Smali Patcher) back into the system w/o breaking the boot.
@jfaure9 trying to flash these releases only unified does it work with roms without signature spoofing? Have you ever tried? https://github.com/FriendlyNeighborhoodShane/MinMicroG_releases/releases/tag/2022.02.02
Yes I tried MinMicroG and yes on a system w/o sigspoof the version w/ only UNLP was working fine.
practically to use a custom rom without gapps and without microg, but only with unifiednpl and then with the gps working how should you do?
Flash the minimal MinMicroG version after the rom installation and follow the post-boot instructions: all done.
@git-bruh : another question, are you sure that with what you did (full gapps + moded unlp) the location is retrieved thanks to unlp and not thks to gmscore ?
The builder script only builds the following source files, so no gmscore stuff, only files that call unifiednlp for location are built:
https://github.com/git-bruh/unifiednlp-standalone/blob/master/build.sh#L7-L224
I think I'm starting to get what you done (sorry not an android developer, just an "advanced" user): you modified all the necessary configuration files so that org.microg.nlp.app is used as the location provider?
Did I get it properly?
@git-bruh : another question, are you sure that with what you did (full gapps + moded unlp) the location is retrieved thanks to unlp and not thks to gmscore ?
The builder script only builds the following source files, so no gmscore stuff, only files that call unifiednlp for location are built: https://github.com/git-bruh/unifiednlp-standalone/blob/master/build.sh#L7-L224
I think I'm starting to get what you done (sorry not an android developer, just an "advanced" user): you modified all the necessary configuration files so that org.microg.nlp.app is used as the location provider?
Did I get it properly?
the config file modifications are made in minmicrog, nothing is needed in gmscore to build standalone unlp apart from removing dependencies on google services implementations and changing package name. I'm not an android dev either, just hacked this together for a couple of hours until it finally built.
Then, w/o putting in question the quality of your work (sincerely), I don't get how this is working. As I said above, when I was working on this on Lineage, w/o deoxing and modifying the "authorized location provider list" it was not possible to actually make the system use unlp to get its location.
Then, w/o putting in question the quality of your work (sincerely), I don't get how this is working. As I said above, when I was working on this on Lineage, w/o deoxing and modifying the "authorized location provider list" it was not possible to actually make the system use unlp to get its location.
It works just how location works when you flash the full gmscore minmicrog package - https://github.com/git-bruh/MinMicroG-unlp/blob/e661be146ea0b2090bc28d1cd67517e05b2e465a/res/system/etc/permissions/org.microg.nlp.app.xml#L4
On an unmodified lineage rom this is not enough (please trust me, I spent hours trying to make it works): the location provider will get installed but not actually used.
@git-bruh @jfaure9 thanks for your clarification.
@jfaure9 try to change rom, as I know try arrow or other minimal, or omnirom, it may be that it is a lineage problem
On an unmodified lineage rom this is not enough (please trust me, I spent hours trying to make it works): the location provider will get installed but not actually used.
But I'm literally running it just fine on lineage 19.1 without any extra modifications -- what version did you try it on?
GMaps webview
@git-bruh @jfaure9 thanks for your clarification.
@jfaure9 try to change rom, as I know try arrow or other minimal, or omnirom, it may be that it is a lineage problem
It is specific to lineage but I would not qualify this as a "problem". The difficulty is by-design/intentional: the lineage team is privileging security over openness that's all. And BTW, at this time, on the device I was using, lineage was, by far, the best rom.
On an unmodified lineage rom this is not enough (please trust me, I spent hours trying to make it works): the location provider will get installed but not actually used.
But I'm literally running it just fine on lineage 19.1 without any extra modifications -- what version did you try it on?
![]()
![]()
GMaps webview
Those screenshots do no guarantee that location is provided by unlp, they just guarantee that unlp is properly installed and that the system is able to get A location. And my guess, is that this location is provided by Google Play Services not by unlp.
"what version did you try it on?": Lineage 15.1 on a Nexus 5X
I'm really having trouble trying to understand what you're getting at so I won't continue this conversation further. My device has:
Oh sorry. I was convinced you were running unlp along with gapps. My bad. So in the end, I don't get how this is working (or reversely, why it was not working in my case) and you did a (very) good job. Again sorry for the misunderstanding. BTW: did you managed to find a solution in this configuration to get push notifications?
When I rethink about it, location management has been modified a lot starting from lineage 17 (or 18, I'm not sure) : that may explain why you managed to make this work and why I didn't. Again, sorry for the misunderstanding and sorry if I pissed you off.
@git-bruh Flashed your sept.27-release via recovery, after a reboot it actually crashed upon first run but stabilized after npem and backend and a reboot more. All good, get insta lock from apple in organicmaps. custom lineageos-18.1 221001 build. Thank you!
Hi all and sorry if this isn't the right place or the right way to ask for this but I would like to know if there will be a standalone apk for the new version of UNLP? Thanks in advance.