• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

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

Search This thread

andy356

Senior Member
Jul 5, 2016
1,303
566
For me installing the patched PlayStore with NanoDroid on a freshly installed LOS 18.1 always ended with an unbootable system (the LOS boot animation never completed).
Oh no! Thanks for the info. I'm not going to risk flashing until this problem gets solved... unless other people have been able to flash it successfully and it's a device specific problem?
 

ChaosNicro

Member
Jul 29, 2015
10
0
With the ROM images being filesystems packaged in a zip-file, could you not apply the modifications to the zip? Would that not get around the mounting/encryption problems of a running system. I'm trying to apply sigspoofing to an unofficial LOS build and would like to avoid root and Magisk.
 
Been using NanoDroid for a couple years and MicroG for longer. But here is the glaringly obvious problem:
states "GApps and several location services...are removed during NanoDroid installation using NanoDroid-Overlay."
So first rattle out of the can is bogus information. None of the packages listed in GAppsRemoval.md are found in .nanodroid-overlay! In fact, the overlay configuration file is for everything under the sun except the core gapps and location services. https://github.com/Nanolx/NanoDroid/blob/master/doc/.nanodroid-overlay
I can see how this thread could have been smaller and less messy if the documentation was remotely accurate.

To control what is removed, you have modify the CommonInstaller file starting on line 2067:

Code:
##########################################################################################
# Destroy all GApps!
##########################################################################################

gapps_solve_conflicts () {
    # first get rid of conflicting packages
    print_google_apps | while read app; do
        decho " ++ removing app: ${app} [google_apps]"
        ${NANODROID_BINDIR}/nanodroid-overlay --add ${app}

        rm -rf /data/dalvik-cache/*/system"@[email protected]${app}"[@\.]*@classes.*
        rm -rf /data/dalvik-cache/*/system"@[email protected]${app}"[@\.]*@classes.*
    done

    print_google_data | while read app; do
        decho " ++ removing data for: ${app} [google_data]"
        rm -rf /data/data/${app}
        rm -rf /data/user/*/${app}
        rm -rf /data/user_de/*/${app}
        rm -rf /data/app/${app}-*
        rm -rf /mnt/asec/${app}-*
        rm -rf ${STORAGE}/Android/data/${app}
    done
}

