[MODULE/SYSTEM] NanoDroid 23.1.2.20210117 (microG, pseudo-debloat, F-Droid + apps)

Search This thread

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
OnePlus 7T

Nope, I don't know, but it has been reported upstream, aswell. See: https://github.com/microg/android_packages_apps_GmsCore/issues/666 You may post a logcat there.

Hi, I'm interested in your NanoDroid-microG module.

My TWRP doesn't support AROMA installer. Is that alright? What files should I modify if I want to choose a few options, like the store I want for example, or location provider backend?

Also, do you know if there's a way to know what apps use GCM? Because I'm using Titanium Backup and I guess for these apps using GCM it's either to clean install them.

EDIT: with greenify it's possible to see what apps use GCM. There are actually so many, even when they shouldn't use it. But for most of them I don't need to have instant notifications.

Inside each zip is the fallback configuration file, you can extract it and modify it, then save it in either

a) /sdcard/
b) /data
c) the same directory as the zip file

As mentioned in the 20.3 beta announcement post the syntax for two variables changed with the beta, so for further advice I need to know which one you use (stable or beta).

Also if the doc say: nanodroid_something=[0|1] then it means you have the following choices

a) nanodroid_something=0
b) nanodroid_something=1

for on-off variables 0 = disabled, 1 = enabled, else the meaning is further described in the docs. If the docs (for the beta) say: nanodroid_something=[0|1][0|1] then it means you have the following choices

a) nanodroid_something=00
b) nanodroid_something=10
c) nanodroid_something=01
d) nanodroid_something=11

where each element (digit) as it's own meaning, which is further described in the docs, so what you posted nanodroid_something=2 1 will be nanodroid_something=2 (everything past be space is ditched).

Again depends on whether you're going to use the beta or stable.

hi, for some reason i cant download this module, after 5 seconds the speed starts to fall down quickly to a full stop, i've tried downloading it with jdownloader, and from the opera and chrome browsers with or without a vpn and still not able to finish a download, does anyone have a mirror for the NanoDroid-20.2a.20181122.zip file?

No problem here downloading from Nanolx, AFH recently often has slow mirrors.

Did something change in droid guard ? Last time I had tried droid-guard, I had to make it a priv-app in an AOSP build. What needs to be done to make it work without priv-app ?

Works here as system/app + user-app (udpate), but fails for some as priv-app.
 

Tomatot-

Senior Member
May 11, 2012
1,589
1,505
143
OnePlus 6
Nope, I don't know, but it has been reported upstream, aswell. See: https://github.com/microg/android_packages_apps_GmsCore/issues/666 You may post a logcat there.



Inside each zip is the fallback configuration file, you can extract it and modify it, then save it in either

a) /sdcard/
b) /data
c) the same directory as the zip file

As mentioned in the 20.3 beta announcement post the syntax for two variables changed with the beta, so for further advice I need to know which one you use (stable or beta).

Also if the doc say: nanodroid_something=[0|1] then it means you have the following choices

a) nanodroid_something=0
b) nanodroid_something=1

for on-off variables 0 = disabled, 1 = enabled, else the meaning is further described in the docs. If the docs (for the beta) say: nanodroid_something=[0|1][0|1] then it means you have the following choices

a) nanodroid_something=00
b) nanodroid_something=10
c) nanodroid_something=01
d) nanodroid_something=11

where each element (digit) as it's own meaning, which is further described in the docs, so what you posted nanodroid_something=2 1 will be nanodroid_something=2 (everything past be space is ditched).

Again depends on whether you're going to use the beta or stable.



No problem here downloading from Nanolx, AFH recently often has slow mirrors.



Works here as system/app + user-app (udpate), but fails for some as priv-app.

Thank you so much for your detailed explanation.
 

Tomatot-

Senior Member
May 11, 2012
1,589
1,505
143
OnePlus 6
So I'm using this installer: NanoDroid-microG-20.2a.20181122.zip

