mirror of
https://gitlab.com/Nanolx/NanoDroid
synced 2024-10-31 09:20:23 +00:00
517 lines
21 KiB
Markdown
517 lines
21 KiB
Markdown
# NanoDroid
|
|
|
|
Versions until 15.1 were called **NanoMod**, starting with 16.0 they're called **NanoDroid**.
|
|
|
|
The transistion in Magisk Mode installation between old and new module name is handled by the installer.
|
|
|
|
## Current Release
|
|
|
|
* Stable: 16.2.20180302
|
|
* Beta: 16.3~beta2 [20180315]
|
|
|
|
## Downloads
|
|
|
|
### Primary Mirror
|
|
|
|
On AndroidFileHost **all** stable and beta releases are available.
|
|
|
|
* Stable Downloads [> Androidfilehost](https://www.androidfilehost.com/f/NanoDroid_Stable)
|
|
* Archived Stable Downloads [> Androidfilehost](https://www.androidfilehost.com/f/NanoDroid_StableArchive)
|
|
* Beta Downloads [> Androidfilehost](https://www.androidfilehost.com/f/NanoDroid_Beta)
|
|
* Archived Beta Downloads [> Androidfilehost](https://www.androidfilehost.com/f/NanoDroid_BetaArchive)
|
|
|
|
### Secondary Mirror
|
|
|
|
On Nanolx the latest stable and beta releases are available, no previous releases.
|
|
|
|
* Stable Downloads [> Nanolx](https://androidfilehost.com/?w=files&flid=198483)
|
|
* Beta Downloads [> Nanolx](https://androidfilehost.com/?w=files&flid=183250)
|
|
|
|
### Snapshots
|
|
|
|
You can create snapshots from this repository.
|
|
|
|
* on GNU/Linux, MacOS or *BSD clone this repository and use the provided `build-package` script like
|
|
* first step:
|
|
* `build-package pull` to download all required apks for Full, microG and F-Droid package
|
|
* second step:
|
|
* `build-package full` to create the full package
|
|
* `build-package microg` to create the microG only package
|
|
* `build-package fdroid` to create the F-Droid only package
|
|
* `build-package patcher` to create the on-device framework-patcher package
|
|
* `build-package uninstaller` to create the uninstaller package
|
|
* `build-package setupwizard` to create the Setup Wizard package
|
|
* `build-package all` to create all packages at once
|
|
* third step:
|
|
* `build-package u-microg` to update microG
|
|
* `build-package u-fdroid` to update F-Droid
|
|
* `build-package u-apps` to update (most) applications
|
|
* `build-package u-swipe` to update swipe libraries
|
|
* `build-package u-gsync` to update Google Sync Adapters
|
|
* `build-package pull` to update/re-download everything
|
|
|
|
for apks downloaded from F-Droid or microG repository or from APK Mirror, `build-package` checks the SHA256 hash.
|
|
|
|
The `build-package` script additionally supports the following parameters:
|
|
|
|
* `check` check if all files were properly downloaded
|
|
* `clean` remove any untracked files from the repo (e. g. from `build-package pull`)
|
|
* `dalvik [.jar]` prepare a jar file for use with DalvikVM
|
|
* `ver [version] [date]` change project version
|
|
* `bump` increment Magisk module version by 1
|
|
|
|
the `build-package` script does not download/update the following applications:
|
|
|
|
* Play Store (reason: re-signed and modified to support (in-)app-purchases with microG GmsCore)
|
|
* [Download Link](https://www.nanolx.org/apk/Phonesky.apk)
|
|
* Fake Store (reason: built with CHECK_LICENSE permission)
|
|
* [Download Link](https://www.nanolx.org/apk/FakeStore.apk)
|
|
* OpenLauncher (reason: last F-Droid build outdated)
|
|
* [Download Link](https://www.nanolx.org/apk/OpenLauncher.apk)
|
|
|
|
those are still included in the repo itself. Also `build-package` looks if the configuration files
|
|
|
|
* `.nanodroid-setup`
|
|
* `.nanodroid-apps`
|
|
* `.nanodroid-overlay`
|
|
|
|
exist in the `data` directory of the repository, if so, those files are used when creating packages instead of the default ones from the `doc` directory.
|
|
|
|
See the documentation below for more information on those files and what they do.
|
|
|
|
## Supported Android Versions
|
|
|
|
NanoDroid officially supports the following Android versions:
|
|
|
|
* 4.4 / SDK 19 (KitKat)
|
|
* System Mode only (Magisk does not support KitKat)
|
|
* 5.0 / SDK 21 (Lollipop)
|
|
* 5.1 / SDK 22 (Lollipop)
|
|
* 6.0 / SDK 23 (Marshmallow)
|
|
* 7.0 / SDK 24 (Nougat)
|
|
* 7.1 / SDK 25 (Nougat)
|
|
* 8.0 / SDK 26 (Oreo)
|
|
* 8.1 / SDK 27 (Oreo)
|
|
|
|
earlier versions will never officially be supported (you may still report bugs, though).
|
|
|
|
Future versions will be officially supported, eventually.
|
|
|
|
## Support
|
|
|
|
[> XDA](https://forum.xda-developers.com/apps/magisk/module-nanodroid-5-0-20170405-microg-t3584928) Support Thread
|
|
|
|
## ChangeLog
|
|
|
|
Full, user-readible [> ChangeLog](ChangeLog.md)
|
|
|
|
## Summary
|
|
|
|
**NanoDroid** can be installed as a Magisk Module or directly to /system, though a bit functionality is only available with Magisk.
|
|
|
|
More information about Magisk [> XDA](https://forum.xda-developers.com/apps/magisk)
|
|
|
|
NanoDroid includes
|
|
|
|
* microG and it's companions
|
|
* on-device framework-patcher for microG support (signature spoofing)
|
|
* on-pc framework-patcher for microG support (signature spoofing)
|
|
* GApps are auto-removed during installation
|
|
* in Magisk Mode using [> Pseudo Debloat](doc/PseudoDebloat.md)
|
|
* in System Mode they are moved to `/sdcard/nandroid_backups`
|
|
* the Uninstaller will restore them (or re-flash the ROM)
|
|
* location packages conflicting with unified Nlp will are auto-removed during installation
|
|
* in Magisk Mode using [> Pseudo Debloat](doc/PseudoDebloat.md)
|
|
* in System Mode they are moved to `/sdcard/nandroid_backups`
|
|
* the Uninstaller will restore them (or re-flash the ROM)
|
|
* F-Droid and it's privileged extension
|
|
* modified Play Store to allow (in-)app-purchases with microG
|
|
* this required the Play Store to be modified, see the [> patch](doc/Phonesky.diff)
|
|
* alternatively Yalp Store can be installed instead
|
|
* custom init scripts
|
|
* pseudo-debloat feature (Magisk-only)
|
|
* disables applications systemless-ly
|
|
* pre-configured [> default settings](doc/PseudoDebloat.md)
|
|
* several Open Source applications
|
|
* include replacements for the pseudo-debloated applications
|
|
* full list of [> included applications](doc/Applications.md)
|
|
* additional components
|
|
* GNU Bash shell
|
|
* GNU Nano terminal editor
|
|
* several utilities from `util-linux`, `bsdmainutils` and more
|
|
* The Legend of Zelda ringtones and sounds
|
|
|
|
## Packages
|
|
|
|
### Modules
|
|
|
|
Module packages, flashing through TWRP recommended, though flashing through Magisk Manager works aswell.
|
|
|
|
* **NanoDroid**: includes
|
|
* everything mentioned in the Summary
|
|
* **NanoDroid-microG**: includes (only)
|
|
* microG and it's companions
|
|
* pseudo-debloat feature
|
|
* app store(s)
|
|
* GApps and location packages auto-removal
|
|
* **NanoDroid-fdroid**: includes (only)
|
|
* F-Droid and it's privileged extension
|
|
|
|
#### Installation Logfiles
|
|
|
|
The recovery log and installation configuration is stored after installation, regardless with it succeeded or failed.
|
|
|
|
You'll find the files in
|
|
|
|
* /data/adb/.recovery_MODID
|
|
* /data/adb/.nanodroid_MODID
|
|
|
|
where MODID is either NanoDroid, NanoDroid_microG or NanoDroid_FDroid. In case of installation errors, issues or questions provide theese files in your report for easier debugging.
|
|
|
|
#### Parallel Installations
|
|
|
|
Since the microG and F-Droid packages are subsets of the Full NanoDroid package, they can't be installed alongside.
|
|
|
|
The microG and F-Droid packages however can be installed in parallel, as they complement each other.
|
|
|
|
### Extras
|
|
|
|
Extra packages, always flash through TWRP.
|
|
|
|
* **NanoDroid-patcher**: includes
|
|
* on-device framework-patcher for signature spoofing support
|
|
* optionally can patch user interface for it into Developer Settings
|
|
* creates the file `/data/adb/.nanodroid-patcher` after successful patching
|
|
* installs an addon.d script for automatic re-patching after ROM update
|
|
* addon.d support files reside in `/data/adb/nanodroid-patcher/`
|
|
* the original, unpatched `services.jar` (and optionally `Settings.apk`) are backed up to `/sdcard/`
|
|
* respectively `SecSettings.apk` on TouchWiz ROMs
|
|
* **NanoDroid-setupwizard**: includes
|
|
* **AROMA** based Setup Wizard to create the configuration files
|
|
* user can choose where to store the configuration files
|
|
* `/sdcard`
|
|
* `/external_sd`
|
|
* `/data` (fallback)
|
|
* **NOTE:** AROMA only works on `arm` and `arm64`, if your device is `x86` or `x86_64`, it won't work
|
|
* **NanoDroid-uninstaller**: includes
|
|
* uninstalls *all* NanoDroid Magisk Modules
|
|
* also old NanoMod Magisk Modules
|
|
* uninstalls NanoDroid installed in System Mode
|
|
* uninstalls NanoDroid configuration files
|
|
* uninstalls NanoDroid-Patcher addon.d environment
|
|
* restores applications auto-removed during installation
|
|
* restores `services.jar` or `Settings.apk` patched by NanoDroid-Patcher
|
|
|
|
### Scripts
|
|
|
|
Misc. Script for use from PC/Notebook, while device is in TWRP.
|
|
|
|
* **framework-patcher** (clone this repository)
|
|
* on-pc framework-patcher for signature spoofing support
|
|
* creates the file `/data/adb/.nanodroid-patcher` after successful patching
|
|
* invoke like `framework-patcher [ver] [--gui]`
|
|
* where [ver] is your Android version (6.0, 7.1, ...)
|
|
* where `--gui` is an optional switch to patch a global toggle for signature spoofing into Developer Settings
|
|
* the original, unpatched `services.jar` (and optionally `Settings.apk`) are backed up to `/sdcard/`
|
|
* respectively `SecSettings.apk` on TouchWiz ROMs
|
|
* **force-debloat** (clone this repository)
|
|
* system debloater
|
|
* the list of applications resides in the script itself
|
|
* needs to be run from TWRP, requires explicit user acceptance
|
|
* supports `.nanodroid-overlay` configuration file
|
|
* uses fallback values, if none found
|
|
* which are in the script itself and can be edited
|
|
* has a test mode which prints what would be done
|
|
* **mount-magisk** (clone this repository)
|
|
* script to mount or unmount Magisk in TWRP
|
|
* script toggles mount-state (read: will mount Magisk if unmounted and unmount Magisk if mounted)
|
|
|
|
## Details
|
|
|
|
### NanoDroid
|
|
|
|
This lists features unique to NanoDroid.
|
|
|
|
#### NanoDroid-Overlay
|
|
|
|
The `nanodroid-overlay` script handles the pseudo-debloat feature (Magisk-only)
|
|
|
|
* show the list of pseudo-debloated apps
|
|
* add or remove apps from the list of pseudo-debloated apps
|
|
|
|
Full details on the Pseudo Debloat feature [> Details](doc/PseudoDebloat.md)
|
|
Full details on the NanoDroid-Overlay Script [> Details](doc/NanoDroidOverlay.md)
|
|
|
|
#### NanoDroid-Prop
|
|
|
|
The `nanodroid-prop` script utilizes Magisk's resetprop to alter system properties
|
|
|
|
* add system properties (Magisk-only)
|
|
* both on-the-fly and permanently
|
|
* properties set by this script survive NanoDroid updates
|
|
|
|
Full details on the NanoDroid-Prop Script [> Details](doc/NanoDroidProp.md)
|
|
|
|
#### NanoDroid-Perm
|
|
|
|
The `nanodroid-perm` script grants microG and Co. required permissions, if lacking
|
|
|
|
Full details on the NanoDroid-Perm Script [> Details](doc/NanoDroidPerm.md)
|
|
|
|
#### NanoDroid-UPD
|
|
|
|
The `nanodroid-upd` script allows to update NanoDroid's custom apks
|
|
|
|
* Play Store
|
|
* Fake Store
|
|
* OpenLauncher
|
|
|
|
which can't be updated through Play/Yalp Store or F-Droid otherwise
|
|
|
|
Full details on the NanoDroid-UPD Script [> Details](doc/NanoDroidUPD.md)
|
|
|
|
#### NanoDroid-Util
|
|
|
|
The `nanodroid-util` script contains the following features
|
|
|
|
* show boot count
|
|
* fix OTA update issues (like non-working navbar)
|
|
* handle Audio Focus permission
|
|
* prevent apps from stealing audio output, for example listen to Music while playing Pokémon Go
|
|
* handle Read Clipboard permission
|
|
* modify Airplane Mode settings
|
|
* choose which radios are on or off in Airplane mode
|
|
|
|
Full details on the NanoDroid-Util Script [> Details](doc/NanoDroidUtil.md)
|
|
|
|
#### init scripts
|
|
|
|
The following init scripts are bundled with NanoDroid
|
|
|
|
* external_sd
|
|
* symlink SD Card mount point to `/external_sd`
|
|
* SD Card needs to be inserted upon boot
|
|
* fstrim
|
|
* trim file systems (may increase speed)
|
|
* logcat
|
|
* store logcat in /data/adb
|
|
* logs older than 7 days are deleted on every reboot
|
|
* logscleaner
|
|
* clean up log files
|
|
* sqlite
|
|
* clean up sqlite databases
|
|
|
|
When in Magisk Mode the init scripts create their log files in
|
|
|
|
`/magisk/NanoDroid/.logs/${script}.log.${date}`
|
|
|
|
When installed to /system your ROM needs to support running scripts in
|
|
|
|
`/system/etc/init.d`
|
|
|
|
or you can use **Kernel Adiutor's** init.d emulation.
|
|
|
|
#### Shell Utilities
|
|
|
|
Several utilities from `bsdmainutils` and `util-linux`
|
|
|
|
* [> bsdmainutils Launchpad](https://launchpad.net/ubuntu/+source/bsdmainutils)
|
|
* [> util-linux GitHub](https://github.com/karelzak/util-linux)
|
|
|
|
are included:
|
|
|
|
* col
|
|
* colcrt
|
|
* colrm
|
|
* column
|
|
* findfs
|
|
* findmnt
|
|
* hexdump
|
|
* look
|
|
* lsblk
|
|
* lscpu
|
|
* lsipc
|
|
* lslocks
|
|
* lsns
|
|
* ncal
|
|
* setterm
|
|
* whereis
|
|
|
|
Other shell utilities
|
|
|
|
* aapt [> eLinux Wiki](http://elinux.org/Android_aapt)
|
|
* less [> Website](http://www.greenwoodsoftware.com/less/)
|
|
* lessecho
|
|
* lesskey
|
|
* unzip [> Website](http://www.info-zip.org/UnZip.html)
|
|
|
|
#### GNU Bash and GNU Nano
|
|
|
|
NanoDroid includes GNU Bash shell and the GNU Nano terminal editor.
|
|
|
|
* [> GNU Bash Website](https://www.gnu.org/software/bash/bash.html)
|
|
* [> GNU Nano Website](https://www.nano-editor.org/)
|
|
|
|
### microG
|
|
|
|
microG is an Open Source replacement for Google Services, full details can be found at the microG homepage [> Website](http://microg.org/)
|
|
|
|
NanoDroid includes microG as follows
|
|
|
|
* microG GmsCore [> GitHub](https://github.com/microg/android_packages_apps_GmsCore) and Play Store [> APK Mirror](https://www.apkmirror.com/apk/google-inc/google-play-store/) modified to allow (in-)app purchases
|
|
* with **Déjà Vu** location provider backend [> F-Droid](https://f-droid.org/de/packages/org.fitchfamily.android.dejavu/)
|
|
* with **Mozilla** location provider backend [> F-Droid](https://f-droid.org/repository/browse/?fdfilter=mozilla&fdid=org.microg.nlp.backend.ichnaea)
|
|
* with **Nominatim** adress provider backend [> F-Droid](https://f-droid.org/repository/browse/?fdfilter=nominatim&fdid=org.microg.nlp.backend.nominatim)
|
|
* with **microG** GsfProxy [> GitHub](https://github.com/microg/android_packages_apps_GsfProxy)
|
|
* with **microG** DroidGuard Helper [> GitHub](https://github.com/microg/android_packages_apps_RemoteDroidGuard)
|
|
* required for SafetyNet support
|
|
* support for Maps API version 1
|
|
* support for Google Calendar and Contacts Sync
|
|
* disabled by default
|
|
* optional Swipe libraries
|
|
* disabled by default
|
|
* choose between official **Play Store** or unofficial **Yalp Store** [> F-Droid](https://f-droid.org/repository/browse/?fdfilter=yalp&fdid=com.github.yeriomin.yalpstore)
|
|
* **Yalp Store** can use system permissions to install packages, so you don't need to enable `Unknown Sources`
|
|
* got to **Yalp Store** > Settings > Installation Method > `Using system permissions`
|
|
* Play Store is modified to allow (in-)app-purchases with microG
|
|
* if `com.qualcomm.location` exists it will either be
|
|
* pseudo-debloated (in Magisk Mode)
|
|
* moved to /sdcard (in System Mode)
|
|
* it conflicts with microG's location backend
|
|
|
|
### F-Droid and Applications
|
|
|
|
F-Droid [> Website](http://www.fdroid.org) is an app store for Open Source applications.
|
|
|
|
NanoDroid includes both F-Droid and it's Privileged Extension [> F-Droid](https://f-droid.org/repository/browse/?fdfilter=f-droid&fdid=org.fdroid.fdroid.privileged), so you don't need to enable `Unknown Sources`.
|
|
|
|
Additionally NanoDroid includes a variety of applications, check full details [> GitHub](doc/Applications.md)
|
|
|
|
### The Legend of Zelda ringtones and sounds
|
|
|
|
NanoDroid includes **The Legend of Zelda** [> Nintendo](http://www.zelda.com/) ringtones and sounds, because it's dangerous to root alone.
|
|
|
|
Full [> Details](doc/ZeldaSounds.md)
|
|
|
|
## Installation
|
|
|
|
### Alter Installation
|
|
|
|
NanoDroid supports altering the installation settings to a certain degree.
|
|
|
|
Full [> Details](doc/AlterInstallation.md) on altering installation manually, or use the Setup Wizard (if you've got an arm/arm64 device).
|
|
|
|
### Installation Process
|
|
|
|
#### NanoDroid
|
|
|
|
* Use Setup Wizard to create configuration files (if you've got an arm/arm64 device), or create manually (see above)
|
|
* Download pre-built zip or create one from this repository
|
|
* perform full wipe (/system, /data, /cache, Dalvik/ART cache)
|
|
* recommended, but not required
|
|
* install desired ROM
|
|
* make sure it does **not** include GApps if you want to use microG
|
|
* either pre-patched with signature spoofing support or **deoxeded** so you can patch yourself (instructions follow)
|
|
* install **Magisk**
|
|
* recommended, but not required
|
|
* if **Magisk** is installed, NanoDroid will be installed as Magisk-Module, else it will install into `/system` directly
|
|
* install desired Kernel (if any)
|
|
* install **NanoDroid**
|
|
* reboot into ROM
|
|
|
|
#### microG
|
|
|
|
##### Signature Spoofing Support
|
|
|
|
For **microG** to work, your ROM needs to have signature spoofing enabled (or a **deodexed** ROM to patch yourself).
|
|
|
|
If your ROM does **not** have signature spoofing support, you can manually patch it either
|
|
* flashing the on-device Patcher zip
|
|
* it also installs an addon.d script that auto re-patches the ROM upon update
|
|
* running the `framework-patcher` script
|
|
* use from your PC or laptop while your device is in TWRP. This shell script for GNU Bash (and compatible shells) works on unixoid operating systems like GNU/Linux, BSD or MacOS. It automizes the process of downloading Haystack [> GitHub](https://github.com/Lanchon/haystack), pulling files from phone, patching and installing the modified `services.jar` on the device.
|
|
|
|
Both patchers support installing the patched `services.jar` into the following locations:
|
|
* NanoDroid Magisk Module
|
|
* NanoDroid-microG Magisk Module
|
|
* directly into `/system`
|
|
|
|
So you can use them regardless whether you're using NanoDroid or not.
|
|
|
|
##### microG Setup
|
|
|
|
Once your ROM supports signature spoofing, you need to setup microG like this
|
|
* go into **microG settings** and set up everything like:
|
|
* check results in **Self-Check**, grant missing permissions (by tapping on them)
|
|
* especially the **Battery Optimization** item
|
|
* enable **Google device registration**
|
|
* enable **Google Cloud Messaging** (only if you want to receive push messages from your applications)
|
|
* enable **Google SafetyNet** (required for applications that utilize SafetyNet, for example Pokémon GO, ...)
|
|
* '...' menu > set to use the **Official Server**
|
|
* in **UnifiedNlp Settings** choose
|
|
* **Déjà Vu** or **Mozilla** as Geolocation backend
|
|
* **Nominatim** as Address lockup backend
|
|
* after everything is done, reboot
|
|
* go to **Play Store**, setup account and install your apps
|
|
|
|
## License & Credits
|
|
|
|
My own work (NanoDroid itself) is licensed under the GNU General Public License version 3 or newer [> GNU](https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
For more details (including authors and license) on every provided application or Software press the link next to it.
|
|
|
|
Additional credits go to
|
|
|
|
* Mar-V-In for microG
|
|
* topjohnwu for Magisk
|
|
* Lanchon for dexpatcher and haystack
|
|
* osm0sis for GNU Nano build
|
|
* shadow53 for automatic apk grabbing base code
|
|
* ale5000 for microG system permission files
|
|
|
|
Special Thanks to the beta testers
|
|
|
|
* xenithorb
|
|
* ShapeShifter499
|
|
|
|
## Issues
|
|
|
|
List of known issues
|
|
|
|
* SafetyNet check fails with `Google Play Services not available`
|
|
* you did not setup microG (or did not reboot afterwards)
|
|
* Play Store lacks fake signature spoofing permission
|
|
* on ROMs like **crDroid** or **OmniROM**, that have built-in signature spoofing, in some cases the Play Store is not granted that permission automatically, to fix this either
|
|
* issue the command `nanodroid-overlay --permission` as root
|
|
* go to Settings > Apps > Gear Icon > App Permissions > `Signature Spoofing` > Enable for Play Store
|
|
* Google Sync adapters lacking permissions
|
|
* to fix this either
|
|
* issue the command `nanodroid-overlay --permission` as root
|
|
* go to Settings > Apps > Google Contacts/Calendar Sync > Permissions > grant permissions
|
|
* Battery Drain
|
|
* microG fails to register applications to GCM (Google Cloud Messaging) if they were installed **before** microG, but the apps keep trying to register and that causes the battery drain, all apps installed **after** microG are properly registered, to fix the battery drain either
|
|
* do a clean flash of your ROM (, Magisk) and NanoDroid and install your apps after microG setup
|
|
* uninstall and re-install all your applications (backup application data if required)
|
|
* microG lacks features
|
|
* if you use AppOps, PrivacyGuard or the like you have to grant microG GmsCore **all** permissions, if you prevent some permissions, some apps or features might not work as expected or not at all. Note: some APIs/features are stubs in microG GmsCore, meaning they exist that apps don't complain, but they do nothing - thus blocking microG GmsCore is pretty much of no benefit.
|
|
|
|
Additional helpful information in the microG [> Wiki](https://github.com/microg/android_packages_apps_GmsCore/wiki/Helpful-Information).
|
|
|
|
## TODO
|
|
|
|
* better error handling in **on-pc** framework-patcher
|
|
* split installer code into module-specific and non-module-specific to prevent duplication
|
|
|
|
## FAQ
|
|
|
|
```
|
|
Q: will there be a GApps version, instead of microG?
|
|
A: no. but you can choose not to populate microG.
|
|
|
|
Q: what devices is this tested on?
|
|
A: Moto X Play (lux), Nexus 6 (shamu)
|
|
|
|
Q: what ROMs was this tested on?
|
|
A: LineageOS, Resurrection Remix, AICP, AOSP Extended, crDroid, should work on any LineageOS / AOSP based ROM that is working with Magisk.
|
|
```
|