Skip to content

Instantly share code, notes, and snippets.

@samchoi69
Forked from CHEF-KOCH/Remove BlueStacks Ads
Last active January 6, 2026 16:57
Show Gist options
  • Select an option

  • Save samchoi69/75d9bd164597338ff116b5a441e41a83 to your computer and use it in GitHub Desktop.

Select an option

Save samchoi69/75d9bd164597338ff116b5a441e41a83 to your computer and use it in GitHub Desktop.
Remove BlueStacks Ads
# Windows
1. Open Windows Command Prompt
2. Run command
"C:\Program Files (x86)\BlueStacks\HD-Adb.exe" shell
# Within BlueStacks shell
/system/xbin/bstk/su
pm disable-user com.bluestacks.s2p
# macOS
1. Open Terminal
2. Run command:
/Applications/BlueStacks.app/Contents/MacOS/adb shell
# Within BlueStacks shell
/system/xbin/bstk/su
pm disable-user com.bluestacks.s2p
# Error: device not found
# Kill the server with ADB
# Make sure BlueStacks is running before you try to start ADB and disable the user
# Windows
"C:\Program Files (x86)\Bluestacks\HD-Adb.exe" kill-server
#macOS
/Applications/BlueStacks.app/Contents/MacOS/adb kill-server
@gamerzord
Copy link

anyone found a way to remove startup loading ads?

@MLSci
Copy link

MLSci commented Jul 3, 2025

PS>.\HD-Adb.exe shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: no devices/emulators found

And when I try the normal adb using the 5735 port -

PS>adb shell pm disable-user --user 0 com.bluestacks.s2p

Exception occurred while executing 'disable-user':
java.lang.IllegalArgumentException: Unknown package: com.bluestacks.s2p
        at com.android.server.pm.ComputerEngine.getApplicationEnabledSetting(ComputerEngine.java:5294)
        at com.android.server.pm.IPackageManagerBase.getApplicationEnabledSetting(IPackageManagerBase.java:342)
        at com.android.server.pm.PackageManagerShellCommand.runSetEnabledSetting(PackageManagerShellCommand.java:2360)
        at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:274)
        at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
        at android.os.ShellCommand.exec(ShellCommand.java:38)
        at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6179)
        at android.os.Binder.shellCommand(Binder.java:1049)
        at android.os.Binder.onTransact(Binder.java:877)
        at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4313)
        at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6163)
        at android.os.Binder.execTransactInternal(Binder.java:1285)
        at android.os.Binder.execTransact(Binder.java:1244)

@FelesNoctis
Copy link

FelesNoctis commented Jan 6, 2026

This is the new method that I used First, you need to install WSL or Linux VM. I used WSL.

(instructions here)

I figured I'd mention: as of Bluestacks 5.22.100, as far as I can tell, it seems to be aware that it's been tampered with and will terminate the android instance for "security reasons". Even reverting the hosts file edit won't fix this, requiring a full clean uninstall and reinstall. In my experience anyway.

EDIT:
Updated to add that this does seem to work on the MSI App Player, which is Bluestacks-based, and as of this post is on 5.22.75. This may indicate that either the "tampered" check is a new addition to Bluestacks, or that the MSI version just doesn't care. It did work, however, as their custom app-store believes it's been disconnected from the internet while everything else works fine.

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