File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # batch_permission_revoke.sh -- Revoke permissions from multiple apps matching a pattern
3+ # Usage: ./batch_permission_revoke.sh google CAMERA LOCATION
4+ # ./batch_permission_revoke.sh facebook READ_CONTACTS GET_ACCOUNTS
5+
6+ PATTERN=" ${1:? Usage: $0 <package-pattern> <perm1> <perm2> ...} "
7+ shift
8+ PERMS=(" $@ " )
9+
10+ [[ ${# PERMS[@]} -eq 0 ]] && { echo " No permissions specified" ; exit 1; }
11+
12+ echo " 🔐 Batch Permission Revoker"
13+ echo " Pattern: $PATTERN "
14+ echo " Permissions: ${PERMS[@]} "
15+ echo " "
16+
17+ PKGS=$( adb shell pm list packages | grep " $PATTERN " | sed ' s/package://' )
18+ COUNT=$( echo " $PKGS " | wc -l)
19+ echo " Found $COUNT matching packages\n"
20+
21+ REVOKED=0
22+ for pkg in $PKGS ; do
23+ for perm in " ${PERMS[@]} " ; do
24+ full_perm=" android.permission.$perm "
25+ result=$( adb shell pm revoke " $pkg " " $full_perm " 2>&1 )
26+ if [ $? -eq 0 ]; then
27+ echo " ✓ $pkg : $perm "
28+ (( REVOKED++ ))
29+ fi
30+ done
31+ done
32+
33+ echo " "
34+ echo " ✅ Revoked $REVOKED permission(s)"
You can’t perform that action at this time.
0 commit comments