Here is my config:
Code:
nanodroid_gmscore=1
nanodroid_play=21
nanodroid_overlay=0
nanodroid_mapsv1=1
nanodroid_gsync=0
nanodroid_swipe=0
nanodroid_forcesystem=0
nanodroid_nlpbackend=110

Is there something wrong in it?
I've run the uninstaller, then the installer with this config, and it seems to ignore the lines where I put two numbers:
-I don't have a store nor YALP
-I don't have any of the nanodroid_nlpbackend

Is there something I'm doing wrong? Or does the template work for the beta now?

Thank you for your time...
 

Tomatot-

Senior Member
May 11, 2012
1,589
1,505
143
OnePlus 6
that config is for beta version.
stable will use older way I guess.

Yeah I figured this out. But then what's the old syntax way?

Also, I tried the same config with beta but it makes my phone bootloop. :/


EDIT : ok I managed to find the history of the file and so now I should have the right syntax. Thanks anyway.
 
Last edited:

silkshadow

Senior Member
Jun 1, 2007
193
12
0
Just wanted to report a possible bug/incompatibility with this and Lastpass. To note I don't use Lastpass as my password manager (untrustworthy and garbage company since it got bought) but one of my clients uses it so I have to.

On Note 9 LineageOS 15.1, I flashed Magisk, Nanodroid, and Xposed. Set it up and played with it for 2 days and discovered that Lastpass crashes ( "Lastpass has stopped" error) right after opening. Besides having to force stop and wipe the Play store every couple times it gets opened, Nanodroid was performing great (love it).

Tried AICP (android 8.1), flashed Magik, Nanodroid, and Xposed. Setup quickly, went online downloaded Lastpass first thing and it also crashes right after opening, same as on LOS.

I've now tried both LOS and ACIP but flashed ROM, Magisk, Opengapps and Xposed instead just to see if that was the issue. Lastpass works fine with both ROMs in this scenario. Far from conclusive, but it does point to a possible incompatibility. I'm, sticking with Nanodroid and just using Lastpass in Firefox for now.
 

Tomatot-

Senior Member
May 11, 2012
1,589
1,505
143
OnePlus 6
It's weird
That's my current setup with the last stable:

0) Wipe data.
1) Flash ROM
2) Flash recovery (normal A/B procedure)
3) Reboot recovery
4) Flash NanoDroid-microG-20.2a.20181122
Code:
nanodroid_gmscore=0
nanodroid_play=4
nanodroid_overlay=0
nanodroid_mapsv1=1
nanodroid_gsync=0
nanodroid_swipe=0
nanodroid_forcesystem=0
nanodroid_nlpbackend=3
nanodroid_nlpbackend=3
I've also tried
Code:
nanodroid_forcesystem=1
and it seems the script doesn't work well with Magisk. If Magisk is installed, my device boots. If the nanodroid is installed, my phone boots. But if I install both I get a bootloop. Any idea?

EDIT: more information:
So I've tried this setup:
Code:
nanodroid_gmscore=0
nanodroid_play=4
nanodroid_overlay=1
nanodroid_mapsv1=1
nanodroid_gsync=0
nanodroid_swipe=0
nanodroid_forcesystem=1
nanodroid_nlpbackend=3

Here is what shows on my screen: https://i.imgur.com/rvpR8U0.png

See in attachemnt the logs.

If I open the setup file again, that's how it looks:
Code:
nanodroid_gmscore=0
nanodroid_play=4
nanodroid_overlay=1
nanodroid_mapsv1=1
nanodroid_gsync=0
nanodroid_swipe=0
nanodroid_forcesystem=1
nanodroid_nlpbackend=3nanodroid_fdroid=1
nanodroid_microg=1
nanodroid_apps=1
nanodroid_zelda=1
nanodroid_init=1
nanodroid_bash=1
nanodroid_nano=1
nanodroid_utils=1
nanodroid_fonts=1
nanodroid_override=0

