Skip to content

Instantly share code, notes, and snippets.

@kleo
Created December 15, 2025 14:58
Show Gist options
  • Select an option

  • Save kleo/edbc4af76902993ab4fb0081e3bb7b55 to your computer and use it in GitHub Desktop.

Select an option

Save kleo/edbc4af76902993ab4fb0081e3bb7b55 to your computer and use it in GitHub Desktop.
samsung a31 debloat and install apps script
#!/bin/bash
# samsung a31 debloat
if adb shell pm list packages | grep -q org.fdroid.fdroid; then
echo F-Droid is already installed
else
echo Installing F-Droid
axel https://f-droid.org/F-Droid.apk -o /tmp/F-Droid.apk
if [[ $(sha256sum /tmp/F-Droid.apk) = "dc3bb88f6419ee7dde7d1547a41569aa03282fe00e0dc43ce035efd7c9d27d75 /tmp/F-Droid.apk" ]]; then
echo "Signature OK" && adb install -r /tmp/F-Droid.apk;
fi
fi
# if adb shell pm list packages | grep -q com.machiav3lli.fdroid; then
# echo Neo Store is already installed
# else
# echo Installing Neo Store
# axel https://f-droid.org/repo/com.machiav3lli.fdroid_922.apk -o /tmp/com.machiav3lli.fdroid_922.apk
# if [[ $(sha256sum /tmp/com.machiav3lli.fdroid_922.apk) = "2f5c4bab947d215bc3bdd2efaaa28eb4b123391dc0aee4072b74c4f5e631242d /tmp/com.machiav3lli.fdroid_922.apk" ]]; then
# echo "Signature OK" && adb install -r /tmp/com.machiav3lli.fdroid_922.apk;
# fi
# fi
if adb shell pm list packages | grep -q me.zhanghai.android.files; then
echo Material Files is already installed
else
echo Installing Material Files
axel https://f-droid.org/repo/me.zhanghai.android.files_34.apk -o /tmp/me.zhanghai.android.files_34.apk
if [[ $(sha256sum /tmp/me.zhanghai.android.files_34.apk) = "1fbe50f7c2e5419ab0c2c3a0ed055713e8ab00994786e02348ad6cbb7a62d62d /tmp/me.zhanghai.android.files_34.apk" ]]; then
echo "Signature OK" && adb install -r /tmp/me.zhanghai.android.files_34.apk;
fi
fi
# if adb shell pm list packages | grep -q com.simplemobiletools.gallery.pro; then
# echo Simple Gallery is already installed
# else
# echo Installing Simple Gallery
# axel https://f-droid.org/repo/com.simplemobiletools.gallery.pro_380.apk -o /tmp/me.zhanghai.android.files_31.apk
# if [[ $(sha256sum /tmp/com.simplemobiletools.gallery.pro_380.apk) = "d60f8a24f340eb3c1db6022c3162edaa4468398af7b568c331dfcdc1b2240363 /tmp/com.simplemobiletools.gallery.pro_380.apk" ]]; then
# echo "Signature OK" && adb install -r /tmp/com.simplemobiletools.gallery.pro_380.apk;
# fi
# fi
if adb shell pm list packages | grep -q de.markusfisch.android.wavelines; then
echo Wave Lines Wallpaper is already installed
else
echo Installing Wave Lines Wallpaper
axel https://f-droid.org/repo/de.markusfisch.android.wavelines_22.apk -o /tmp/de.markusfisch.android.wavelines_22.apk
if [[ $(sha256sum /tmp/de.markusfisch.android.wavelines_22.apk) = "8e986d8fdcbac063eed032775d9acacc877ea274d2902357fbe9a27389670545 /tmp/de.markusfisch.android.wavelines_22.apk" ]]; then
echo "Signature OK" && adb install -r /tmp/de.markusfisch.android.wavelines_22.apk;
fi
fi
if adb shell pm list packages | grep -q org.dslul.openboard.inputmethod.latin; then
echo OpenBoard is already installed
else
echo Installing OpenBoard
axel https://f-droid.org/repo/org.dslul.openboard.inputmethod.latin_19.apk -o /tmp/org.dslul.openboard.inputmethod.latin_19.apk
if [[ $(sha256sum /tmp/org.dslul.openboard.inputmethod.latin_19.apk) = "0f6314ec78d4757b9ca24c084376f4c2327bd5dd42e2b089f643c7763817d322 /tmp/org.dslul.openboard.inputmethod.latin_19.apk" ]]; then
echo "Signature OK" && adb install -r /tmp/org.dslul.openboard.inputmethod.latin_19.apk;
sleep 10
adb shell ime enable org.dslul.openboard.inputmethod.latin/.LatinIME
fi
fi
# if adb shell pm list packages | grep -q com.simplemobiletools.launcher; then
# echo Simple Launcher is already installed
# else
# echo Installing Simple Launcher
# axel https://f-droid.org/repo/com.simplemobiletools.launcher_7.apk -o /tmp/com.simplemobiletools.launcher_7.apk
# if [[ $(sha256sum /tmp/com.simplemobiletools.launcher_7.apk) = "1965e2fc6c830776a31e55e22f97edc4e4a801b657764311b8c0130c08473820 /tmp/com.simplemobiletools.launcher_7.apk" ]]; then
# echo "Signature OK" && adb install -r /tmp/com.simplemobiletools.launcher_7.apk;
# echo "Configuring default launcher"
# adb shell cmd package set-home-activity "com.simplemobiletools.launcher/com.simplemobiletools.launcher.activities.SplashActivity.Orange"
# fi
# fi
# if adb shell pm list packages | grep -q com.simplemobiletools.contacts.pro; then
# echo Simple Contacts is already installed
# else
# echo Installing Simple Contacts
# axel https://f-droid.org/repo/com.simplemobiletools.contacts.pro_101.apk -o /tmp/com.simplemobiletools.contacts.pro_101.apk
# if [[ $(sha256sum /tmp/com.simplemobiletools.contacts.pro_101.apk) = "5fdd693b2b8fdc9f7b6ab75ad0191d5f61d4c97f49f6bead71cd21ade5b41488 /tmp/com.simplemobiletools.contacts.pro_101.apk" ]]; then
# echo "Signature OK" && adb install -r /tmp/com.simplemobiletools.contacts.pro_101.apk;
# fi
# fi
declare -a bloat=(
"com.facebook.katana"
"com.facebook.system"
"com.facebook.appmanager"
"com.facebook.services"
"com.google.android.youtube"
"com.google.android.apps.youtube.music"
"com.google.android.googlequicksearchbox"
"com.google.android.apps.tachyon"
"com.google.ar.core"
# "com.android.vending" # google play store
"com.google.android.apps.photos"
"com.google.android.videos"
"com.google.android.projection.gearhead" # android auto
"com.google.android.apps.docs"
"com.google.android.apps.maps"
"com.google.android.printservice.recommendation"
"com.google.android.apps.turbo"
"com.google.android.as"
"com.google.android.gm" # gmail
"com.google.android.partnersetup"
# "com.google.android.gms"
# "com.google.android.gsf"
"com.google.android.tts"
"com.google.android.gms.location.history"
"com.google.android.feedback"
"com.google.android.apps.restore"
# "com.google.android.configupdater"
# "com.google.android.syncadapters.contacts"
# "com.google.android.syncadapters.calendar"
# "com.google.android.onetimeinitializer"
# "com.google.android.setupwizard"
"com.google.android.cellbroadcastreceiver"
"com.google.android.apps.carrier.carrierwifi"
"com.google.android.as.oss"
"com.google.android.syncadapters.calendar"
"com.google.mainline.telemetry"
"com.samsung.android.arzone"
"com.samsung.android.smartswitchassistant"
"com.samsung.android.app.galaxyfinder"
"com.samsung.android.themestore"
"com.samsung.android.samsungpass"
"com.samsung.android.smartcallprovider"
"com.samsung.android.aremoji"
"com.samsung.android.app.settings.bixby"
# "com.samsung.android.bixbyvision.framework"
"com.samsung.android.arzone"
"com.samsung.android.livestickers"
"com.samsung.android.stickercenter"
"com.samsung.android.knox.containeragent"
"com.samsung.android.knox.analytics.uploader"
"com.samsung.android.knox.attestation"
"com.samsung.android.knox.containercore"
"com.samsung.knox.securefolder"
"com.samsung.android.bbc.bbcagent"
"com.samsung.ucs.agent.ese"
"com.samsung.sree"
"com.samsung.android.voc"
"com.samsung.android.fmm"
"com.samsung.android.game.gametools"
"com.samsung.android.game.gamehome"
# "com.samsung.android.game.gos" needs root to remove
"com.samsung.android.calendar"
"com.samsung.android.app.simplesharing"
"com.samsung.android.rubin.app"
"com.samsung.android.scloud"
"com.samsung.android.app.spage"
"com.samsung.android.mdx"
"com.samsung.android.mdx.quickboard"
"com.samsung.android.mdx.kit"
"com.samsung.android.kidsinstaller"
"com.samsung.android.samsungpass"
"com.samsung.android.samsungpassautofill"
"com.samsung.android.authfw"
"com.samsung.android.spayfw"
"com.samsung.android.smartswitchassistant"
"com.samsung.klmsagent"
"com.samsung.android.themestore"
"com.samsung.android.themecenter"
"com.samsung.android.mdecservice"
"com.samsung.android.sm.devicesecurity"
"com.samsung.android.oneconnect"
"com.samsung.android.beaconmanager"
# "com.samsung.android.messaging" sms
"com.samsung.android.app.reminder"
"com.samsung.android.aware.service"
"com.samsung.android.app.sharelive"
"com.samsung.android.mateagent"
"com.samsung.android.app.omcagent"
"com.samsung.klmsagent"
"com.samsung.android.shortcutbackupservice"
"com.samsung.android.dynamiclock"
"com.samsung.clipboardsaveservice"
"com.samsung.android.mobileservice"
"com.samsung.crane"
"com.samsung.android.sdm.config"
"com.samsung.android.cidmanager"
"com.samsung.android.smartmirroring"
"com.samsung.android.easysetup"
"com.samsung.android.net.wifi.wifiguider"
"com.samsung.android.app.watchmanagerstub"
"com.samsung.android.dqagent"
"com.samsung.android.aircommandmanager"
"com.samsung.android.mcfserver"
"com.samsung.android.svcagent"
"com.samsung.storyservice"
"com.samsung.android.da.daagent"
"com.samsung.ipservice"
"com.samsung.safetyinformation"
"com.samsung.android.sm.policy"
"com.samsung.android.tadownloader"
"com.samsung.android.tapack.authfw"
"com.samsung.android.smartcallprovider"
"com.samsung.faceservice"
"com.samsung.sec.android.application.csc"
"com.samsung.aasaservice"
"com.samsung.android.cmfa.framework"
"com.samsung.android.knox.pushmanager"
"com.samsung.android.mapsagent"
"com.samsung.android.accessibility.talkback"
"com.samsung.android.service.peoplestripe"
"com.samsung.android.app.sbrowseredge"
"com.samsung.android.fapp.notes"
"com.samsung.android.app.notes"
"com.samsung.android.privateshare"
"com.samsung.android.app.watchmanager"
"com.samsung.android.forest"
"com.samsung.android.lool"
"com.samsung.android.ardrawing"
"com.samsung.android.visionintelligence"
"com.samsung.android.appseparation"
"com.samsung.android.smartface"
"com.samsung.android.video"
"com.samsung.android.mcfds"
"com.samsung.android.app.dofviewer"
"com.samsung.android.app.clipboardedge"
"com.samsung.android.smartsuggestions"
"com.samsung.android.sdk.handwriting"
"com.samsung.android.allshare.service.mediashare"
# "com.samsung.android.app.appsedge" # home replace with launcher
"com.samsung.android.honeyboard"
"com.samsung.android.bixbyvision.framework"
# "com.samsung.android.app.contacts" # contacts
"com.samsung.android.app.cocktailbarservice" # edge panels
"com.android.chrome"
"com.microsoft.skydrive"
"com.spotify.music"
"com.microsoft.office.outlook"
"com.netflix.partner.activation"
"com.netflix.mediaclient"
"com.netflix.partner.activation"
"com.sec.android.app.shealth"
"com.linkedin.android"
"com.microsoft.appmanager"
"com.microsoft.office.officehubrow"
"com.hiya.star"
"com.diotek.sec.lookup.dictionary"
"com.dti.globe"
"com.android.printspooler"
"com.android.bips"
"com.sec.enterprise.knox.cloudmdm.smdms"
"com.android.managedprovisioning"
"com.knox.vpn.proxyhandler"
"com.sec.android.app.sbrowser"
"com.sec.android.easyMover"
"com.sec.android.easyMover.Agent"
"com.sec.android.daemonapp"
"com.sec.android.app.parser"
"com.sec.android.app.shealth"
"com.sec.android.app.billing"
"com.sec.android.widgetapp.webmanual"
"com.sec.android.app.SecSetupWizard"
"com.sec.android.app.setupwizardlegalprovider"
"com.sec.android.app.myfiles"
"com.sec.android.soagent"
"com.sec.android.app.setupwizardlegalprovider"
"com.sec.android.diagmonagent"
"com.sec.android.app.DataCreate"
"com.sec.android.app.samsungapps"
"com.sec.android.app.chromecustomizations"
"com.sec.android.app.popupcalculator"
"com.sec.android.widgetapp.easymodecontactswidget"
"com.sec.android.app.personalization"
# "com.sec.android.sdhms" # returns on reboot
"com.sec.android.emergencymode.service"
"com.sec.android.emergencylauncher"
"com.sec.android.provider.emergencymode"
"com.sec.location.nsflp2"
"com.sec.spp.push"
"com.sec.mhs.smarttethering"
"com.sec.enterprise.mdm.services.simpin"
"com.sec.sve"
"com.sec.bcservice"
"com.android.cts.ctsshim"
"com.android.cts.priv.ctsshim"
"com.android.bookmarkprovider"
"com.android.egg"
"com.android.emergency"
"com.android.wallpaperbackup"
"com.android.dynsystem"
"com.android.apps.tag"
"com.android.providers.partnerbookmarks"
"com.android.providers.calendar"
"com.android.calllogbackup"
"com.android.providers.userdictionary"
"android.autoinstalls.config.samsung"
"com.wssyncmldm"
"com.skms.android.agents"
"com.sec.android.app.voicenote"
# "om.osp.app.signin"
"com.sec.android.app.hwmoduletest"
# "com.sec.factory.camera"
"com.sec.factory.cameralyzer"
"com.sec.android.RilServiceModeApp"
"com.sec.android.app.bluetoothtest"
"com.sec.android.app.hwmoduletest"
"com.sec.android.app.wlantest"
"com.sec.epdgtestapp"
"com.sec.android.app.factorykeystring"
"com.sec.android.app.servicemodeapp"
"com.sec.android.app.magnifier"
"com.android.dreams.phototable"
"com.sec.android.easyonehand"
"com.wsomacp"
"com.android.dreams.basic"
"com.android.mms.service"
"com.android.statementservice"
# "com.android.stk" # probably needed for sms
# "com.android.wallpaper.livepicker" # needed for lockscreen wallpaper
"com.android.wallpapercropper"
# "com.sec.android.gallery3d"
# "com.sec.android.app.launcher"
)
for i in "${bloat[@]}"; do
echo -n Removing "$i - " && adb uninstall --user 0 $i
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment