MinMicroG/conf/defconf-minimal.txt
FriendlyNeighborhoodShane f6f4e63f5b Remove service and addond features
They will be reimplemented as install hook functions
2020-11-23 23:26:39 +05:30

289 lines
9.5 KiB
Plaintext

# Config
variant="Minimal";
ver="2.8";
verc="280";
date="20th october, 2020";
minsdk=21;
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/MicroGGSFProxy/MicroGGSFProxy.apk
/system/bin/npem
/system/etc/default-permissions/microg-permissions.xml
/system/etc/permissions/com.android.vending.xml
/system/etc/permissions/com.google.android.gms.xml
/system/etc/permissions/com.google.android.maps.xml
/system/etc/sysconfig/nogoolag.xml
/system/framework/com.google.android.maps.jar
/system/priv-app/FakeStore/FakeStore.apk
/system/priv-app/MicroGGMSCore/MicroGGMSCore.apk
";
stuff_arch="
";
stuff_sdk="
";
stuff_arch_sdk="
";
stuff_other="
/system/app/AppleNLPBackend/AppleNLPBackend.apk
/system/app/AuroraDroid/AuroraDroid.apk
/system/app/AuroraStore/AuroraStore.apk
/system/app/DejaVuNLPBackend/DejaVuNLPBackend.apk
/system/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk
/system/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk
/system/app/LocalGSMNLPBackend/LocalGSMNLPBackend.apk
/system/app/LocalWiFiNLPBackend/LocalWiFiNLPBackend.apk
/system/app/MozillaUnifiedNLPBackend/MozillaUnifiedNLPBackend.apk
/system/app/NominatimNLPBackend/NominatimNLPBackend.apk
/system/etc/default-permissions/microg-permissions-unlp.xml
/system/etc/permissions/com.aurora.services.xml
/system/etc/permissions/com.google.android.backuptransport.xml
/system/etc/permissions/com.google.android.media.effects.xml
/system/etc/permissions/com.google.widevine.software.drm.xml
/system/etc/permissions/gsync.xml
/system/etc/sysconfig/nogoolag-unlp.xml
/system/framework/com.google.android.media.effects.jar
/system/framework/com.google.widevine.software.drm.jar
/system/lib/libjni_keyboarddecoder.so
/system/lib/libjni_latinimegoogle.so
/system/lib64/libjni_keyboarddecoder.so
/system/lib64/libjni_latinimegoogle.so
/system/priv-app/AuroraServices/AuroraServices.apk
/system/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk
/system/priv-app/MicroGUNLP/MicroGUNLP.apk
/system/priv-app/PatchPhonesky/PatchPhonesky.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/MicroGGSFProxy
/system/bin/npem
/system/etc/default-permissions
/system/etc/permissions
/system/etc/sysconfig
/system/framework/com.google.android.maps.jar
/system/priv-app/FakeStore
/system/priv-app/MicroGGMSCore
";
pre_build_actions() {
return 0;
}
post_build_actions() {
sign_zip;
return 0;
}
pre_install_actions() {
user_conf;
microg_cleanup;
return 0;
}
post_install_actions() {
return 0;
}
pre_uninstall_actions() {
return 0;
}
post_uninstall_actions() {
rm -rf "$root/system/etc/.mmg";
return 0;
}
sign_zip() {
zipsigner="$resdldir/util/zipsigner.jar";
[ "$(which java)" ] && [ -f "$zipsigner" ] || return 0;
echo " ";
echo " - Signing zip...";
java -jar "$zipsigner" "$tmpdir/release.zip" "$tmpdir/release-signed.zip" || { echo " " >&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')
";
}
[ "$stuff" ] || [ "$stuff_arch" ] || [ "$stuff_sdk" ] || [ "$stuff_arch_sdk" ] || abort "Nothing left to install after config";
}
microg_cleanup() {
if echo "$stuff" | grep -q "MicroG"; then
ui_print " ";
ui_print "Doing MicroG preparations...";
if [ "$bootmode" != "true" ]; then
# Kanged from NanoDroid
# Thanks Setialpha
cleanup_folders="BlankStore GmsCore GmsCore_update GmsCoreSetupPrebuilt GoogleServicesFramework GsfProxy Phonesky PlayStore PrebuiltGmsCorePi PrebuiltGmsCorePix PrebuiltGmsCore Vending";
cleanup_packages="com.android.vending com.google.android.feedback com.google.android.gms com.google.android.gsf com.google.android.gsf.login com.mgoogle.android.gms";
for app in $cleanup_folders; do
for file in /data/dalvik-cache/*/system"@priv-app@$app"[@\.]*@classes.* /data/dalvik-cache/*/system"@app@$app"[@\.]*@classes.*; do
[ -e "$file" ] && { log "PREPPER: Removing $file"; rm -rf "$file"; }
done;
done;
if [ ! -f "$root/system/etc/.mmg" ]; then
log "Doing the clean install treatment";
for app in $cleanup_packages; do
for file in "/data/data/$app" "/data/user/*/$app" "/data/user_de/*/$app" "/data/app/$app"-* "/mnt/asec/$app"-* "/data/media/0/Android/data/$app"; do
[ -e "$file" ] && { log "PREPPER: Removing $file"; rm -rf "$file"; }
done;
done;
for file in /data/system/users/*/runtime-permissions.xml; do
[ -e "$file" ] && { log "PREPPER: Removing $file"; rm -rf "$file"; }
done;
if [ -f /data/system/packages.list ]; then
for app in $cleanup_packages; do
if grep -q "$app" "/data/system/packages.list"; then
log "PREPPER: de-registering app: $app";
sed -i "s/.*${app}.*//g" /data/system/packages.list;
fi;
done;
else
log "PREPPER: This is a clean flash";
fi;
if [ "$(which sqlite3)" ]; then
find /data/system* -type f -name "accounts*db" 2>/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;
}