gapps_destroy_artifacts () {
    # this removes original Play Services
    # only if this is a fresh NanoDroid installation
    if [ "${NANODROID_UPGRADE}" -eq 0 ]; then
        rm -rf /data/dalvik-cache/*/system"@[email protected]"[@\.]*@classes.*

        print_google_data_dirty | while read app; do
            decho " ++ removing data for: ${app} [google_data_dirty]"
            rm -rf /data/data/${app}
            rm -rf /data/user/*/${app}
            rm -rf /data/user_de/*/${app}
            rm -rf /data/app/${app}-*
            rm -rf /mnt/asec/${app}-*
            rm -rf ${STORAGE}/Android/data/${app}
        done

        find /data/system* -type f -name 'accounts*db' 2>/dev/null | while read database; do
            decho "  ++ deleting Google Accounts from ${database} (if any)"
            ${INSTALLER}/sqlite3.${BIN_ARCH} ${database} \
                "DELETE FROM accounts WHERE type='com.google';"
        done

        find /data/system/users -type f -name 'runtime-permissions.xml' 2>/dev/null | while read file; do
            if grep -q "com.google.android" "${file}"; then
                decho "  ++ resetting permissions: ${file}"
                rm -f "${file}"
            fi
        done

        if [ -f /data/system/packages.list ]; then
            print_google_data_dirty | while read app; do
                decho "  ++ de-registering app: ${app} (if installed)"
                sed -e "/${app}/d" -i /data/system/packages.list
            done
        fi
    fi
}

##########################################################################################
# GApps debloat list
# mostly by @ale5000
# extended for NanoDroid
##########################################################################################

print_google_apps()
{
cat <<EOF
AMAPNetworkLocation
BaiduNetworkLocation
BlankStore
ConfigUpdater
GCS
GmsCoreSetupPrebuilt
GmsCore_update
GoogleFeedback
GoogleLoginService
GoogleOneTimeInitializer
GoogleServicesFramework
GoogleConnectivityServices
GoogleTTS
LegacyNetworkLocation
MarketUpdater
MarkupGoogle
NetworkLocation
Phonesky
PlayGames
PlayStore
PrebuiltGmsCore
PrebuiltGmsCorePi
PrebuiltGmsCorePix
UnifiedNlp
Velvet
Vending
WhisperPush
EOF
}

print_google_data ()
{
cat <<EOF
com.amap.android.location
com.baidu.location
com.google.android.location
org.microg.nlp
org.microg.unifiednlp
EOF
}

print_google_data_dirty ()
{
cat <<EOF
com.android.vending
com.google.android.gms
com.google.android.gsf
com.google.android.gsf.login
com.google.android.feedback
com.mgoogle.android.gms
EOF
}
 
Last edited:

einnarr

Member
Jan 26, 2021
13
3
Hello there,

as I installed LOS18 today on an Redmi 4x (santoni) together with Magisk (no GApps), I opted to install this Nanodroid-package via Magisk directly afterwards:

After reboot I found several apps being installed, which do not belong to LOS: e.g. Frost (Facebook Interface App)

As I do not use FB at all, I would like to uninstall Frost. However swiping the app symbol upwards to the top area the uninstall option does not appear.

Also in F-Droid - the app is listed as installed - no option for uninstall in the "managing apps section" is available.

What is the intended way to delete unwanted apps that come apparently with that NanoDroid package (now I also have 2 apps for: camera, calendar, SMS,...)?

Thanks.

cu,
einnarr
 

kurtn

Senior Member
Jan 28, 2017
4,246
1,845
Small town in Bavaria
Hello there,

as I installed LOS18 today on an Redmi 4x (santoni) together with Magisk (no GApps), I opted to install this Nanodroid-package via Magisk directly afterwards:

After reboot I found several apps being installed, which do not belong to LOS: e.g. Frost (Facebook Interface App)

As I do not use FB at all, I would like to uninstall Frost. However swiping the app symbol upwards to the top area the uninstall option does not appear.

Also in F-Droid - the app is listed as installed - no option for uninstall in the "managing apps section" is available.

What is the intended way to delete unwanted apps that come apparently with that NanoDroid package (now I also have 2 apps for: camera, calendar, SMS,...)?

Thanks.

cu,
einnarr
MicroG will not work correctly anyway with your method. You can uninstall the magisk module.
If you really want to learn about microG, try this:
 

Apex Predator

Senior Member
Oct 15, 2011
242
161
Hello there,

as I installed LOS18 today on an Redmi 4x (santoni) together with Magisk (no GApps), I opted to install this Nanodroid-package via Magisk directly afterwards:

After reboot I found several apps being installed, which do not belong to LOS: e.g. Frost (Facebook Interface App)

As I do not use FB at all, I would like to uninstall Frost. However swiping the app symbol upwards to the top area the uninstall option does not appear.

Also in F-Droid - the app is listed as installed - no option for uninstall in the "managing apps section" is available.

What is the intended way to delete unwanted apps that come apparently with that NanoDroid package (now I also have 2 apps for: camera, calendar, SMS,...)?

Thanks.

cu,
einnarr
You need to reinstall nanodroid and use (and edit) the config files. Please refer to the documentation.

If you don't want any apps at all, the best way is to edit the .nanodroid-setup file and make sure this line is correct: nanodroid_apps=0

If you do maybe want some apps, here is an example of the .nanodroid-apps file. Apps with # next to them will not be installed.

Please note, these will be installed as system apps. That is why you're having trouble removing them. Easiest way as I said is just to reinstall ND.

##########################################################################################
#
# NanoDroid-Apps configuration file
#
# All applications listed here will be installed
#
# Fileformat:
# - one app per line
# - name must be *exactly* (case sensitive!) like given in the NanoDroid documentation
# - see: https://gitlab.com/Nanolx/NanoDroid/-/blob/master/doc/Applications.md
# - commented out lines (starting with #) will be ignored
#
##########################################################################################

# Alarmio
# Amaze
# AnysoftKeyboard
# Blokada
# FreeOTPPlus
# Frost
# HackersKeyboard
K9Mail
# KeePassDX
# MPV
# NewPipe
# OAndBackupX
# Odyssey
OpenCamera
# OpenKeyChain
# OpenLauncher
# OpenVPN
# PrivacyBrowser
# QKSMS
SimpleCalendar
SimpleGallery
SmartPackKernelManager
# Termux
# TorBrowser
# Twidere
Warden
XDALabs
 
Last edited:

einnarr

Member
Jan 26, 2021
13
3
Hello kurtn,

knew about that link already, however there only LOS16 is available :-(

I prefer staying on the current LOS18 builds here:


To my understanding installing microG via NanoDroid through Magisk is the one way to get it actually working, as NanoDroid is "paving the way" for microG requirements.


What am I missing here?


cu,
einnarr
 

kurtn

Senior Member
Jan 28, 2017
4,246
1,845
Small town in Bavaria
Hello kurtn,

knew about that link already, however there only LOS16 is available :-(

I prefer staying on the current LOS18 builds here:


To my understanding installing microG via NanoDroid through Magisk is the one way to get it actually working, as NanoDroid is "paving the way" for microG requirements.


What am I missing here?


cu,
einnarr
I don't know anything about the file you linked. But from the size i guess it is lineageOS without GApps. Thats good. Try to run it without GApps or microG first to see what's missing and how stable it is.
For microG you need signature spoofing. Is it built in?
Next you need some microG and companion apps. Here comes nanodroid or any other flashable installer. They are necessary, because for some features microG has to be a system app.
 
  • Like
Reactions: Oswald Boelcke

einnarr

Member
Jan 26, 2021
13
3
Hello kurtn,

those builds are pure LOS18 w/o GApps. No signature spoofing available therefore.

So far I flashed LOS18 with Magisk 23. Then running NanoDroid to get microG correctly in as system app. Guess this should be fine. Will test later.

My original post was just due to the additional apps turning up, which I did not expect (overlooked this fact) as I did not realize this regarding the info from NanoDroid website in the portion "summary" does not inform about these.

Will get back here when I can feedback whether microG it works or not.

cu,
einnarr
 
  • Like
Reactions: kurtn

einnarr

Member
Jan 26, 2021
13
3
Ok, so I reinstalled LOS18, Magisk 23 and NanoDroid without apps an all went fine so far.

Now opening microG I see, that the LOS18-has no integrated support for signature spoofing. I thought this would be handled by the installation via NanoDroid? Where do I misunderstand the procedure?

As I only want to run some specific apps (electric car charging service: enbw mobility+ / wattfinder) dld via Aurora, I am not sure if I require sig-spoofing at all.

The apps install fine, but when opening up no map information is visible and both give the message, that "Required Google Play Services are not available on your phone".

Any hint on how I can proceed here?

Thx,
einnarr
 

kurtn

Senior Member
Jan 28, 2017
4,246
1,845
Small town in Bavaria
Ok, so I reinstalled LOS18, Magisk 23 and NanoDroid without apps an all went fine so far.

Now opening microG I see, that the LOS18-has no integrated support for signature spoofing. I thought this would be handled by the installation via NanoDroid? Where do I misunderstand the procedure?

As I only want to run some specific apps (electric car charging service: enbw mobility+ / wattfinder) dld via Aurora, I am not sure if I require sig-spoofing at all.

The apps install fine, but when opening up no map information is visible and both give the message, that "Required Google Play Services are not available on your phone".

Any hint on how I can proceed here?

Thx,
einnarr
Install lineage.microg.org . Official lineageOS has no signature spoofing and nanodroid can't patch android 11.

MicroG has the mapbox component. That is able to replace Google's map display in some apps. You have to try.

P.S.: you can try other methods to get signature spoofing on android 11 like patching services.jar or xposed module fakegapps or crDroid https://forum.xda-developers.com/t/...android-6-x-7-x-santoni-stable.4176461/unread
 
Last edited:

Top Liked Posts

  • 1
    Install lineage.microg.org .
    Unfortuately they are stuck at LOS16 for santoni :-(


    Official lineageOS has no signature spoofing and nanodroid can't patch android 11.
    Ok - this I overlooked and thought NanoDroid could handle the LOS18 ROM and patch it. Any idea if this will be possible in the near future?


    P.S.: you can try other methods to get signature spoofing on android 11 like patching services.jar or xposed module fakegapps or crDroid https://forum.xda-developers.com/t/...android-6-x-7-x-santoni-stable.4176461/unread
    Looked shortly into patching services.jar - handling that is too much for me :-(

    Never did anything with xposed so far - will have a look into it.

    As jabiyeff is doing the LOS18 I use and the mentioned crDroid ROM - maybe I will look into this way. Would have preferred to stay on plain LOS though :-(

    Thanks anyway for the guidance.

    cu,
    einnarr
  • 1
    Hello kurtn,

    knew about that link already, however there only LOS16 is available :-(

    I prefer staying on the current LOS18 builds here:


    To my understanding installing microG via NanoDroid through Magisk is the one way to get it actually working, as NanoDroid is "paving the way" for microG requirements.


    What am I missing here?


    cu,
    einnarr
    I don't know anything about the file you linked. But from the size i guess it is lineageOS without GApps. Thats good. Try to run it without GApps or microG first to see what's missing and how stable it is.
    For microG you need signature spoofing. Is it built in?
    Next you need some microG and companion apps. Here comes nanodroid or any other flashable installer. They are necessary, because for some features microG has to be a system app.
    1
    Hello kurtn,

    those builds are pure LOS18 w/o GApps. No signature spoofing available therefore.

    So far I flashed LOS18 with Magisk 23. Then running NanoDroid to get microG correctly in as system app. Guess this should be fine. Will test later.

    My original post was just due to the additional apps turning up, which I did not expect (overlooked this fact) as I did not realize this regarding the info from NanoDroid website in the portion "summary" does not inform about these.

    Will get back here when I can feedback whether microG it works or not.

    cu,
    einnarr
    1
    Install lineage.microg.org .
    Unfortuately they are stuck at LOS16 for santoni :-(


    Official lineageOS has no signature spoofing and nanodroid can't patch android 11.
    Ok - this I overlooked and thought NanoDroid could handle the LOS18 ROM and patch it. Any idea if this will be possible in the near future?


    P.S.: you can try other methods to get signature spoofing on android 11 like patching services.jar or xposed module fakegapps or crDroid https://forum.xda-developers.com/t/...android-6-x-7-x-santoni-stable.4176461/unread
    Looked shortly into patching services.jar - handling that is too much for me :-(

    Never did anything with xposed so far - will have a look into it.

    As jabiyeff is doing the LOS18 I use and the mentioned crDroid ROM - maybe I will look into this way. Would have preferred to stay on plain LOS though :-(

    Thanks anyway for the guidance.

    cu,
    einnarr
  • 351
    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).