[Magisk] Setialpha:
NanoDroid 22.7 "The Velvet Machine"

Hi everyone,

version 22.7.20200829 "The Velvet Machine" (finally not a Star Trek Starship Codename! - "The Velvet Machine" is an album by Neal Acree, I highly recommend giving it a shot and probably buy it at bandcamp).

Highlights

Full Android 10 compat (many issues resolved)

Full Android 10 compat for Patcher (services.jar must be deodexed, though)

Support flashing of all modules (including the Patcher!) through Magisk Manager (requires Magisk 19.0 at minimum)

build-package previously only worked in GNU/Linux, will now work on *BSD and Darwin (= MacOS) aswell

Patcher installs services.jar into on Magisk Module (if Magisk is found, no longer inside other NanoDroid modules)

Included MPV build now supports youtube-dl

Included GNU Bash has been greatly improved

Fixed several issues

Many internal improvements

Usual updates

Configuration Changes

1) Full package switched from Oandbackup to OAndBackupX (you'll be auto-migrated)

2) You can now install Play Store and Aurora Store (+ Aurora Services) together by using

nanodroid_play=30

3) You can now install official F-Droid and Aurora F-Droid clients (+ F-Droid Privileged Extension / Aurora Services) together by using

nanodroid_fdroid=3

4) You can now choose which init scripts to install by removing unwanted ones from the list

nanodroid_init="10_sqlite 20_fstrim 30_logcat 40_external_sd 50_logscleaner"

5) You can now choose which shell utils to install by removing unwanted ones from the list (the column utility will always be installed, as it's required by nanodroid-overlay script)

nanodroid_utils="findfs findmnt hexdump lessecho lesskey lsblk lscpu lsipc lslocks lsns ncal whereis"

6) You can select all new/changed stuff from Setup Wizard aswell, of course

Full ChangeLog since 22.6

## 22.7.20200829 "[The Velvet Machine](https://nealacree.bandcamp.com/album/the-velvet-machine)"

### Important Note

Starting with this release the Patcher will no longer install the patched `services.jar` and the companion
`org.spoofing.apk` into the NanoDroid or NanoDroid_microG Magisk Modules, instead it will install both files
into it's own NanoDroid_Patcher Magisk Module, which makes it easier to disable or remove the module in case
it doesn't properly work.

The one-time downside is, that when upgrading the NanoDroid or NanoDroid-microG Magisk Modules the patched
`services.jar` and `org.spoofing.apk` will **no longer be preserved**! So if you intent to upgrade NanoDroid
to 22.7 and are on a self-patched ROM, you **have to reflash** the Patcher in order to retain
`FAKE_PACKAGE_SIGNATURE` permission.

This is only required once, because later on the patched file resides in it's own module. System Mode install
for the Patcher is of course still supported and will be done if Magisk wasn't found on your device.

### Bug Fixes

* SetupWizard
* when selecting no apps create empty config file (working around an uncommon corner case)
* when one selects no apps but still activates "install apps", the installer would install all apps

* Patcher
* drop `-Xnodex2oat`from `dalvikvm` flags to avoid crashes on Android 10
* falsely listed as supported flag by `dalvikvm --help`

* Installer
* fix bootloops with recent Play/GmsCore on Android 10 due to changed privapp-permissions

* SysTest
* fix collecting `dalvikvm` information on some recent ROMs
* fix logging block devices for `/system` and `/vendor`

* Installer, Patcher, SysTest, Uninstaller
* improved APEX compatibility
* improved Android 10 compatibility
* improve detection of block devices for `/system` and `/vendor`

* Installer, Patcher, SysTest
* also detect whether ROM has `FAKE_PACKAGE_SIGNATURE` permisson on self-patched ROMs
* don't pollute logs with magisk mounts

* Google Package
* fix GoogleCalendarSync on SDK 21 - 29 @Spongebob
* fix installing swipe libraries in cases where `LatinIME` does not have it's libs linked to `/system`

* build-package Script
* Darwin compatibility
* BSD compatibility
* fix `build-package clean` not properly working

### General Changes

* Installer
* Installing through Magisk Manager is possible again (atleast 19.0 required, 20.4 highly recommended)
* setup variable `nanodroid_init` is now a list `nanodroid_init="10_sqlite 20_fstrim 30_logcat 40_external_sd 50_logscleaner"`
* all listed init scripts will be installed
* setup variable `nanodroid_utils` is now a list `nanodroid_utils="findfs findmnt hexdump lessecho lesskey lsblk lscpu lsipc lslocks lsns ncal whereis"`
* all listed utils will be installed
* the `column` util will always be installed (required by `nanodroid-overlay`)
* various internal improvements

