# Config variant="Standard" ver="2.6"; verc="260" date="10th february, 2020"; minsdk=19; modprop="id=MinMicroG name=Minimal MicroG Pack $variant Edition version=$ver versionCode=$verc author=MOVZX and FatherJony and FriendlyNeighborhoodShane description=A Minimal MicroG installer with just the essentials support=https://t.me/joinchat/FyFlS0X2D7f6YNvdxhEsfw donate= minMagisk=1900 "; stuff=" /system/app/AppleNLPBackend/AppleNLPBackend.apk /system/app/AuroraDroid/AuroraDroid.apk /system/app/DejaVuNLPBackend/DejaVuNLPBackend.apk /system/app/LocalGSMNLPBackend/LocalGSMNLPBackend.apk /system/app/LocalWiFiNLPBackend/LocalWiFiNLPBackend.apk /system/app/MicroGGSFProxy/MicroGGSFProxy.apk /system/app/MozillaUnifiedNLPBackend/MozillaUnifiedNLPBackend.apk /system/app/NominatimNLPBackend/NominatimNLPBackend.apk /system/bin/npem /system/etc/default-permissions/microg-permissions.xml /system/etc/permissions/com.android.vending.xml /system/etc/permissions/com.aurora.services.xml /system/etc/permissions/com.google.android.backuptransport.xml /system/etc/permissions/com.google.android.gms.xml /system/etc/permissions/com.google.android.maps.xml /system/etc/permissions/com.google.android.media.effects.xml /system/etc/permissions/com.google.widevine.software.drm.xml /system/etc/sysconfig/nogoolag.xml /system/framework/com.google.android.maps.jar /system/framework/com.google.android.media.effects.jar /system/framework/com.google.widevine.software.drm.jar /system/priv-app/AuroraServices/AuroraServices.apk /system/priv-app/MicroGGMSCore/MicroGGMSCore.apk /system/priv-app/PatchPhonesky/PatchPhonesky.apk "; stuff_arch=" "; stuff_sdk=" /system/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk /system/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk /system/etc/permissions/gsync.xml /system/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk "; stuff_arch_sdk=" /system/lib/libjni_keyboarddecoder.so /system/lib/libjni_latinimegoogle.so /system/lib64/libjni_keyboarddecoder.so /system/lib64/libjni_latinimegoogle.so "; stuff_other=" /system/app/AuroraStore/AuroraStore.apk /system/etc/default-permissions/microg-permissions-unlp.xml /system/etc/sysconfig/nogoolag-unlp.xml /system/priv-app/FakeStore/FakeStore.apk /system/priv-app/MicroGUNLP/MicroGUNLP.apk "; stuff_old=" /system/addon.d/01-nogoolag.sh /system/app/FDroid/FDroid.apk /system/app/RadioCellsNLPBackend/RadioCellsNLPBackend.apk /system/etc/permissions/org.fdroid.fdroid.privileged.xml /system/priv-app/AuroraStore/AuroraStore.apk /system/priv-app/DejaVuLocationService/DejaVuLocationService.apk /system/priv-app/DejaVuNLPBackend/DejaVuNLPBackend.apk /system/priv-app/FDroidPrivileged/FDroidPrivileged.apk /system/priv-app/LocalGSMNLPBackend/LocalGSMNLPBackend.apk /system/priv-app/LocalWiFiNLPBackend/LocalWiFiNLPBackend.apk /system/priv-app/MicroGDroidGuard/MicroGDroidGuard.apk /system/priv-app/MicroGGSFProxy/MicroGGSFProxy.apk /system/priv-app/MozillaUnifiedNLPBackend/MozillaUnifiedNLPBackend.apk /system/priv-app/NominatimNLPBackend/NominatimNLPBackend.apk "; stuff_uninstall="$stuff $stuff_arch $stuff_sdk $stuff_arch_sdk $stuff_other $stuff_old"; stuff_debloat=" /system/app/GmsCore/GmsCore.apk /system/app/GooglePlay/GooglePlay.apk /system/app/GoogleServicesFramework/GoogleServicesFramework.apk /system/app/Phonesky/Phonesky.apk /system/app/PlayStore/PlayStore.apk /system/app/PrebuiltGmsCore/PrebuiltGmsCore.apk /system/app/Vending/Vending.apk /system/priv-app/GmsCore/GmsCore.apk /system/priv-app/GooglePlay/GooglePlay.apk /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk /system/priv-app/Phonesky/Phonesky.apk /system/priv-app/PlayStore/PlayStore.apk /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk /system/priv-app/Vending/Vending.apk /system/app/AMAPNetworkLocation/AMAPNetworkLocation.apk /system/app/BaiduNetworkLocation/BaiduNetworkLocation.apk /system/app/LegacyNetworkLocation/LegacyNetworkLocation.apk /system/app/NetworkLocation/NetworkLocation.apk /system/priv-app/AMAPNetworkLocation/AMAPNetworkLocation.apk /system/priv-app/BaiduNetworkLocation/BaiduNetworkLocation.apk /system/priv-app/LegacyNetworkLocation/LegacyNetworkLocation.apk /system/priv-app/NetworkLocation/NetworkLocation.apk /system/app/BlankStore/BlankStore.apk /system/app/DroidGuard/DroidGuard.apk /system/app/GmsCore/GmsCore.apk /system/app/GmsDroidGuard/GmsDroidguard.apk /system/app/GsfProxy/GsfProxy.apk /system/app/UnifiedNlp/UnifiedNlp.apk /system/priv-app/BlankStore/BlankStore.apk /system/priv-app/DroidGuard/DroidGuard.apk /system/priv-app/GmsCore/GmsCore.apk /system/priv-app/GmsDroidGuard/GmsDroidguard.apk /system/priv-app/GsfProxy/GsfProxy.apk /system/priv-app/UnifiedNlp/UnifiedNlp.apk "; stuff_perm=" /system/app/AppleNLPBackend /system/app/AuroraDroid /system/app/DejaVuNLPBackend /system/app/LocalGSMNLPBackend /system/app/LocalWiFiNLPBackend /system/app/MicroGGSFProxy /system/app/MozillaUnifiedNLPBackend /system/app/NominatimNLPBackend /system/bin/npem /system/etc/default-permissions /system/etc/permissions /system/etc/sysconfig /system/framework/com.google.android.maps.jar /system/priv-app/AuroraServices /system/priv-app/MicroGGMSCore /system/priv-app/PatchPhonesky /system/app/GoogleCalendarSyncAdapter /system/app/GoogleContactsSyncAdapter /system/priv-app/GoogleBackupTransport /system/lib/libjni_keyboarddecoder.so /system/lib/libjni_latinimegoogle.so /system/lib64/libjni_keyboarddecoder.so /system/lib64/libjni_latinimegoogle.so "; service='#!/system/bin/sh # MinMicroG bootup script { sleep 30; dg="$(find /system -name MicroGDroidGuard.apk -type f | head -n1)"; for i in 1 2 3; do # Fixes wrong signature for Phonesky in self-check /system/bin/pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE; sleep 5; # Fixes GroidGuard crash on safetynet check /system/bin/pm install -r "$dg"; sleep 5; # Fixes the motherfuckery caused by MagicGApps rm -rf "/magisk/.core/service.d/MagicGApps.sh" "/sbin/.core/img/.core/service.d/MagicGApps.sh"; pm enable "com.google.android.gms"; sleep 5; done; } '; addona="#!/sbin/sh # # MinMicroG addon.d save_files() { cat <&2; echo "ERROR: Zipsigner failed" >&2; return 1; } mv -f "$tmpdir/release-signed.zip" "$tmpdir/release.zip"; } user_conf() { for file in "$(dirname "$0")/mmg-conf.txt" "$(dirname "$zipfile")/mmg-conf.txt" "$moddir/mmg-conf.txt" "/data/adb/mmg-conf.txt"; do [ -f "$file" ] && { ui_print " "; ui_print "Processing user config $file..."; includelist="$(sed -e 's|\#.*||g' -e 's|[^a-zA-Z0-9.-]| |g' "$file")"; break; } done; [ "$includelist" ] && { new_stuff=""; new_stuff_arch=""; new_stuff_sdk=""; new_stuff_arch_sdk=""; for include in $includelist; do log "Including keyword $include"; new_stuff="$new_stuff $(echo "$stuff" | grep -oi "[ ]*[^ ]*$include[^ ]*[ ]*")"; new_stuff_arch="$new_stuff_arch $(echo "$stuff_arch" | grep -oi "[ ]*[^ ]*$include[^ ]*[ ]*")"; new_stuff_sdk="$new_stuff_sdk $(echo "$stuff_sdk" | grep -oi "[ ]*[^ ]*$include[^ ]*[ ]*")"; new_stuff_arch_sdk="$new_stuff_arch_sdk $(echo "$stuff_arch_sdk" | grep -oi "[ ]*[^ ]*$include[^ ]*[ ]*")"; done; stuff="$new_stuff"; stuff_arch="$new_stuff_arch"; stuff_sdk="$new_stuff_sdk"; stuff_arch_sdk="$new_stuff_arch_sdk"; } [ "$includelist" ] && { stuff="$(echo "$stuff" | sed 's| |\n|g' | tr -s '\n' | sort -u | sed 's|^| |g') "; stuff_arch="$(echo "$stuff_arch" | sed 's| |\n|g' | tr -s '\n' | sort -u | sed 's|^| |g') "; stuff_sdk="$(echo "$stuff_sdk" | sed 's| |\n|g' | tr -s '\n' | sort -u | sed 's|^| |g') "; stuff_arch_sdk="$(echo "$stuff_arch_sdk" | sed 's| |\n|g' | tr -s '\n' | sort -u | sed 's|^| |g') "; addona="#!/sbin/sh # # MinMicroG addon.d save_files() { cat </dev/null | while read -r database; do log "PREPPER: deleting Google Accounts from $database"; sqlite3 "$database" "DELETE FROM accounts WHERE type='com.google';"; done else log "PREPPER: sqlite3 not found"; fi; fi; touch "$root/system/etc/.mmg"; fi; fi; }