A simple, flexible MicroG/gang Installer Licensed under the GNU GPL v3
This is a simple MicroG installer. It can install MicroG and other stuff into your system partition or as a Magisk/KernelSU module. It supports virtually all mobile architectures (arm/64, x86/64, mips/64) and fully supports KitKat and above. It can also (mostly) support much older versions, but sync adapters and some location providers won't work. It can even uninstall itself from your device, just rename it and flash it again.
The MinMicroG
packages are intended as various base configuration for microG,
they are all mutually exclusive with each other and you can only choose one.
While the MinAddon
packages act as independent additions on top, you can have
as many as you wish over a base package, or even without a base package.
All of these include required permissions and an addon.d file to backup/restore everything on a ROM flash in a system installation.
Component \ Variant | Standard | NoGoolag | Minimal | MinimalPhonesky |
---|---|---|---|---|
MicroG | x | x | x | x |
Maps APIv1 | x | x | x | x |
Fake Store | x | x | ||
Google Play Store | x | x | ||
Aurora Store | x | |||
Aurora Droid | x | x | ||
Google Sync adapters | x |
They just consist of singular components, just what they say on their label.
Dirty flashing not recommended. you'll mess up all your permissions and may even cause conflicts in app data, leading to crashes. The maker does not support or endorse dirty flashing. It will harm you and your loved ones. Don't come complaining to me.
You can flash this zip either from your recovery (recommended) or through Magisk Manager.
How to control the zip by changing its name: NOTE: Control by name is not possible in Magisk Manager, since it copies the zip to a cache directory and renames it install.zip. This is unavoidable behaviour.
Add system
to its filename to force it to install/uninstall from system.
Otherwise, it looks for Magisk, and if not found, installs to system.
Obviously, if you flash it through Magisk Manager, you want to install it to
Magisk. If not, you have to flash it through recovery.
Add uninstall
to its filename to uninstall it from your device, whether in
Magisk mode or system mode. If you use Magisk Manager, your preffered method
of uninstallation is from there.
Just rename it and flash it again for the intended effect. For example,
MinMicroG-variant-version-signed.zip
to
system-MinMicroG-variant-version-signed.zip
(and the same for uninstall).
NOTE: If you have made a system install but have Magisk installed as well, you
will have to use both system
and uninstall
keywords in the name for an
uninstall flash.
The zip debloats three specific Google apps from your phone (GmsCore,
GoogleServicesFramework, Phonesky and their MicroG counterparts) and 4 NLP
providers when the pack contents conflicts with them. In Magisk mode, they
won't be removed from system, and if you uninstall the pack, they'll come back.
If you install in system, the debloated stuff will be stored in
internal-storage/MinMicroG/Backup
.
WARNING: This zip does not and never will debloat anything else because that is
the minimum coming in MicroG's way. I have had my own share of PTSD with
debloating. I believe (through instinct) that it should work even on flashes
over GApped ROMs, but don't take my word for it. Debloat before you flash.
For support with flashing: If you flashed through recovery, provide its logs. If you used Magisk Manager, provide its logs.
List of hard dependencies:
curl
(update.sh)jq
(update.sh)unzip
(update.sh)zip
(build.sh)cd
to this directory and run:
> ./update.sh
To download all the assets to resdl
directory.
> ./build.sh all
To build all the packs and place them in the releases
directory.
That's it! If it tells you that some dependency is missing, install it.
You can pass update.sh
several extended regexes as arguments to only download
specific files.
You can pass build.sh
some specific pack's conf names instead of all to build
only the specific packs.
If you have apksigner
installed, the update script will dump the signing
certificates of all downloaded APKs and repo jars to resdl/util/certs
. It
will compare all future downloads with those certs, and in case of any
signature errors or mismatches, will warn you.
If you have aapt
installed, the update script will download the permission
docs from the Android website, check the priv-apps for any new privileged
permissions and tell you to add them to the whitelist in
res/system/etc/permissions/[package].xml
files.
To build your own custom pack, refer to conf/custom-conf.md
.
Any changes made to the code should ideally be tested with test.sh
, which
runs the shellcheck
linter program on every script.
Use bump.sh
to automatically bump the ver
, verc
and date
values across
all defconf files.
And most of all, thank you Google & gang for being so shitty to people and thus giving us a mission.