Skip to content

Instantly share code, notes, and snippets.

@blundell
Last active April 22, 2022 17:23
Show Gist options
  • Star 19 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save blundell/7c0c3bb17898b28fe8122b0dc230af50 to your computer and use it in GitHub Desktop.
Save blundell/7c0c3bb17898b28fe8122b0dc230af50 to your computer and use it in GitHub Desktop.
Uninstall all apps on an Android Device that have the intent-filter category IOT_LAUNCHER
#!/bin/bash
sp="/-\|"
sc=0
spin() {
printf "\b${sp:sc++:1}"
((sc==${#sp})) && sc=0
}
endspin() {
printf "\r"
}
echo "Uninstalling Android Things category apps"
# This script is for > DP8
# for < DP8 you need to replace android.intent.category.HOME with android.intent.category.IOT_LAUNCHER on line 25
spin
userInstalledPackages=( $(adb shell pm list packages -3 | sed -e "s/^"package:"//" ) )
iotPackages=()
for userPackage in "${userInstalledPackages[@]}"
do
:
spin
categoryLauncherText=$( adb shell pm dump $userPackage | grep "android.intent.category.HOME")
if [ -n "${categoryLauncherText}" ]; then
iotPackages+=(${userPackage})
fi
done
endspin
for iotPackage in "${iotPackages[@]}"
do
:
echo "Uninstalling $iotPackage"
adb uninstall $iotPackage
done
echo "Complete"
@n8ebel
Copy link

n8ebel commented Feb 3, 2018

Terrific..thanks!!

@blundell
Copy link
Author

blundell commented Apr 18, 2018

@arvindpdmn sorry I missed the notification. Yes, run this from a terminal if you only have one device connected it will use adb to talk to it (also there is a terminal window inside Android Studio you could use).

Default startup scripts (I assume you mean on a device) - Android Things runs at a higher level of abstraction than having to run startup scripts. Your best bet is to put some code into your Application class onCreate method (googling this term will help you)

@davemckelvie
Copy link

Great idea, thank you!

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