* Full Package
* switch from `Oandbackup` to `OAndBackupX`
* changes to the GNU Bash shell included:
* include patches from Debian GNU/Linux
* set default `PATH` to `/sbin:/system/sbin:/product/bin:/product/xbin:/apex/com.android.runtime/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:.`
* set `DEFAULT_UTILS_PATH` to `/sbin:/system/sbin:/product/bin:/product/xbin:/apex/com.android.runtime/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/etc:/apex/com.android.runtime/etc:/system/etc`
* set `SYS_BASHRC` to `/system/etc/bashrc`
* set `SYS_BASH_LOGOUT` to `/system/etc/bash_logout`
* set `SYS_PROFILE` to `/sdcard/bash_profile`
* set `DEFAULT_BASHRC` to `/sdcard/bashrc`
* changes to the MPV build included:
* merged youtube-dl support (see [this pull request]([url]https://github.com/mpv-android/mpv-android/pull/58[/url]))
* merged preference to extend video in the cutout area (see [this pull request]([url]https://github.com/mpv-android/mpv-android/pull/296[/url]))

* Full, microG package
* setup variable `nanodroid_play` has new value `30` which will install both Play Store and Aurora Store
* use own DroidGuard instead of Official, as long as there's no release

* Full, F-Droid package
* setup variable `nanodroid_fdroid` has new value `3` which will install both official and Aurora Store F-Droid clients
* installs F-Droid priviledged extension and Aurora Services alongside

* Patcher
* Patching through Magisk Manager is possible (atleast 19.0 required, 20.4 highly recommended)
* instead of installing patched files into the NanoDroid or NanoDroid_microG Magisk Modules the files will be installed in own NanoDroid_Patcher Magisk Module
* that is if Magisk was found on the device, else System Mode installation is done, as before
* remove restriction for Android 10
* use Android 7 - 9 patch for Android 10
* collect APEX information in log
* create `BOOTCLASSPATH` on-the-fly and log it
* experimental: use newly proposed Haystack patches, see [url]https://github.com/Lanchon/haystack/pull/34[/url]
* various internal improvements

* Addon, Patcher Addon
* improve System Mode addon.d scripts

* SysTest
* check and log LD_CONFIG_FILE
* log loaded APEX modules
* log boot slot
* don't pollute Magisk Manager with logs, we create a logfile
* cosmetic changes to generated logfile

* Patcher, Uninstaller
* drop old code regarding NanoMod (= NanoDroid older than version 16.0)

* Setup Wizard
* updated for aforementioned changes
* other minor changes

* build-package Script
* a bit more info when `BP_DEBUG=1` is passed over

* Documentation
* minor updates

### Updates

* automatic
* microG GmsCore (0.2.11.202414)
* microG Droidguard Helper (0.1.2) [custom build]
* note: SafetyNet attestation still does not work with microG!
* AnySoftKeyboard (1.10.1109)
* Aurora Droid (1.0.6)
* Aurora Services (1.0.6)
* Aurora Store (3.2.9)
* Bromite System WebView (85.0.4183.82)
* F-Droid (1.10-alpha0)
* Frost (2.4.5)
* K-9 Mail (5.717)
* KeePassDX (2.8.2)
* NewPipe (0.19.8)
* OAndBackupX (3.0.0)
* Odyssey (1.1.19)
* Open Camera (1.48.2)
* OpenLauncher (0.7.3)
* OpenVPN (0.7.17a)
* OsmAnd+ (3.7.4)
* Privacy Browser (3.5)
* Simple Calendar (6.10.0)
* Simple Gallery (6.15.2)
* SmartPack Kernel Manager (12.8)
* Termux (0.96)
* Tor Browser (68.12.0)
* Twidere (4.1.4)

* manual
* GNU Bash (5.1~alpha1)
* Google Play (20.9.20)
* MPV (20200828-nightly)

* tools
* sqlite3 (3330000)
* smali (2.4.0) [SDK26+]
* baksmali (2.4.0) [SDK26+]
* file (5.38-5)
* dexpatcher (1.8.0-beta1) [SDK26+]
* aapt [from Substratum 1021]

Download links

Download from Nanolx.

Bug reporting

In case of errors, please provide

when installing from TWRP

/data/media/0/nanodroid_logs/MODID_log_INSTALLDATE

/data/media/0/nanodroid_logs/MODID_twrp_INSTALLDATE

when installing from Magisk Manager

/data/media/0/nanodroid_logs/MODID_log_INSTALLDATE

press the save icon and post the Magisk Manager created logfile aswell

SysTest package logfile

logcat (if applicable)