Created
December 15, 2025 14:58
-
-
Save kleo/edbc4af76902993ab4fb0081e3bb7b55 to your computer and use it in GitHub Desktop.
samsung a31 debloat and install apps script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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