Skip to content

Instantly share code, notes, and snippets.

@vczb
Created November 4, 2025 23:51
Show Gist options
  • Select an option

  • Save vczb/96ad2c36517257d7f6a8e98bba748e11 to your computer and use it in GitHub Desktop.

Select an option

Save vczb/96ad2c36517257d7f6a8e98bba748e11 to your computer and use it in GitHub Desktop.
DeGoogle LG k52
#!/usr/bin/env bash
set -euo pipefail
# NOT TESTED!!!
# LG K52 (Android 12) – privacy/OTA block + safe debloat
# Requires: ADB authorized (Developer options + USB debugging ON)
# Helper to run an adb shell cmd and ignore "Unknown package/component"
shx() { adb shell "$@" 2>/dev/null || true; }
echo "[1/8] Waiting for device…"
adb start-server >/dev/null 2>&1 || true
adb wait-for-device
echo "[2/8] Disable automatic system updates + set provisioned flags"
shx settings put global ota_disable_automatic_update 1
shx settings put global device_provisioned 1
shx settings put secure user_setup_complete 1
echo "[3/8] Block LG firmware OTA (FOTA) services"
# Some may already be disabled; commands are idempotent
for pkg in \
com.lge.lgdmsclient \
com.lge.updatecenter \
com.lge.systemservice \
com.lge.lgfota.permission \
com.android.LGSetupWizard
do
shx pm disable-user --user 0 "$pkg"
done
echo "[4/8] Minimize Google ‘system updates’ channels (best effort without root)"
# GMS components are signature-protected; we still add safe constraints
# Background/run + wakelocks off for Feedback + GMS where allowed
shx appops set com.google.android.feedback RUN_ANY_IN_BACKGROUND ignore
shx appops set com.google.android.feedback POST_NOTIFICATION ignore
shx am force-stop com.google.android.feedback
# Optional nudges for GMS (safe; no-break):
shx cmd appops set com.google.android.gms RUN_ANY_IN_BACKGROUND ignore
shx cmd appops set com.google.android.gms WAKE_LOCK ignore
echo "[5/8] Disable telemetry / analytics (LG & Google)"
for pkg in \
com.lge.ia.task.smartcare \
com.lge.gdec.client \
com.google.mainline.telemetry \
com.google.android.feedback
do
shx pm disable-user --user 0 "$pkg"
done
# System-wide telemetry/usage flags (no-ops if missing on this ROM)
shx settings put global usage_reporting_enabled 0
shx settings put global upload_enabled 0
shx settings put global analytics_service_enabled 0
shx settings put global stats_collection 0
echo "[6/8] Debloat: remove visible Google/LG apps that aren’t essential"
# Uninstall for the current user only (safe). Add/remove lines to taste.
debloat_pkgs=(
# Google apps
com.android.chrome
com.google.android.youtube
com.google.android.apps.youtube.music
com.google.android.apps.docs
com.google.android.apps.docs.editors.docs
com.google.android.apps.docs.editors.sheets
com.google.android.apps.docs.editors.slides
com.google.android.apps.photos
com.google.android.apps.maps
com.google.android.calendar
com.google.android.apps.tachyon # Duo/Meet
com.google.android.apps.googleassistant
com.google.android.googlequicksearchbox
com.google.android.apps.magazines # News
com.google.android.apps.podcasts
com.google.android.apps.nbu.files # Files by Google
com.google.android.apps.walletnfcrel # Wallet
com.android.vending # Play Store (since you’ll use F-Droid)
# LG extras
com.lge.gametools
com.lge.gamelauncher
com.lge.smartsharepush
com.lge.qmemoplus
com.lge.fmradio
com.lge.hifirecorder
com.lge.music
com.lge.videoplayer
com.lge.videostudio
com.lge.gallery.studio
com.lge.gallery.contentservice
com.lge.lgcontentsetting
com.lge.wallpaperpicker
com.lge.themeservice
com.lge.launcher2.theme.optimus
com.lge.sizechangable.weather
com.lge.sizechangable.weather.platform
com.lge.sizechangable.weather.theme.optimus
# Partners / bloat
com.facebook.katana
com.facebook.appmanager
com.facebook.system
com.facebook.services
com.booking
com.gameloft.android.GloftANPH
com.gameloft.android.GloftLBPH
com.gameloft.android.GloftMBCF
com.gameloft.android.ANMP.GloftDOHM
com.gameloft.android.ANMP.GloftGHHM
)
for pkg in "${debloat_pkgs[@]}"; do
shx pm uninstall --user 0 "$pkg"
done
echo "[7/8] Clean up launcher cache so removed icons vanish"
# If you use LG launcher; harmless if not present.
shx am force-stop com.lge.launcher3
shx pm clear com.lge.launcher3
echo "[8/8] Verification"
echo "Disabled packages:"
adb shell pm list packages -d | sed 's/^/ /'
echo
echo "Play Store present? (should be empty if removed)"
adb shell pm list packages | grep -F com.android.vending || echo " Play Store removed"
echo
echo "OTA auto-update flag:"
adb shell settings get global ota_disable_automatic_update || true
echo
echo "Done. Reboot recommended."

https://chatgpt.com/share/690a908e-e334-8008-b089-d7aee8b07f9e

adb shell pm list packages

adb shell pm uninstall --user 0 lge.ims.chatbotinfoprovider

adb shell pm uninstall --user 0 com.lge.lgsmartdevice

adb shell am force-stop com.lge.launcher3 adb shell pm clear com.lge.launcher3

adb install --user 0 /path/to/TorBrowser-arm64-v8a.apk

-- not tested !!! chmod +x lgk52_harden.sh ./lgk52_harden.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment