ale5000-git / UnifiedNlpOverlay

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UnifiedNlpOverlay

A package for using UnifiedNlp together with GAPPS. This overlay forces org.microg.nlp-package as LocationProvider. If it's installed you can not use the GAPPS LocationProvider anymore. And you still have to place UnifiedNlp on system partition to get it to work.

Current development state

Tested with Android 9 - Pie.

At this time there is one release but not as a signed package. As you aren't installing it with a package manager there shouldn't be any need for that, but feel free to contact me, if you need them.

Installation instructions

  1. download UnifiedOverlay.apk and org.microg.nlp.xml
  2. get write access to system-partition: adb root && adb remount
  3. place UnifiedNlpOverlay.apk from Releases into /system/vendor/overlay
    • adb push UnifiedNlpOverlay.apk /vendor/overlay/UnifiedNlpOverlay.apk
  4. place org.microg.nlp.xml into /etc/permissions
    • adb push org.microg.nlp.xml /etc/permissions (if this does not work try to push to /system/etc/...)
  5. download and install UnifiedNlp.apk from F-Droid
    • adb push /system/priv-app/UnifiedNlp/UnifiedNlp.apk

Background for this project

UnifiedNlp offers three different versions with different package names (Legacy-version, com.google.android.gms, org.microg.nlp). On ROMs without Gapps it's possible to use the version with com.google.android.gms because there will be no conflicts. On ROMs WITH Gapps you have to use org.microg.nlp to avoid these conflicts.

Android has a internal list of "allowed location providers packages". Originally this list contains com.google.android.gms and com.android.location.fused. Android collects the signatures of this packages IN THE SYSTEM partition at startup and uses these signatures as "allowed" signatures. With this overlay you some kind of disable the "list of allowed location providers" and tell Android to only use org.microg.nlp.

PS: Because of the "system-partition"-thing you have to use either a ROM with the provided patch from UnifiedNlp or install UnifiedNlp in the system-partition.

Build instructions

The build was tested with Gradle 6.5.1 but should also work with older versions. Afaik there are no special commands used. To build this project simply run gradle build in the root folder. The result will be in .\build\outputs\apk\release.

Licence

Copyright 2021 Greenflash1986 aka Samuel

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

License:Apache License 2.0