When I reboot, sometimes i just go back to TWRP (like at the time I'm writing), sometimes I have a bootloop, and once I booted but I didn't have any of the apps installed.

EDIT 2: using the beta nanodroid leads to the same result: I just boot to TWRP.

I don't even know how I managed in the first place to make it work, when it wasn't even written properly lol.
 

Attachments

  • NanoDroid_FileList.txt
    883 bytes · Views: 0
  • NanoDroid_microG_log_20181130_00.29.00.txt
    829 bytes · Views: 0
  • NanoDroid_microG_twrp_20181130_00.29.00.txt
    45.1 KB · Views: 0
Last edited:

bege10

Senior Member
May 26, 2018
165
39
38
Germany
a beta release for 20.3 (internal version number 20.2.90) is now available.

  • move DroidGuard Helper from priv-app to app

Can this version be flashed over 20.1 or do I need to uninstall first?

With the F-Droid repo active and no apps from the NanoDroid package installed, do I need to install every full NanoDroid version or is updating via F-Droid enough?
 

Apex Predator

Senior Member
Oct 15, 2011
239
160
63
Can this version be flashed over 20.1 or do I need to uninstall first?

With the F-Droid repo active and no apps from the NanoDroid package installed, do I need to install every full NanoDroid version or is updating via F-Droid enough?

You can flash over old versions, no need to uninstall.

Technically you can just keep using F-Droid for package updates (microG etc), that's what I've been doing. I do use apps from NanoDroid, but they also update via F-Droid.

The change in your quote for example wouldn't be applied with an F-Droid update though. You'd have to move it manually, probably easier to just flash the whole package, less messy.

When there's a big update/something new/flashing a ROM update, I'll get the full package, as was the case last week.
 
Last edited:
  • Like
Reactions: bege10

demonoidmaster

Senior Member
Nov 19, 2015
1,029
331
103
Thank you for answer. DroidGard Helper is moved by flashing the new version over the old one?
If the only thing changing is that app moving from priv-app to app, flash it and see if it's present in the new folder, then go look in priv-app and if it's still there too just delete the droidguardhelper folder

Or, manually move the droidguard helper folder from /system/priv-app to /system/app first then flash the zip
 
  • Like
Reactions: bege10

LSS4181

Senior Member
Mar 13, 2012
388
123
63
Again wiped everything

- flashed NanoDriod-microG
- trying to flash Bromite


Code:
******************************
Powered by Magisk (@topjohnwu)
******************************
 
 > setup Magisk environment
- Found /data/adb/magisk.img
e2fsck 1.43.3 (04-Sep-2016)
I:Found no matching fstab entry for uevent device '/devices/virtual/block/loop7' - change
- Resizing /data/adb/magisk.img to 320M
I:Found no matching fstab entry for uevent device '/devices/virtual/block/loop7' - change
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/data/adb/magisk.img: 88/28672 files (1.1% non-contiguous), 10354/16384 blocks
resize2fs 1.43.3 (04-Sep-2016)
Please run 'e2fsck -f /data/adb/magisk.img' first.

Resize /data/adb/magisk.img to 320M
e2fsck 1.43.3 (04-Sep-2016)
I:Found no matching fstab entry for uevent device '/devices/virtual/block/loop7' - change
- Mount /data/adb/magisk.img to /dev/tmp/magisk_img
 << with Bromite WebView
    creating overlay for webview
    installing app: BromiteWebView_arm64
cp: write error: No space left on device
 !!
failed to install /dev/tmp/install/system/app/BromiteWebView_arm64/BromiteWebView_arm64.apk to /dev/tmp/magisk_img/NanoDroid_BromiteWebView/system/app/BromiteWebView
 !!
- Unmounting partitions
I:Found no matching fstab entry for uevent device '/devices/virtual/block/loop7' - change
__bionic_open_tzdata: couldn't find any tzdata when looking for CST6CDT,M3.2.0,M11.1.0!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
cat: can't open '/dev/tmp/install/.nanodroid-overlay': No such file or directory


cp: write error: No space left on device

like, really?

Edit:

Reinstalled everything (aka full wipe and flash again) 5 times, everytime Bromite fails to install, location is not working and can't open play store cause it crashes... (microG package, bromite, fdroid)

I'm having this issue as well with XZ Premium (CarbonROM 6.1), TWRP 3.2.3, NanoDroid 20.2, just recently (it never happened before). It seems to be some filesystem-related issue.

After instaling Magisk, when I first install NanoDroid full package will succeed. However, the subsequent installs (such as Bromite WebView) would fail because for some reason after flashing NanoDroid resize2fs would see magisk.img as damaged, telling me "Please run e2fsck -f magisk.img first."

However, at this point the img file has been expanded, but the actual file system is not. Also, trying to do "e2fsck -f magisk.img" as instructed would not find any error, and does not fix the error message.

Manually forcing a resize (e.g. resize2fs -f magisk.img 600M) would allow it to install. After resizing, occasionally there would be an inode error when running e2fsck -f magisk.img.
Shrinking would fail again, with the same aforementioned message, so I ended up having to manually shrink the partition using "resize2fs -f" as well (and of course, run e2fsck -f magisk.img just in case).

On the other hand, it seems the Bromite package is not be stable enough on a "user" ROM. Some apps would crash whenever it tries to access WebView related functions. On "user" ROM it might also be checking the WebView APK's signature. On my Pixel C running a Lineage OS 16.0 "userdebug" ROM it's working fine.

And DANGER: Trying to update Bromite WebView from F-Droid could result in bootloop. On my XZ Premium with CarbonROM ("user" ROM) I learned this lesson the hard way. At first it tried to update and failed, and second time, it seemed to succeed, a dialog popped up for a very brief moment that I really didn't see what was written on it, then it went into a bootloop for a few seconds then rebooted to TWRP. I couldn't do anything at this point, so I ended up restoring a backup I did a few days ago when I tried to update from NanoDroid 19 to NanoDroid 20 (and before trying Bromite WebView).

EDIT: It seems manually reinstalling the Bromite System WebView package as user app on top of the Bromite WebView module fixed the issues I've been encountering on my phone. The apps don't crash anymore, so it's probably that by installing the System WebView as user app, other apps would be able to load the libraries directly from APK.

It doesn't appear to be related to whether the ROM is "user" or "userdebug". Some ROMs do require such a step to make other apps properly detect the substituted WebView, while on other ROMs it works out-of-box.
 
Last edited:

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
OnePlus 7T
@LSS4181 are you using Magisk 17.3 it's a bug several users already have suffered, including myself but the recent versions seem to have fixed it for me. At least on the ROMs I've tested Bromite WebView works in all cases, but yes, compatibilty can't be garanteed.

*snip*

Also, I don't get all theese questions, if you have you to use the UNINSTALLER before an UPDATE. Of course not, else it would be called Updater, not Uninstaller *sigh*. Or do you remove your ROM/WhatsApp/Firefox/Whatever before an update? No.

Also given on a fresh installation - as opposed to updates - the GApps removal mechanism is triggered. As you all know microG packages have the same package names as GApps packages. Thus logically you're going to kill your microG setup, most noticeably GCM registrations, when using the UNINSTALLER before an "update"; as it then of course is NO update, but a FRESH installation, obviously, as you removed anything that could have been updated...

I don't understand this question in first place, honestly.
 
Last edited:
  • Like
Reactions: marcdw

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Im in the exact same position as you, with exactly the same device and the exact same problem.
    Im almost going insane trying to get this to work all day!

    The Installation of "NanoDroid-FULL" of "NanoDroid-microG" does only result in bootable device if:
    • No .nanodroid-setup file is present
    • OR "nanodroid_play=01" in the .nanodroid-setup file
    The Installation of "NanoDroid-FULL" of "NanoDroid-microG" does result in unbootable device and boot loop if:

    • A .nanodroid-setup file is present
    • AND "nanodroid_play=10" in the .nanodroid-setup file

    @Setialpha Can you please help? I saw that this issue https://gitlab.com/Nanolx/NanoDroid/-/issues/176 got closed when its unfixed and still relevant.
    Tried alternative installers? Like https://github.com/friendlyneighborhoodshane/minmicrog_releases/
    1
    Hurrah!!! Thank you a lot!!! It worked I did not realise that I can tell Magisk where the files are stored - so Magisk excepted to flash files which have been stored on the external SD Card. Even the patcher worked!!! I'm so happy finally something worked after the mess with the Bootloader and the recovery
    1
    Please allow me to directly seek for your expertise as unfortunately the XDA search is still broken yet. And a web search didn't provide a suitable answer. And actually, my question is only out of curiousity as everything is perfectly working.

    When has the Google Play Store modified/patched by @Setialpha last been updated.

    My latest update is from end of July 2020; version as shown in screenshots. The Nanodroid F-droid repo is added to F-droid and was last checked for updates three days ago. However, I'm not even sure if the modified GPS is available via that repo.
    View attachment 5256827View attachment 5256829View attachment 5256831View attachment 5256833
    I had the same issue, when freshly installing last nanodroid 23.1.2.20210117. I fixed it by simply removing the fdroid repo and adding it back.

    I had issues on microg asking for background location permission and since the fix was to install gmscore.apk as a user app the easiest way (and the way it worked) was to update the app via the fdroid repo.
    I guess there is something misconfigured in microg repo in nanodroid.
    1
    nanodroid google sync does not support android 11.

    any solution or alternative?
    1
    By flashing in recovery? Because as I mentioned it didn't work through Magisk. However my question was regarding a more automated updating process - I'm okay to wait (for Aurora to be updated) if that means Magisk will remind me (of Nanodroid updates).
    No, Magisk will never remind you as the NanoDroid modules aren't part of the Magisk repo. Personally, I always flash my desired NanoDroid modules via TWRP and never by Magisk as there were severe issues in the past (maybe device, maybe ROM related IDK). And I assess to just boot into recovery and to flash it from there not to be a big issue.
  • 346
    NanoDroid

    NanoDroid is a installer for various OpenSource related things, most noticably microG and F-Droid. It supports direct /system installation, both devices with or without A/B partition scheme, aswell as Magisk Mode (module) installation. It also includes several tools (eg. GNU Bash, shell utilities, more), scripts, fonts, sounds and additional features (system debloating, init scripts, automatic logcat creation), aswell as a companion F-Droid Repository.

    Furthermore it allows the user to do fine-graded installations using configuration files, which allow to choose what to install, or if several alternatives are available, which of them, see "Alter Installation" in the full documentation (link at the end of this post).

    In order for full microG experience NanoDroid contains a modified Play Store which allows (in-)app-purchases with microG, which would normally not be possible. It also tries to remove all previously installed GApps on it's own. For ROMs without builtin signature spoofing support NanoDroid includes an on-device Patcher which tries to patch your ROM from TWRP.

    Versions until 15.1 were called NanoMod, starting with 16.0 they're called NanoDroid.

    NanoDroid does now have a companion F-Droid Repository for easy updates of Play Store (patched with (in-)app-purchase support) and MPV builds Repository Info-Page

    Current Release

    Stable: 23.1.1.20210117 "BusyCompat"
    Beta: --- (---)



    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)
    • 9.0 / SDK 28 (Pie)
    • 10.0 / SDK 29
    • 11.0 / SDK 30 (R)
      • Patcher does not work from TWRP
      • Patcher works from Magisk if your ROM's services.jar already contains classes.dex
      • Deodex Instructions
    earlier versions will never officially be supported (you may still report bugs, though).

    Future versions will be officially supported, eventually.

    Summary

    NanoDroid can be installed as a Magisk Module or directly to /system, though a bit functionality is only available with Magisk. It must be installed from TWRP!

    NanoDroid includes

    • microG and it's companions
      • on-device framework-patcher for microG support (signature spoofing)
    • F-Droid and it's privileged extension
      • modified Play Store to allow (in-)app-purchases with Magisk
        • alternatively Aurora Store can be installed instead
    • custom init scripts
    • pseudo-debloat feature
    • several Open Source applications
      • include replacements for the pseudo-debloated applications
      • full list of included applications
    Packages

    Magisk Modules

    Module packages, flashing through TWRP recommended, flashing through Magisk Manager possible starting with version 22.6.91 (22.7-beta2).

    • NanoDroid: includes
      • everything mentioned in the Summary
    • NanoDroid-microG: includes
      • microG and it's companions
      • GNU Bash
      • pseudo-debloat feature
      • app stores
    • NanoDroid-fdroid: includes
      • F-Droid and it's privileged extension
    • NanoDroid-BromiteWebView: includes
      • Bromite WebView
    • NanoDroid-OsmAnd: includes
      • OpenStreetMap for Android (OsmAnd+)

    Extras

    Extra packages, flashing through TWRP recommended, flashing through Magisk Manager possible starting with version 22.6.91 (22.7-beta2).

    • NanoDroid-pacher: includes
      • on-device framework-patcher (signature spoofing support)
    • NanoDroid-systest: includes
      • System Test script which generates a log to aid issue reporting
    • NanoDroid-uninstaller: includes
      • uninstalls all NanoMod/NanoDroid Magisk Modules
      • uninstalls NanoMod/NanoDroid installed in System Mode
      • uninstalls NanoMod/NanoDroid-Patcher addon.d environment

    The GitLab repository contains the full documentation with infos about

    • more detailed info what's included
    • detailed installation instructions
    • setup instructions for microG
    • list of known Issues (and fixes/workarounds)
    • more
    >> Full Documentation
    53
    I never had a look about how much users NanoDroid might have gotten meanwhile, but I checked the stats, just for fun. So, if you wanna know, I'm leaving this here.

    Just to make it clear: no personal information is stored, only basic stuff, like country of origin, Browser agent or what has been accessed, no tracking or profiling.

    All values from May 1st to May 24th, for HTTPS access only (HTTP access to my site is down to less than 5 %, so I didn't bother).

    NanoDroid (Zips):
    - Full/Stable: ~29.300 (!!)
    - Full/Beta: ~500
    - microG/Stable: ~16.500 (!!)
    - microG/Beta: ~1.000

    NanoDroid F-Droid repo:
    - F-Droid repo update checks: ~88.000
    - custom GmsCore installs: ~4.000
    - patched Play Store installs: ~3.500
    - unofficial MPV build installs: ~1.350

    Access by country (Zips):
    - unknown (unresolved, Tor, VPN, or unknown to statistic software): 52 %
    - Germany 5 %
    - Brazil 4 %

    Access by country (F-Droid):
    - unknown (unresolved, Tor, VPN, or unknown to statistic software): 30 %
    - Germany 11 %
    - Russia 4 %

    Top referers:
    - XDA
    - Miui Browser 'Hot'
    - 4PDA

    OMG, I'm working on a project which attracts more than 45.000 users (active users of course unknown). I never thought NanoDroid would become this huge.

    Thanks a lot for your ongoing support!
    42
    Hi everyone,

    I know I've been inactive for about 2 or 3 months here.

    Those who follow the git repository might already know that some groundbreaking work was going on since beginning of August.

    A new beta release 22.6.91 (= 22.7-beta2) will drop this weekend. What's to expect:

    - full support for Android 10 (many issues resolved)
    - full support for Android 10 **if deodexed** in the Patcher
    - flashing all Packages (except the Uninstaller, needs a few changes, still) through Magisk Manager, this includes the Patcher aswell (yes, yes!)
    - more. See ChangeLog.md for the full list.

    I won't go into reading the past 10+ pages, if there are any unresolved issues or questions, feel free to post them again (or in case of issues even better: create a ticket over at gitlab, with logs included).
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone