diff --git a/Honor/SHIZUKU_USAGE.md b/Honor/SHIZUKU_USAGE.md new file mode 100644 index 0000000..fa0b21d --- /dev/null +++ b/Honor/SHIZUKU_USAGE.md @@ -0,0 +1,167 @@ +# Honor Bloatware Remover - Shizuku Version + +This shell script version is specifically designed for Honor device users who want to remove bloatware using **Shizuku** without needing a PC. + +## What is Shizuku? + +Shizuku is an Android app that allows you to run ADB commands directly on your device without connecting to a computer. It's perfect for removing bloatware when you don't have access to a PC. + +## Prerequisites + +1. **Honor device** running Magic UI (any version) +2. **Shizuku app** installed and activated +3. **Terminal app** that supports Shizuku (like Termux or Shizuku's built-in terminal) + +## Installation Steps + +### Step 1: Install and Setup Shizuku + +1. Download **Shizuku** from: + - [GitHub Releases](https://github.com/RikkaApps/Shizuku/releases) + - [Google Play Store](https://play.google.com/store/apps/details?id=moe.shizuku.privileged.api) + +2. **Enable Developer Options** on your Honor device: + - Go to Settings → About Phone + - Tap "Build Number" 7 times + - Go back to Settings → System & Updates → Developer Options + - Enable "USB Debugging" + +3. **Activate Shizuku**: + - Connect your device to a PC once (just for Shizuku setup) + - Enable USB Debugging and authorize the computer + - Open Shizuku app and follow the setup instructions + - Once activated, you can disconnect from PC + +### Step 2: Download the Script + +1. Download the `honor_remover.sh` script to your device +2. Save it to `/sdcard/` or any accessible location + +### Step 3: Run the Script + +1. Open your terminal app (with Shizuku support) +2. Grant Shizuku permissions to the terminal app +3. Navigate to where you saved the script: + ```bash + cd /sdcard/ + ``` +4. Make sure the script is executable: + ```bash + chmod +x honor_remover.sh + ``` +5. Run the script: + ```bash + ./honor_remover.sh + ``` + +## Usage Options + +The script provides several modes: + +### 1. Interactive Removal (Recommended) +- Shows only installed bloatware packages +- Categorizes by risk level (SAFE, CAUTION, DANGEROUS) +- Lets you select specific packages to remove + +### 2. Batch Removal +- Removes all SAFE packages automatically +- Creates backup before removal +- Fastest method for maximum bloatware removal + +### 3. List All Packages +- Shows every installed package on your device +- Useful for identifying unknown bloatware + +### 4. Create Backup Only +- Creates a backup of installed packages +- Recommended before any removal + +## Safety Features + +- **Automatic Backup**: Creates package list backup before removal +- **Risk Levels**: + - 🟢 **SAFE**: No impact on core functionality + - 🟡 **CAUTION**: May affect some features + - 🔴 **DANGEROUS**: Critical system components +- **Confirmation Prompts**: Prevents accidental removal +- **Detailed Logging**: Shows exactly what was removed + +## Package Categories + +### SAFE Packages (Recommended for Removal) +- Honor AppGallery +- Honor Browser +- Honor Music/Video +- Game Center +- Various Honor utilities +- Pre-installed social media apps + +### CAUTION Packages (Remove with Care) +- Honor Launcher (install alternative first) +- Default Phone/Messages apps +- Gallery app +- Assistant services + +### DANGEROUS Packages (DO NOT REMOVE) +- Honor Mobile Services +- System Server +- Core Honor ID services + +## Troubleshooting + +### Script Won't Run +- Ensure Shizuku is active and has proper permissions +- Check that your terminal app has Shizuku access +- Verify the script file permissions (`chmod +x honor_remover.sh`) + +### Packages Won't Remove +- Some system packages may only be disabled, not fully removed +- This is normal behavior for certain core apps +- Check if Shizuku is still active + +### Device Issues After Removal +- Restart your device first +- If problems persist, you can reinstall packages from Honor AppGallery +- In extreme cases, factory reset will restore everything + +## Recommended Terminal Apps + +1. **Termux** (with Shizuku add-on) +2. **Material Terminal** (Shizuku compatible) +3. **Terminal Emulator** (various Shizuku-compatible versions) + +## Important Notes + +- ⚠️ **Always backup** your device before removing packages +- 🔄 Some apps may return after Magic UI updates +- 📱 Test on a secondary device first if possible +- 🏭 Factory reset will restore all removed applications +- 🔧 This script is specifically for Honor devices with Magic UI + +## What Gets Removed + +This script targets common Honor bloatware including: +- Pre-installed social media apps (Facebook, Instagram, etc.) +- Honor's duplicate apps (when you have alternatives) +- Unnecessary system utilities +- Regional bloatware apps +- Marketing and data collection services + +## Support + +If you encounter issues: +1. Check that your Honor device is supported +2. Ensure Shizuku is properly activated +3. Verify you have the necessary permissions +4. Try running individual commands manually first + +## Alternative Method (Without Shizuku) + +If you have access to a PC with ADB: +1. Use the Python version from the main repository +2. Follow the standard ADB setup instructions +3. Run the interactive Python script + +--- + +**Remember**: Removing system apps can affect device functionality. Always understand what you're removing and create backups first. \ No newline at end of file diff --git a/Honor/honor-bloatware-list.md b/Honor/honor-bloatware-list.md index 2a87bf1..33de74e 100644 --- a/Honor/honor-bloatware-list.md +++ b/Honor/honor-bloatware-list.md @@ -2,6 +2,12 @@ This document contains a comprehensive list of bloatware packages found on Honor devices running Magic UI. Each package is categorized by risk level to help you make informed removal decisions. +## Available Tools + +- **Python Script**: `honor_remover.py` - For use with PC and ADB +- **Shell Script**: `honor_remover.sh` - For use with Shizuku (no PC required) +- **Shizuku Guide**: See [SHIZUKU_USAGE.md](SHIZUKU_USAGE.md) for setup instructions + ## Risk Levels - **SAFE**: Can be removed without affecting core functionality - **CAUTION**: May affect some features, remove with care @@ -122,4 +128,18 @@ This document contains a comprehensive list of bloatware packages found on Honor - Factory reset will restore all removed applications - Use the interactive removal mode for safer operation - Honor devices may have different packages depending on region -- Magic UI updates may restore some removed apps \ No newline at end of file +- Magic UI updates may restore some removed apps + +## Using the Tools + +### Python Script (PC Required) +```bash +python honor_remover.py +``` + +### Shell Script (Shizuku - No PC Required) +```bash +./honor_remover.sh +``` + +For detailed Shizuku setup instructions, see [SHIZUKU_USAGE.md](SHIZUKU_USAGE.md). \ No newline at end of file diff --git a/Honor/honor_remover.sh b/Honor/honor_remover.sh new file mode 100755 index 0000000..8b0e633 --- /dev/null +++ b/Honor/honor_remover.sh @@ -0,0 +1,393 @@ +#!/system/bin/sh +# Honor Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Honor devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Honor Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/honor_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup" + return 1 + fi +} + +# Honor Safe Packages (can be removed without affecting core functionality) +declare_safe_packages() { + SAFE_PACKAGES=" +com.hihonor.appmarket:Honor_AppGallery +com.hihonor.browser:Honor_Browser +com.hihonor.calculator:Honor_Calculator +com.hihonor.compass:Compass_app +com.hihonor.filemanager:File_Manager +com.hihonor.gameassistant:Game_Assistant +com.hihonor.gamecenter:Game_Center +com.hihonor.health:Honor_Health +com.hihonor.himovie:Honor_Video +com.hihonor.music:Honor_Music +com.hihonor.notepad:Notepad +com.hihonor.parentcontrol:Parental_Control +com.hihonor.scanner:AI_Scanner +com.hihonor.screenrecorder:Screen_Recorder +com.hihonor.search:Honor_Search +com.hihonor.tips:Tips_app +com.hihonor.translator:Translator +com.hihonor.vassistant:Voice_Assistant +com.hihonor.wallet:Honor_Wallet +com.hihonor.weather:Weather_app +com.hihonor.yoyo:YOYO_Assistant +com.hihonor.android.chr:User_Experience_Program +com.hihonor.android.karaoke:Karaoke_feature +com.hihonor.android.thememanager:Theme_Manager +com.hihonor.bd:Big_Data_service +com.hihonor.hiaction:HiAction_automation +com.hihonor.hicard:HiCard_service +com.hihonor.hifolder:HiFolder +com.hihonor.hitouch:HiTouch +com.hihonor.livewallpaper:Live_wallpapers +com.hihonor.motionservice:Motion_service +com.hihonor.nearby:Honor_Share +com.hihonor.stylus:Stylus_support +com.hihonor.magicui.smartcare:Smart_Care +com.hihonor.magicui.optimization:System_Optimization +" +} + +# Honor Caution Packages (may affect some features) +declare_caution_packages() { + CAUTION_PACKAGES=" +com.hihonor.android.launcher:Honor_Launcher +com.hihonor.contacts:Contacts_app +com.hihonor.deskclock:Clock_app +com.hihonor.gallery:Gallery_app +com.hihonor.mms:Messages_app +com.hihonor.phone:Phone_app +com.hihonor.fastapp:Quick_App_Center +com.hihonor.intelligent:HiAssistant +com.hihonor.powergenie:Power_Genie +com.hihonor.magicui.assistant:Magic_UI_Assistant +" +} + +# Honor Dangerous Packages (critical system components) +declare_dangerous_packages() { + DANGEROUS_PACKAGES=" +com.hihonor.android.hms:Honor_Mobile_Services +com.hihonor.hwid:Honor_ID +com.hihonor.systemserver:System_Server +com.hihonor.android.pushagent:Push_service +com.hihonor.hwid.core:Honor_ID_Core +com.hihonor.systemmanager:System_Manager +" +} + +# Third-party Safe Packages +declare_third_party_packages() { + THIRD_PARTY_PACKAGES=" +com.facebook.katana:Facebook +com.facebook.orca:Facebook_Messenger +com.instagram.android:Instagram +com.netflix.mediaclient:Netflix +com.spotify.music:Spotify +com.twitter.android:Twitter +com.whatsapp:WhatsApp +com.booking:Booking.com +com.tripadvisor.tripadvisor:TripAdvisor +" +} + +# Function to check if package is installed +is_package_installed() { + local package=$1 + pm list packages | grep -q "package:$package" +} + +# Function to remove a package +remove_package() { + local package=$1 + local description=$2 + + print_colored $BLUE "Removing: $description ($package)" + + # Try to uninstall for current user first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Successfully removed: $description" + return 0 + fi + + # If that fails, try disable + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "✓ Disabled: $description (could not uninstall)" + return 0 + fi + + print_colored $RED "✗ Failed to remove: $description" + return 1 +} + +# Function to display packages with selection +show_package_category() { + local category_name=$1 + local packages=$2 + local risk_color=$3 + local risk_level=$4 + + echo "" + print_colored $BLUE "=== $category_name ===" + echo "" + + local count=0 + local installed_packages="" + + echo "$packages" | while IFS=: read -r package description; do + if [ -n "$package" ] && [ -n "$description" ]; then + if is_package_installed "$package"; then + count=$((count + 1)) + printf "%2d. [%s%s%s] %s\n" "$count" "$risk_color" "$risk_level" "$NC" "$description" + printf " Package: %s\n" "$package" + echo "" + installed_packages="$installed_packages$count:$package:$description " + fi + fi + done + + if [ $count -eq 0 ]; then + print_colored $YELLOW "No packages from this category are currently installed." + fi + + return $count +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "Interactive Removal Mode" + print_colored $YELLOW "Only showing packages that are currently installed on your device" + echo "" + + declare_safe_packages + declare_caution_packages + declare_dangerous_packages + declare_third_party_packages + + # Show safe packages + show_package_category "SAFE PACKAGES (Can be removed safely)" "$SAFE_PACKAGES" "$GREEN" "SAFE" + safe_count=$? + + # Show caution packages + show_package_category "CAUTION PACKAGES (May affect some features)" "$CAUTION_PACKAGES" "$YELLOW" "CAUTION" + caution_count=$? + + # Show dangerous packages + show_package_category "DANGEROUS PACKAGES (Critical system components)" "$DANGEROUS_PACKAGES" "$RED" "DANGEROUS" + dangerous_count=$? + + # Show third-party packages + show_package_category "THIRD-PARTY PACKAGES (Pre-installed bloatware)" "$THIRD_PARTY_PACKAGES" "$GREEN" "SAFE" + third_party_count=$? + + total_count=$((safe_count + caution_count + dangerous_count + third_party_count)) + + if [ $total_count -eq 0 ]; then + print_colored $YELLOW "No bloatware packages found on your device." + return + fi + + echo "" + print_colored $BLUE "Found $total_count removable packages" + echo "" + print_colored $YELLOW "You can enter:" + echo "- Individual numbers: 1,3,5" + echo "- Ranges: 1-5" + echo "- Mixed: 1,3-5,7" + echo "- 'all' to select all SAFE packages only" + echo "- 'quit' to exit" + echo "" + + read -p "Enter your selection: " selection + + if [ "$selection" = "quit" ]; then + exit 0 + fi + + # Process selection (simplified for shell) + if [ "$selection" = "all" ]; then + print_colored $YELLOW "Removing all SAFE packages..." + remove_safe_packages + else + print_colored $YELLOW "Manual selection processing not fully implemented in this version." + print_colored $YELLOW "Use 'all' for safe packages or try batch mode." + fi +} + +# Function to remove safe packages +remove_safe_packages() { + declare_safe_packages + declare_third_party_packages + + local removed_count=0 + local failed_count=0 + + print_colored $BLUE "Removing SAFE Honor packages..." + echo "$SAFE_PACKAGES" | while IFS=: read -r package description; do + if [ -n "$package" ] && [ -n "$description" ]; then + if is_package_installed "$package"; then + if remove_package "$package" "$description"; then + removed_count=$((removed_count + 1)) + else + failed_count=$((failed_count + 1)) + fi + fi + fi + done + + print_colored $BLUE "Removing third-party bloatware..." + echo "$THIRD_PARTY_PACKAGES" | while IFS=: read -r package description; do + if [ -n "$package" ] && [ -n "$description" ]; then + if is_package_installed "$package"; then + if remove_package "$package" "$description"; then + removed_count=$((removed_count + 1)) + else + failed_count=$((failed_count + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Removal completed!" + echo "Packages processed. Check the output above for detailed results." +} + +# Function for batch removal +batch_removal() { + print_colored $RED "BATCH REMOVAL MODE" + print_colored $YELLOW "This will remove ALL safe Honor bloatware packages at once." + print_colored $YELLOW "This action cannot be easily undone." + echo "" + + read -p "Are you sure you want to continue? (type 'yes' to confirm): " confirm + + if [ "$confirm" = "yes" ]; then + create_backup + if [ $? -eq 0 ]; then + remove_safe_packages + else + print_colored $RED "Backup failed. Aborting for safety." + exit 1 + fi + else + print_colored $YELLOW "Operation cancelled." + fi +} + +# Function to list all packages +list_all_packages() { + print_colored $BLUE "Listing all installed packages on your device..." + print_colored $YELLOW "This may take a moment..." + echo "" + + pm list packages | sed 's/package://' | sort + + echo "" + print_colored $BLUE "Package listing completed." + print_colored $YELLOW "To remove specific packages, use: pm uninstall --user 0 " +} + +# Main menu +show_main_menu() { + print_header + check_environment + + echo "Available options:" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + + read -p "Select option (1-5): " choice + + case $choice in + 1) + interactive_removal + ;; + 2) + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + ;; + 5) + print_colored $BLUE "Exiting..." + exit 0 + ;; + *) + print_colored $RED "Invalid choice. Please select 1-5." + show_main_menu + ;; + esac +} + +# Script entry point +main() { + # Make sure we have necessary permissions + if [ "$(id -u)" = "0" ]; then + print_colored $YELLOW "Running as root. This is normal in Shizuku environment." + fi + + show_main_menu +} + +# Run the script +main "$@" \ No newline at end of file diff --git a/Huawei/huawei_remover.sh b/Huawei/huawei_remover.sh new file mode 100755 index 0000000..13a20a8 --- /dev/null +++ b/Huawei/huawei_remover.sh @@ -0,0 +1,305 @@ +#!/system/bin/sh +# Huawei Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Huawei devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Huawei Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/huawei_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Huawei bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.huawei.appmarket:Huawei AppGallery +com.huawei.browser:Huawei Browser +com.huawei.calculator:Huawei Calculator +com.huawei.camera:Huawei Camera +com.huawei.compass:Compass app +com.huawei.desktop.explorer:File Manager +com.huawei.gameassistant:Game Assistant +com.huawei.gamebox:Game Center +com.huawei.health:Huawei Health +com.huawei.himovie:Huawei Video +com.huawei.hmusic:Huawei Music +com.huawei.magazine:Magazine Unlock +com.huawei.mirror:Mirror app +com.huawei.notepad:Notepad +com.huawei.parentcontrol:Parental Control +com.huawei.scanner:AI Scanner +com.huawei.screenrecorder:Screen Recorder +com.huawei.search:Huawei Search +com.huawei.tips:Tips app +com.huawei.translator:Translator +com.huawei.vassistant:Voice Assistant +com.huawei.wallet:Huawei Wallet +com.huawei.weather:Weather app +com.huawei.works:Docs app +com.huawei.android.chr:User Experience Program +com.huawei.android.karaoke:Karaoke feature +com.huawei.android.thememanager:Theme Manager +com.huawei.bd:Big Data service +com.huawei.hiaction:HiAction automation +com.huawei.hicard:HiCard service +com.huawei.hifolder:HiFolder +com.huawei.hitouch:HiTouch +com.huawei.livewallpaper.paradise:Live wallpapers +com.huawei.motionservice:Motion service +com.huawei.nearby:Huawei Share +com.huawei.stylus:Stylus support +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.facebook.katana:Facebook +com.facebook.orca:Facebook Messenger +com.instagram.android:Instagram +com.netflix.mediaclient:Netflix +com.spotify.music:Spotify +com.twitter.android:Twitter +com.whatsapp:WhatsApp +" + +CAUTION_PACKAGES=" +com.huawei.android.launcher:Huawei Launcher +com.huawei.contacts:Contacts app +com.huawei.deskclock:Clock app +com.huawei.gallery:Gallery app +com.huawei.mms:Messages app +com.huawei.phoneservice:Phone app +com.huawei.android.internal.app:Internal apps +com.huawei.fastapp:Quick App Center +com.huawei.intelligent:HiAssistant +com.huawei.powergenie:Power Genie +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +" + +DANGEROUS_PACKAGES=" +com.huawei.android.hwaps:Huawei Mobile Services +com.huawei.hwid.core:Huawei ID Core +com.huawei.systemserver:System Server +com.huawei.android.pushagent:Push service +com.huawei.hwid:Huawei ID +com.huawei.systemmanager:System Manager +com.google.android.gms:Google Play Services +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Huawei bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== HUAWEI BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Huawei Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Motorola/motorola_remover.sh b/Motorola/motorola_remover.sh new file mode 100755 index 0000000..6f37ffd --- /dev/null +++ b/Motorola/motorola_remover.sh @@ -0,0 +1,305 @@ +#!/system/bin/sh +# Motorola Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Motorola devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Motorola Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/motorola_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Motorola bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.motorola.camera3:Motorola Camera +com.motorola.ccc.notification:CCC Notification +com.motorola.demo:Demo mode +com.motorola.faceunlock:Face Unlock +com.motorola.gamemode:Game Mode +com.motorola.help:Motorola Help +com.motorola.launcher3:Motorola Launcher +com.motorola.moto:Moto app +com.motorola.motocare:Moto Care +com.motorola.motodisplay:Moto Display +com.motorola.motovoice:Moto Voice +com.motorola.personalize:Moto Personalize +com.motorola.scanner:Moto Scanner +com.motorola.timeweatherwidget:Time Weather Widget +com.motorola.visualizer:Audio Visualizer +com.motorola.wallpaper:Motorola Wallpapers +com.motorola.weather:Weather app +com.motorola.actions:Moto Actions +com.motorola.audiomonitor:Audio Monitor +com.motorola.cameraone:Camera One +com.motorola.dolby.dolbyui:Dolby Audio +com.motorola.gestureservice:Gesture Service +com.motorola.moto.checkin:Moto Check-in +com.motorola.notification:Moto Notification +com.motorola.omadm.service:OMA DM Service +com.motorola.slpc:SLPC Service +com.motorola.targetnotif:Target Notification +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.apps.youtube.music:YouTube Music +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.google.android.keep:Google Keep +com.google.ar.lens:Google Lens +com.verizon.mips.services:Verizon Services +com.verizon.obdm:Verizon Device Management +com.verizon.services:Verizon Services +com.vzw.apnlib:Verizon APN Library +com.vzw.hss.myverizon:My Verizon +com.vcast.mediamanager:Verizon Media Manager +com.att.android.attsmartwifi:AT&T Smart Wi-Fi +com.att.dh:AT&T Device Help +com.att.dtv.shaderemote:AT&T TV Remote +com.att.myWireless:myAT&T +com.att.tv:AT&T TV +" + +CAUTION_PACKAGES=" +com.motorola.android.providers.imei:IMEI provider +com.motorola.contacts:Motorola Contacts +com.motorola.gallery:Motorola Gallery +com.motorola.messaging:Motorola Messages +com.motorola.motocare.internal:Moto Care Internal +com.motorola.motosignature.app:Moto Signature +com.motorola.android.settings.intelligence:Settings Intelligence +com.motorola.ccc.ota:OTA Updates +com.motorola.devicestatistics:Device Statistics +com.motorola.modservice:Mod Service +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +com.google.android.inputmethod.latin:Gboard +" + +DANGEROUS_PACKAGES=" +com.motorola.android.providers.settings:Settings provider +com.motorola.frameworks.core.addon:Motorola Framework +com.motorola.service.main:Motorola Main Service +com.motorola.bootquiet:Boot Service +com.google.android.gms:Google Play Services +com.google.android.gsf:Google Services Framework +com.google.android.tts:Text-to-speech +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Motorola bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== MOTOROLA BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Motorola Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Nothing/nothing_remover.sh b/Nothing/nothing_remover.sh new file mode 100755 index 0000000..b21c250 --- /dev/null +++ b/Nothing/nothing_remover.sh @@ -0,0 +1,281 @@ +#!/system/bin/sh +# Nothing Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Nothing devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Nothing Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/nothing_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Nothing bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.nothing.camera:Nothing Camera +com.nothing.gallery:Nothing Gallery +com.nothing.launcher:Nothing Launcher +com.nothing.recorder:Nothing Recorder +com.nothing.weather:Nothing Weather +com.nothing.widgets:Nothing Widgets +com.nothing.wallpapers:Nothing Wallpapers +com.nothing.icons:Nothing Icon Pack +com.nothing.sounds:Nothing Sounds +com.nothing.ringtones:Nothing Ringtones +com.nothing.customization:Nothing Customization +com.nothing.themes:Nothing Themes +com.nothing.fonts:Nothing Fonts +com.nothing.animations:Nothing Animations +com.nothing.bootanimation:Boot Animation +com.nothing.lockscreen:Lock Screen Customization +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.apps.youtube.music:YouTube Music +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.google.android.keep:Google Keep +com.google.ar.lens:Google Lens +com.google.android.apps.wellbeing:Digital Wellbeing +" + +CAUTION_PACKAGES=" +com.nothing.smartcenter:Nothing Smart Center +com.nothing.glyph:Glyph Interface +com.nothing.settings:Nothing Settings Extensions +com.nothing.assistant:Nothing Assistant +com.nothing.optimization:System Optimization +com.nothing.security:Nothing Security +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +com.google.android.inputmethod.latin:Gboard +com.google.android.calendar:Google Calendar +" + +DANGEROUS_PACKAGES=" +com.nothing.framework:Nothing Framework +com.nothing.systemui:Nothing System UI +com.nothing.core:Nothing Core Services +com.nothing.system:Nothing System Services +com.google.android.gms:Google Play Services +com.google.android.gsf:Google Services Framework +com.google.android.tts:Text-to-speech +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Nothing bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== NOTHING BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Nothing Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/OnePlus/oneplus_remover.sh b/OnePlus/oneplus_remover.sh new file mode 100755 index 0000000..0e75a4b --- /dev/null +++ b/OnePlus/oneplus_remover.sh @@ -0,0 +1,323 @@ +#!/system/bin/sh +# OnePlus Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from OnePlus devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "OnePlus Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/oneplus_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# OnePlus bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.oneplus.account:OnePlus Account service +com.oneplus.backuprestore:OnePlus Clone Phone +com.oneplus.brickmode:Brick mode service +com.oneplus.calculator:OnePlus Calculator +com.oneplus.camera:OnePlus Camera +com.oneplus.card:OnePlus Card service +com.oneplus.cloud:OnePlus Cloud storage +com.oneplus.compass:Compass application +com.oneplus.deskclock:Clock and alarm app +com.oneplus.filemanager:OnePlus File Manager +com.oneplus.gallery:OnePlus Gallery +com.oneplus.gamespace:Game Space +com.oneplus.iconpack.circle:Circle icon pack +com.oneplus.iconpack.square:Square icon pack +com.oneplus.market:OnePlus Store +com.oneplus.note:OnePlus Notes +com.oneplus.opsocialnetwork:OnePlus Community +com.oneplus.screenshot:Screenshot service +com.oneplus.skin:OnePlus themes +com.oneplus.soundrecorder:Sound recorder +com.oneplus.weather:OnePlus Weather +com.oneplus.widget:OnePlus widgets +com.oneplus.worklife:Work Life Balance +net.oneplus.commonlogtool:Common log tool +net.oneplus.odm:ODM service +net.oneplus.oemtcma:OEM TCMA service +net.oneplus.push:OnePlus push service +net.oneplus.weather:Weather service +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.apps.youtube.music:YouTube Music +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.google.android.keep:Google Keep +com.google.android.apps.tachyon:Google Duo +com.google.ar.lens:Google Lens +com.google.android.feedback:Google Feedback +com.netflix.mediaclient:Netflix +com.netflix.partner.activation:Netflix activation +com.facebook.katana:Facebook +com.facebook.orca:Facebook Messenger +com.facebook.services:Facebook Services +com.facebook.system:Facebook System +com.instagram.android:Instagram +com.spotify.music:Spotify +com.qualcomm.qti.workloadclassifier:Workload classifier +com.qualcomm.qti.poweroffalarm:Power off alarm +com.qualcomm.qti.devicestatisticsservice:Device statistics +com.android.bips:Built-in Print Service +com.android.bookmarkprovider:Bookmark provider +com.android.printspooler:Print spooler +com.android.wallpaperbackup:Wallpaper backup +com.android.wallpapercropper:Wallpaper cropper +" + +CAUTION_PACKAGES=" +com.oneplus.contacts:OnePlus Contacts +com.oneplus.dialer:OnePlus Phone app +com.oneplus.launcher:OnePlus Launcher +com.oneplus.mms:OnePlus Messages +com.oneplus.music:OnePlus Music player +com.oneplus.setupwizard:Setup wizard +com.oneplus.systemui:System UI components +net.oneplus.launcher:OxygenOS Launcher +net.oneplus.opsystemhelper:System helper +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +com.google.android.inputmethod.latin:Gboard +com.google.android.calendar:Google Calendar +com.qualcomm.qti.callenhancement:Call enhancement +com.qualcomm.qti.callfeaturessetting:Call features +com.qualcomm.qti.dynamicddsservice:Dynamic DDS service +com.qualcomm.qti.simsettings:SIM settings +com.android.chrome:Chrome browser +com.android.mms.service:MMS service +" + +DANGEROUS_PACKAGES=" +com.oneplus.framework:OnePlus framework +com.oneplus.opbugreportlite:Bug reporting service +com.oneplus.security:Security framework +net.oneplus.opdiagnose:System diagnostics +com.google.android.gms:Google Play Services +com.google.android.gsf:Google Services Framework +com.google.android.tts:Text-to-speech +com.qualcomm.qti.ims:IMS service for VoLTE +com.qualcomm.qti.telephonyservice:Telephony service +com.android.cellbroadcastreceiver:Emergency alerts +com.android.emergency:Emergency information +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE OnePlus bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== ONEPLUS BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting OnePlus Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Oppo/oppo_remover.sh b/Oppo/oppo_remover.sh new file mode 100755 index 0000000..604e6f4 --- /dev/null +++ b/Oppo/oppo_remover.sh @@ -0,0 +1,319 @@ +#!/system/bin/sh +# Oppo Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Oppo devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Oppo Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/oppo_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Oppo bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.android.bips:Built-in Print Service +com.android.bookmarkprovider:Browser bookmark storage +com.android.egg:Android Easter Egg +com.android.printspooler:Mobile printing service +com.android.wallpaper.livepicker:Live wallpaper selector +com.android.wallpaperbackup:Wallpaper backup service +com.android.wallpapercropper:Wallpaper cropping tool +com.caf.fmradio:FM Radio service +com.coloros.aftersalesservice:After-sales service app +com.coloros.childrenspace:Kids Space mode +com.coloros.compass2:Compass application +com.coloros.focusmode:Focus Mode for productivity +com.coloros.gamespace:Game Center +com.coloros.healthcheck:Device health checker +com.coloros.healthservice:Device health service +com.coloros.musiclink:Music Party sharing +com.coloros.safesdkproxy:Phone Cleaner +com.coloros.screenrecorder:Screen recording app +com.coloros.speechassist:Voice assistant +com.coloros.translate.engine:Translation service +com.coloros.video:Video player +com.coloros.wallpapers:Wallpaper collection +com.coloros.widget.smallweather:Weather widget +com.google.android.apps.googleassistant:Google Assistant +com.google.android.apps.nbu.files:Files by Google +com.google.android.apps.nbu.paisa.user:Google Pay +com.google.android.apps.photos:Google Photos +com.google.android.apps.wellbeing:Digital Wellbeing +com.google.android.feedback:Google Feedback +com.google.android.keep:Google Keep notes +com.google.android.music:Google Play Music +com.google.android.projection.gearhead:Android Auto +com.google.android.soundpicker:Sound picker +com.google.android.talk:Google Talk +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.google.ar.core:Google ARCore +com.google.ar.lens:Google Lens +com.qualcomm.qti.optinoverlay:Qualcomm opt-in overlay +com.qualcomm.qti.simcontacts:SIM contact management +" + +CAUTION_PACKAGES=" +com.android.chrome:Google Chrome browser +com.android.mms.service:SMS/MMS messaging service +com.android.providers.calendar:Calendar data provider +com.android.providers.partnerbookmarks:Chrome bookmarks +com.android.providers.userdictionary:Keyboard dictionary +com.coloros.alarmclock:Alarm and clock app +com.coloros.assistantscreen:Smart Assistant +com.coloros.backuprestore:Clone Phone backup +com.coloros.calculator:Calculator app +com.coloros.cloud:Oppo Cloud storage +com.coloros.filemanager:File Manager +com.coloros.floatassistant:Floating window assistant +com.coloros.gallery3d:Gallery app +com.coloros.securepay:Secure payment service +com.coloros.smartsidebar:Smart Sidebar +com.coloros.soundrecorder:Voice recorder +com.coloros.weather.service:Weather service +com.google.android.apps.maps:Google Maps +com.google.android.apps.messaging:Google Messages +com.google.android.calendar:Google Calendar +com.google.android.documentsui:Files app +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +com.google.android.inputmethod.latin:Gboard keyboard +com.google.android.contacts:Google Contacts +com.mediatek.atci.service:AT command interface +com.mediatek.connectivity:Connectivity service +com.mediatek.dm:Device management +com.mediatek.mtklogger:System logger +com.mediatek.omacp:OMA client provisioning +com.mediatek.simcontacts:SIM contacts +com.mediatek.selftest:Hardware self-test +com.mediatek.settings.ext:Settings extensions +com.mediatek.voicecommand:Voice command service +" + +DANGEROUS_PACKAGES=" +com.android.cellbroadcastreceiver:Emergency alerts system +com.android.cellbroadcastreceiver.overlay.common:Emergency alerts overlay +com.android.vpndialogs:VPN connection dialogs +com.qualcomm.qti.ims:IMS service for calls +com.qualcomm.qti.telephonyservice:Telephony service +com.google.android.marvin.talkback:Accessibility service +com.google.android.tts:Text-to-speech engine +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Oppo bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== OPPO BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Oppo Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/README.md b/README.md index 76b3710..721ea54 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,28 @@ Your phone comes with tons of apps you never asked for. This tool helps you get **Note**: Windows Defender may show a false positive. See [SECURITY.md](SECURITY.md) for details. +## No PC? Use Shizuku! + +**Remove bloatware directly on your phone** using Shizuku - No PC required! + +1. Install [Shizuku](https://github.com/RikkaApps/Shizuku/releases) on your device +2. Download the shell script for your brand: + - **Samsung**: `Samsung/samsung_remover.sh` + - **Xiaomi**: `Xiaomi/xiaomi_remover.sh` + - **OnePlus**: `OnePlus/oneplus_remover.sh` + - **Realme**: `Realme/realme_remover.sh` + - **Oppo**: `Oppo/oppo_remover.sh` + - **Vivo**: `Vivo/vivo_remover.sh` + - **Huawei**: `Huawei/huawei_remover.sh` + - **Honor**: `Honor/honor_remover.sh` + - **Motorola**: `Motorola/motorola_remover.sh` + - **Nothing**: `Nothing/nothing_remover.sh` + - **Tecno**: `Tecno/tecno_remover.sh` +3. Run the script using a Shizuku-compatible terminal +4. Follow the interactive prompts to remove bloatware + +See [Honor/SHIZUKU_USAGE.md](Honor/SHIZUKU_USAGE.md) for detailed setup instructions (applies to all brands). + ## Manual Setup (Advanced) 1. **Install ADB** diff --git a/Realme/realme_remover.sh b/Realme/realme_remover.sh new file mode 100755 index 0000000..2f8e911 --- /dev/null +++ b/Realme/realme_remover.sh @@ -0,0 +1,312 @@ +#!/system/bin/sh +# Realme Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Realme devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Realme Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/realme_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Realme bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.android.bips:Built-in Print Service +com.android.bookmarkprovider:Browser bookmark storage +com.android.calllogbackup:Call log backup service +com.android.printspooler:Mobile printing service +com.android.providers.partnerbookmarks:Chrome bookmarks +com.android.sharedstoragebackup:Shared storage backup +com.android.statementservice:Digital asset links +com.android.wallpaperbackup:Wallpaper backup service +com.caf.fmradio:FM Radio application +com.coloros.activation:Device activation service +com.coloros.avastofferwall:Avast promotional content +com.coloros.athena:System optimization service +com.coloros.bootreg:Boot registration service +com.coloros.childrenspace:Kids Space mode +com.coloros.compass2:Compass application +com.coloros.focusmode:Focus Mode for productivity +com.coloros.gamespace:Game Space +com.coloros.gamespaceui:Game Space UI +com.coloros.healthcheck:Device health checker +com.coloros.ocrscanner:OCR text scanner +com.coloros.oppomultiapp:App cloning feature +com.coloros.oshare:Oppo Share file sharing +com.coloros.phonenoareainquire:Phone number area inquiry +com.coloros.pictorial:Pictorial wallpapers +com.coloros.resmonitor:Resource monitor +com.coloros.safesdkproxy:Phone Cleaner +com.coloros.sauhelper:SAU helper service +com.coloros.sceneservice:Scene recognition service +com.coloros.screenrecorder:Screen recording app +com.coloros.smartdrive:Smart drive service +com.coloros.speechassist:Voice assistant +com.coloros.translate.engine:Translation service +com.coloros.video:Video player +com.coloros.wallet:Digital wallet +com.coloros.widget.smallweather:Weather widget +com.coloros.wifibackuprestore:WiFi backup service +com.facebook.appmanager:Facebook App Manager +com.facebook.services:Facebook Services +com.facebook.system:Facebook System Service +com.google.android.apps.docs:Google Drive +com.google.android.apps.magazines:Google News +com.google.android.apps.photos:Google Photos +com.google.android.apps.restore:Google Restore +com.google.android.apps.tachyon:Google Duo +com.google.android.apps.wellbeing:Digital Wellbeing +com.google.android.apps.youtube.music:YouTube Music +com.google.android.feedback:Google Feedback +com.google.android.keep:Google Keep +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies & TV +com.google.android.youtube:YouTube +com.google.ar.core:Google Play Services for AR +" + +CAUTION_PACKAGES=" +com.android.chrome:Google Chrome browser +com.android.mms:SMS/MMS messaging +com.android.mms.service:SMS/MMS service +com.coloros.appmanager:App Manager +com.coloros.assistantscreen:Smart Assistant +com.coloros.backuprestore:Clone Phone backup +com.coloros.calculator:Calculator app +com.coloros.encryption:Encryption service +com.coloros.filemanager:File Manager +com.coloros.floatassistant:Floating assistant +com.coloros.phonemanager:Phone Manager +com.coloros.securepay:Secure payment service +com.coloros.soundrecorder:Voice recorder +com.google.android.apps.maps:Google Maps +com.google.android.calendar:Google Calendar +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search Widget +com.google.android.inputmethod.latin:Gboard keyboard +" + +DANGEROUS_PACKAGES=" +com.android.cellbroadcastreceiver:Emergency alerts system +com.android.cellbroadcastreceiver.overlay.common:Emergency alerts overlay +com.android.stk:SIM Toolkit +com.google.android.marvin.talkback:Accessibility service +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Realme bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== REALME BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Realme Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Samsung/samsung_remover.sh b/Samsung/samsung_remover.sh new file mode 100755 index 0000000..d5a705e --- /dev/null +++ b/Samsung/samsung_remover.sh @@ -0,0 +1,265 @@ +#!/system/bin/sh +# Samsung Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Samsung devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Samsung Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/samsung_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Samsung bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.samsung.android.bixby.wakeup:Bixby wake up service +com.samsung.android.app.spage:Bixby homepage launcher +com.samsung.android.app.routines:Bixby Routines +com.samsung.android.bixby.service:Bixby features +com.samsung.android.visionintelligence:Bixby Vision +com.samsung.android.bixby.agent:Bixby Voice +com.samsung.android.email.provider:Samsung Email +com.sec.android.app.voicenote:Voice Recorder +com.samsung.android.scloud:Samsung Cloud +com.samsung.android.oneconnect:SmartThings +com.samsung.android.voc:Samsung Members +com.samsung.ecomm.global:Samsung Shop +com.vzw.hss.myverizon:My Verizon +com.att.myWireless:myAT&T +com.google.android.apps.docs:Google Docs +com.google.android.apps.photos:Google Photos +com.google.android.music:Google Play Music +" + +CAUTION_PACKAGES=" +com.samsung.android.messaging:Samsung Messages +com.sec.android.app.sbrowser:Samsung Internet +com.samsung.android.calendar:Samsung Calendar +com.sec.android.app.popupcalculator:Samsung Calculator +com.samsung.android.samsungpass:Samsung Pass +com.samsung.vvm:Visual Voicemail +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.youtube:YouTube +" + +DANGEROUS_PACKAGES=" +com.samsung.android.spay:Samsung Pay +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Samsung bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== SAMSUNG BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Samsung Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Tecno/tecno_remover.sh b/Tecno/tecno_remover.sh new file mode 100755 index 0000000..8c9f6c0 --- /dev/null +++ b/Tecno/tecno_remover.sh @@ -0,0 +1,307 @@ +#!/system/bin/sh +# Tecno Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Tecno devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Tecno Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/tecno_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Tecno bloatware packages categorized by risk level +SAFE_PACKAGES=" +net.bat.store:BAT Store application +com.gallery20:Gallery 2.0 app +com.transsion.compass:Compass application +com.transsion.aivoiceassistant:AI Voice Assistant +com.talpa.hibrowser:Hi Browser +com.zaz.translate:Translation service +com.transsion.letswitch:Phone switching tool +com.transsion.healthlife:Health and fitness app +com.transsion.notebook:Note-taking app +com.transsion.scanningrecharger:Scanning recharger +com.transsion.magicshow:Magic show app +com.rlk.weathers:Weather application +cn.wps.moffice_eng:WPS Office +com.talpa.share:File sharing service +com.transsion.tecnospot:Tecno Spot service +com.transsnet.store:Transsnet Store +com.transsion.filemanagerx:File Manager X +com.tecno.appstore:Tecno App Store +com.tecno.music:Tecno Music player +com.tecno.video:Video player +com.tecno.gallery:Gallery app +com.tecno.weather:Weather app +com.tecno.notes:Notes application +com.tecno.scanner:QR/Barcode scanner +com.tecno.gamepad:Game controller +com.tecno.themes:Theme store +com.tecno.wallpapers:Wallpaper collection +com.tecno.launcher.theme:Launcher themes +com.tecno.social:Social media integration +com.tecno.backup:Backup service +com.tecno.cleaner:Phone cleaner +com.tecno.security:Security app +com.tecno.boost:Performance booster +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.apps.youtube.music:YouTube Music +com.google.android.music:Google Play Music +com.google.android.videos:Google Play Movies +com.google.android.youtube:YouTube +com.google.android.keep:Google Keep +com.google.android.apps.tachyon:Google Duo +com.google.ar.lens:Google Lens +" + +CAUTION_PACKAGES=" +com.transsion.calculator:Calculator app +com.transsion.calendar:Calendar application +com.transsion.deskclock:Clock and alarm app +com.transsion.soundrecorder:Sound recorder +com.tecno.launcher:Tecno Launcher +com.tecno.contacts:Contacts app +com.tecno.dialer:Phone dialer +com.tecno.messaging:SMS/MMS app +com.tecno.settings:Settings extensions +com.tecno.systemui:System UI components +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.googlequicksearchbox:Google Search +com.google.android.inputmethod.latin:Gboard +com.google.android.calendar:Google Calendar +com.mediatek.connectivity:Connectivity service +com.mediatek.mtklogger:System logger +com.mediatek.settings.ext:Settings extensions +com.mediatek.simcontacts:SIM contacts +" + +DANGEROUS_PACKAGES=" +com.tecno.framework:Tecno framework services +com.tecno.core:Core system services +com.tecno.system:System components +com.google.android.gms:Google Play Services +com.google.android.gsf:Google Services Framework +com.google.android.tts:Text-to-speech +com.mediatek.ims:IMS service for calls +com.mediatek.telephony:Telephony service +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Tecno bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== TECNO BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Tecno Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Vivo/vivo_remover.sh b/Vivo/vivo_remover.sh new file mode 100755 index 0000000..5670e86 --- /dev/null +++ b/Vivo/vivo_remover.sh @@ -0,0 +1,313 @@ +#!/system/bin/sh +# Vivo Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Vivo devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Vivo Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/vivo_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Vivo bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.android.bbkcalculator:Calculator app +com.android.bbklog:Log collection service +com.android.bbkmusic:i Music player +com.android.bbksoundrecorder:Sound recorder +com.bbk.photoframewidget:Photo widget +com.bbk.scene.indoor:My House app +com.bbk.theme:i Theme customization +com.bbk.theme.resources:Theme Store +com.baidu.duersdk.opensdk:ViVoice assistant +com.baidu.input_vivo:Chinese keyboard +com.ibimuyu.lockscreen:Glance Lockfeed +com.vivo.collage:Photo collage maker +com.vivo.compass:Compass app +com.vivo.doubleinstance:App Clone feature +com.vivo.doubletimezoneclock:Timezone widget +com.vivo.dream.clock:Screensaver clock +com.vivo.dream.music:Screensaver music +com.vivo.dream.weather:Screensaver weather +com.vivo.easyshare:Easy Share +com.vivo.ewarranty:E-warranty service +com.vivo.favorite:Favorites app +com.vivo.floatingball:Floating ball assistant +com.vivo.FMRadio:FM Radio app +com.vivo.fuelsummary:Fuel summary +com.vivo.gamewatch:Game monitoring +com.vivo.globalsearch:Global search +com.vivo.hiboard:Hi Board service +com.vivo.vivokaraoke:Mobile KTV +com.vivo.livewallpaper.coffeetime:Coffee time live wallpaper +com.vivo.livewallpaper.coralsea:Coral sea live wallpaper +com.vivo.livewallpaper.floatingcloud:Floating cloud wallpaper +com.vivo.livewallpaper.silk:Silk live wallpaper +com.vivo.magazine:Lockscreen Magazine +com.vivo.mediatune:Media tune service +com.vivo.minscreen:Mini screen feature +com.vivo.motormode:Motor Mode +com.vivo.carmode:Driving Mode +com.vivo.numbermark:Number marking service +com.vivo.scanner:QR/Barcode scanner +com.vivo.smartshot:Smart screenshot +com.vivo.translator:Translation app +com.vivo.video.floating:Video floating widget +com.vivo.videoeditor:Video editor +com.vivo.website:Vivo website shortcut +com.vivo.widget.calendar:Calendar widget +com.vlife.vivo.wallpaper:Vivo live wallpaper +com.kikaoem.vivo.qisiemoji.inputmethod:Emoji keyboard +com.facebook.appmanager:Facebook App Manager +com.facebook.services:Facebook Services +com.facebook.system:Facebook System Service +com.google.android.apps.docs:Google Drive +com.google.android.apps.photos:Google Photos +com.google.android.apps.tachyon:Google Duo +" + +CAUTION_PACKAGES=" +com.android.BBKClock:Clock app +com.bbk.account:Vivo account service +com.bbk.calendar:Vivo Calendar +com.bbk.cloud:Vivo Cloud storage +com.bbk.SuperPowerSave:Power saver mode +com.iqoo.engineermode:Engineering Mode +com.iqoo.secure:i Manager security +com.vivo.appstore:Vivo App Store +com.vivo.assistant:Jovi Smart Scene +com.vivo.browser:Vivo Web Browser +com.vivo.email:Email app +com.vivo.gallery:Gallery app +com.vivo.safecenter:Security center +com.vivo.setupwizard:Setup wizard +com.vivo.sim.contacts:SIM contacts +com.vivo.smartmultiwindow:Multi-window feature +com.vivo.unionpay:Vivo Pay +com.vivo.weather:Weather app +com.vivo.weather.provider:Weather service +" + +DANGEROUS_PACKAGES=" +com.bbk.iqoo.logsystem:System logging +com.vivo.appfilter:App filtering service +com.vivo.pushservice:Push notification service +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Vivo bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== VIVO BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Vivo Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file diff --git a/Xiaomi/xiaomi_remover.sh b/Xiaomi/xiaomi_remover.sh new file mode 100755 index 0000000..f00f6cd --- /dev/null +++ b/Xiaomi/xiaomi_remover.sh @@ -0,0 +1,264 @@ +#!/system/bin/sh +# Xiaomi Bloatware Remover for Shizuku +# Remove unwanted pre-installed apps from Xiaomi devices +# Compatible with Shizuku terminal environment +# Version: 1.0 + +# Colors for better visibility (if terminal supports them) +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' # No Color + +# Function to print colored text +print_colored() { + local color=$1 + local text=$2 + printf "${color}${text}${NC}\n" +} + +# Function to print header +print_header() { + echo "==================================================" + print_colored $BLUE "Xiaomi Bloatware Remover for Shizuku" + print_colored $BLUE "Version 1.0" + echo "==================================================" + echo "" + print_colored $YELLOW "WARNING: This script will remove applications from your device." + print_colored $YELLOW "Always create a backup before proceeding." + echo "" +} + +# Function to check if we're running in Shizuku environment +check_environment() { + if [ -z "$SHIZUKU_SERVER_VERSION" ] && [ "$(id -u)" != "2000" ]; then + print_colored $RED "Warning: This script is designed for Shizuku environment." + print_colored $YELLOW "Make sure you're running this through Shizuku terminal." + echo "" + read -p "Continue anyway? (y/n): " choice + case "$choice" in + y|Y) ;; + *) exit 1 ;; + esac + fi +} + +# Function to create backup +create_backup() { + print_colored $BLUE "Creating backup of installed packages..." + BACKUP_FILE="/sdcard/xiaomi_backup_$(date +%Y%m%d_%H%M%S).txt" + pm list packages > "$BACKUP_FILE" + if [ $? -eq 0 ]; then + print_colored $GREEN "Backup created: $BACKUP_FILE" + else + print_colored $RED "Failed to create backup!" + exit 1 + fi +} + +# Xiaomi bloatware packages categorized by risk level +SAFE_PACKAGES=" +com.mi.android.globalpersonalassistant:Mi Assistant +com.mi.globalTrendNews:Mi News +com.mi.health:Mi Health +com.android.bips:Built-in Print Service +com.android.bookmarkprovider:Bookmark Provider +com.android.printspooler:Print Spooler +com.google.android.apps.docs:Google Docs +com.google.android.apps.photos:Google Photos +com.google.android.apps.meetings:Google Meet +com.google.android.music:Google Play Music +com.mfashiongallery.emag:Fashion Gallery +com.android.dreams.basic:Basic Dreams +com.android.dreams.phototable:Photo Screensaver +com.android.wallpaper.livepicker:Live Wallpaper Picker +" + +CAUTION_PACKAGES=" +com.mi.android.globalFileexplorer:Mi File Manager +com.android.browser:Android Browser +com.android.calendar:Android Calendar +com.android.chrome:Chrome Browser +com.android.deskclock:Clock App +com.google.android.apps.maps:Google Maps +com.google.android.gm:Gmail +com.google.android.youtube:YouTube +" + +DANGEROUS_PACKAGES=" +com.mi.android.globallauncher:Mi Launcher +com.android.cellbroadcastreceiver:Emergency Alerts +com.android.emergency:Emergency Info +com.google.android.gms:Google Play Services +" + +# Function to remove packages +remove_packages() { + local packages="$1" + local category="$2" + local count=0 + local failed=0 + + print_colored $BLUE "Removing $category packages..." + + echo "$packages" | while IFS=':' read -r package desc; do + if [ -n "$package" ] && [ "$package" != "" ]; then + echo "Removing: $desc ($package)" + + # Try uninstalling first + pm uninstall --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $GREEN "✓ Uninstalled: $package" + count=$((count + 1)) + else + # If uninstall fails, try disabling + pm disable-user --user 0 "$package" 2>/dev/null + if [ $? -eq 0 ]; then + print_colored $YELLOW "⚠ Disabled: $package" + count=$((count + 1)) + else + print_colored $RED "✗ Failed: $package" + failed=$((failed + 1)) + fi + fi + fi + done + + echo "" + print_colored $GREEN "Processed packages in $category category" + echo "" +} + +# Function for interactive removal +interactive_removal() { + print_colored $BLUE "=== INTERACTIVE PACKAGE REMOVAL ===" + echo "" + + print_colored $GREEN "SAFE packages (recommended to remove):" + echo "$SAFE_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove SAFE packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + fi + + print_colored $YELLOW "CAUTION packages (may affect functionality):" + echo "$CAUTION_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove CAUTION packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$CAUTION_PACKAGES" "CAUTION" + fi + + print_colored $RED "DANGEROUS packages (NOT recommended):" + echo "$DANGEROUS_PACKAGES" | grep -v '^$' | while IFS=':' read -r package desc; do + if [ -n "$package" ]; then + echo " • $desc" + fi + done + echo "" + + read -p "Remove DANGEROUS packages? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + print_colored $RED "WARNING: Removing these packages may break device functionality!" + read -p "Are you absolutely sure? (yes/no): " confirm + if [ "$confirm" = "yes" ]; then + remove_packages "$DANGEROUS_PACKAGES" "DANGEROUS" + fi + fi +} + +# Function for batch removal (safe packages only) +batch_removal() { + print_colored $BLUE "=== BATCH REMOVAL (SAFE PACKAGES ONLY) ===" + echo "" + print_colored $YELLOW "This will remove all SAFE Xiaomi bloatware packages." + print_colored $YELLOW "These are apps that can be safely removed without affecting core functionality." + echo "" + + read -p "Continue with batch removal? (y/n): " choice + if [ "$choice" = "y" ] || [ "$choice" = "Y" ]; then + remove_packages "$SAFE_PACKAGES" "SAFE" + print_colored $GREEN "Batch removal completed!" + else + print_colored $YELLOW "Batch removal cancelled." + fi +} + +# Function to list all installed packages +list_all_packages() { + print_colored $BLUE "=== ALL INSTALLED PACKAGES ===" + echo "" + print_colored $YELLOW "Listing all installed packages (this may take a moment)..." + pm list packages -f | sort + echo "" + print_colored $GREEN "Package listing completed." +} + +# Main menu +show_menu() { + echo "" + print_colored $BLUE "=== XIAOMI BLOATWARE REMOVER MENU ===" + echo "1. Interactive removal (recommended)" + echo "2. Batch removal (remove all safe packages)" + echo "3. List all installed packages" + echo "4. Create backup only" + echo "5. Exit" + echo "" + read -p "Choose an option (1-5): " choice + + case $choice in + 1) + create_backup + interactive_removal + ;; + 2) + create_backup + batch_removal + ;; + 3) + list_all_packages + ;; + 4) + create_backup + print_colored $GREEN "Backup created successfully!" + ;; + 5) + print_colored $GREEN "Exiting Xiaomi Bloatware Remover." + exit 0 + ;; + *) + print_colored $RED "Invalid option. Please choose 1-5." + show_menu + ;; + esac +} + +# Main execution +main() { + print_header + check_environment + + # Check if pm command is available + if ! command -v pm >/dev/null 2>&1; then + print_colored $RED "Error: 'pm' command not found!" + print_colored $YELLOW "Make sure you're running this in a Shizuku terminal with proper permissions." + exit 1 + fi + + show_menu +} + +# Run the script +main \ No newline at end of file