Skip to content

Commit 69783fa

Browse files
CopilotPixelCode01
andcommitted
Complete shell scripts for all brands and update README
Co-authored-by: PixelCode01 <105023758+PixelCode01@users.noreply.github.com>
1 parent 8b19084 commit 69783fa

File tree

5 files changed

+1214
-5
lines changed

5 files changed

+1214
-5
lines changed

Huawei/huawei_remover.sh

Lines changed: 305 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,305 @@
1+
#!/system/bin/sh
2+
# Huawei Bloatware Remover for Shizuku
3+
# Remove unwanted pre-installed apps from Huawei devices
4+
# Compatible with Shizuku terminal environment
5+
# Version: 1.0
6+
7+
# Colors for better visibility (if terminal supports them)
8+
RED='\033[0;31m'
9+
GREEN='\033[0;32m'
10+
YELLOW='\033[1;33m'
11+
BLUE='\033[0;34m'
12+
NC='\033[0m' # No Color
13+
14+
# Function to print colored text
15+
print_colored() {
16+
local color=$1
17+
local text=$2
18+
printf "${color}${text}${NC}\n"
19+
}
20+
21+
# Function to print header
22+
print_header() {
23+
echo "=================================================="
24+
print_colored $BLUE "Huawei Bloatware Remover for Shizuku"
25+
print_colored $BLUE "Version 1.0"
26+
echo "=================================================="
27+
echo ""
28+
print_colored $YELLOW "WARNING: This script will remove applications from your device."
29+
print_colored $YELLOW "Always create a backup before proceeding."
30+
echo ""
31+
}
32+
33+
# Function to check if we're running in Shizuku environment
34+
check_environment() {
35+
if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then
36+
print_colored $RED "Warning: This script is designed for Shizuku environment."
37+
print_colored $YELLOW "Make sure you're running this through Shizuku terminal."
38+
echo ""
39+
read -p "Continue anyway? (y/n): " choice
40+
case "$choice" in
41+
y|Y) ;;
42+
*) exit 1 ;;
43+
esac
44+
fi
45+
}
46+
47+
# Function to create backup
48+
create_backup() {
49+
print_colored $BLUE "Creating backup of installed packages..."
50+
BACKUP_FILE="/sdcard/huawei_backup_$(date +%Y%m%d_%H%M%S).txt"
51+
pm list packages > "$BACKUP_FILE"
52+
if [ $? -eq 0 ]; then
53+
print_colored $GREEN "Backup created: $BACKUP_FILE"
54+
else
55+
print_colored $RED "Failed to create backup!"
56+
exit 1
57+
fi
58+
}
59+
60+
# Huawei bloatware packages categorized by risk level
61+
SAFE_PACKAGES="
62+
com.huawei.appmarket:Huawei AppGallery
63+
com.huawei.browser:Huawei Browser
64+
com.huawei.calculator:Huawei Calculator
65+
com.huawei.camera:Huawei Camera
66+
com.huawei.compass:Compass app
67+
com.huawei.desktop.explorer:File Manager
68+
com.huawei.gameassistant:Game Assistant
69+
com.huawei.gamebox:Game Center
70+
com.huawei.health:Huawei Health
71+
com.huawei.himovie:Huawei Video
72+
com.huawei.hmusic:Huawei Music
73+
com.huawei.magazine:Magazine Unlock
74+
com.huawei.mirror:Mirror app
75+
com.huawei.notepad:Notepad
76+
com.huawei.parentcontrol:Parental Control
77+
com.huawei.scanner:AI Scanner
78+
com.huawei.screenrecorder:Screen Recorder
79+
com.huawei.search:Huawei Search
80+
com.huawei.tips:Tips app
81+
com.huawei.translator:Translator
82+
com.huawei.vassistant:Voice Assistant
83+
com.huawei.wallet:Huawei Wallet
84+
com.huawei.weather:Weather app
85+
com.huawei.works:Docs app
86+
com.huawei.android.chr:User Experience Program
87+
com.huawei.android.karaoke:Karaoke feature
88+
com.huawei.android.thememanager:Theme Manager
89+
com.huawei.bd:Big Data service
90+
com.huawei.hiaction:HiAction automation
91+
com.huawei.hicard:HiCard service
92+
com.huawei.hifolder:HiFolder
93+
com.huawei.hitouch:HiTouch
94+
com.huawei.livewallpaper.paradise:Live wallpapers
95+
com.huawei.motionservice:Motion service
96+
com.huawei.nearby:Huawei Share
97+
com.huawei.stylus:Stylus support
98+
com.google.android.apps.docs:Google Drive
99+
com.google.android.apps.photos:Google Photos
100+
com.google.android.music:Google Play Music
101+
com.google.android.videos:Google Play Movies
102+
com.google.android.youtube:YouTube
103+
com.facebook.katana:Facebook
104+
com.facebook.orca:Facebook Messenger
105+
com.instagram.android:Instagram
106+
com.netflix.mediaclient:Netflix
107+
com.spotify.music:Spotify
108+
com.twitter.android:Twitter
109+
com.whatsapp:WhatsApp
110+
"
111+
112+
CAUTION_PACKAGES="
113+
com.huawei.android.launcher:Huawei Launcher
114+
com.huawei.contacts:Contacts app
115+
com.huawei.deskclock:Clock app
116+
com.huawei.gallery:Gallery app
117+
com.huawei.mms:Messages app
118+
com.huawei.phoneservice:Phone app
119+
com.huawei.android.internal.app:Internal apps
120+
com.huawei.fastapp:Quick App Center
121+
com.huawei.intelligent:HiAssistant
122+
com.huawei.powergenie:Power Genie
123+
com.google.android.gm:Gmail
124+
com.google.android.googlequicksearchbox:Google Search
125+
"
126+
127+
DANGEROUS_PACKAGES="
128+
com.huawei.android.hwaps:Huawei Mobile Services
129+
com.huawei.hwid.core:Huawei ID Core
130+
com.huawei.systemserver:System Server
131+
com.huawei.android.pushagent:Push service
132+
com.huawei.hwid:Huawei ID
133+
com.huawei.systemmanager:System Manager
134+
com.google.android.gms:Google Play Services
135+
"
136+
137+
# Function to remove packages
138+
remove_packages() {
139+
local packages="$1"
140+
local category="$2"
141+
local count=0
142+
local failed=0
143+
144+
print_colored $BLUE "Removing $category packages..."
145+
146+
echo "$packages" | while IFS=':' read -r package desc; do
147+
if [ -n "$package" ] && [ "$package" != "" ]; then
148+
echo "Removing: $desc ($package)"
149+
150+
# Try uninstalling first
151+
pm uninstall --user 0 "$package" 2>/dev/null
152+
if [ $? -eq 0 ]; then
153+
print_colored $GREEN "✓ Uninstalled: $package"
154+
count=$((count + 1))
155+
else
156+
# If uninstall fails, try disabling
157+
pm disable-user --user 0 "$package" 2>/dev/null
158+
if [ $? -eq 0 ]; then
159+
print_colored $YELLOW "⚠ Disabled: $package"
160+
count=$((count + 1))
161+
else
162+
print_colored $RED "✗ Failed: $package"
163+
failed=$((failed + 1))
164+
fi
165+
fi
166+
fi
167+
done
168+
169+
echo ""
170+
print_colored $GREEN "Processed packages in $category category"
171+
echo ""
172+
}
173+
174+
# Function for interactive removal
175+
interactive_removal() {
176+
print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ==="
177+
echo ""
178+
179+
print_colored $GREEN "SAFE packages (recommended to remove):"
180+
echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do
181+
if [ -n "$package" ]; then
182+
echo "$desc"
183+
fi
184+
done
185+
echo ""
186+
187+
read -p "Remove SAFE packages? (y/n): " choice
188+
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
189+
remove_packages "$SAFE_PACKAGES" "SAFE"
190+
fi
191+
192+
print_colored $YELLOW "CAUTION packages (may affect functionality):"
193+
echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do
194+
if [ -n "$package" ]; then
195+
echo "$desc"
196+
fi
197+
done
198+
echo ""
199+
200+
read -p "Remove CAUTION packages? (y/n): " choice
201+
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
202+
remove_packages "$CAUTION_PACKAGES" "CAUTION"
203+
fi
204+
205+
print_colored $RED "DANGEROUS packages (NOT recommended):"
206+
echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do
207+
if [ -n "$package" ]; then
208+
echo "$desc"
209+
fi
210+
done
211+
echo ""
212+
213+
read -p "Remove DANGEROUS packages? (y/n): " choice
214+
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
215+
print_colored $RED "WARNING: Removing these packages may break device functionality!"
216+
read -p "Are you absolutely sure? (yes/no): " confirm
217+
if [ "$confirm" = "yes" ]; then
218+
remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS"
219+
fi
220+
fi
221+
}
222+
223+
# Function for batch removal (safe packages only)
224+
batch_removal() {
225+
print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ==="
226+
echo ""
227+
print_colored $YELLOW "This will remove all SAFE Huawei bloatware packages."
228+
print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality."
229+
echo ""
230+
231+
read -p "Continue with batch removal? (y/n): " choice
232+
if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then
233+
remove_packages "$SAFE_PACKAGES" "SAFE"
234+
print_colored $GREEN "Batch removal completed!"
235+
else
236+
print_colored $YELLOW "Batch removal cancelled."
237+
fi
238+
}
239+
240+
# Function to list all installed packages
241+
list_all_packages() {
242+
print_colored $BLUE "=== ALL INSTALLED PACKAGES ==="
243+
echo ""
244+
print_colored $YELLOW "Listing all installed packages (this may take a moment)..."
245+
pm list packages -f | sort
246+
echo ""
247+
print_colored $GREEN "Package listing completed."
248+
}
249+
250+
# Main menu
251+
show_menu() {
252+
echo ""
253+
print_colored $BLUE "=== HUAWEI BLOATWARE REMOVER MENU ==="
254+
echo "1. Interactive removal (recommended)"
255+
echo "2. Batch removal (remove all safe packages)"
256+
echo "3. List all installed packages"
257+
echo "4. Create backup only"
258+
echo "5. Exit"
259+
echo ""
260+
read -p "Choose an option (1-5): " choice
261+
262+
case $choice in
263+
1)
264+
create_backup
265+
interactive_removal
266+
;;
267+
2)
268+
create_backup
269+
batch_removal
270+
;;
271+
3)
272+
list_all_packages
273+
;;
274+
4)
275+
create_backup
276+
print_colored $GREEN "Backup created successfully!"
277+
;;
278+
5)
279+
print_colored $GREEN "Exiting Huawei Bloatware Remover."
280+
exit 0
281+
;;
282+
*)
283+
print_colored $RED "Invalid option. Please choose 1-5."
284+
show_menu
285+
;;
286+
esac
287+
}
288+
289+
# Main execution
290+
main() {
291+
print_header
292+
check_environment
293+
294+
# Check if pm command is available
295+
if ! command -v pm >/dev/null 2>&1; then
296+
print_colored $RED "Error: 'pm' command not found!"
297+
print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions."
298+
exit 1
299+
fi
300+
301+
show_menu
302+
}
303+
304+
# Run the script
305+
main

0 commit comments

Comments
 (0)