If you are using SCRCPY to mirror and control your Android device on your Windows PC but are having some problems with certain apps and the lockscreen appearing as a black screen this article will explain what is causing this to give you some clarity on the situation and the limitations of certain Android versions.

Related: The Best Settings to Use for SCRCPY | Optimal SCRCPY Quality settings.

Screen mirroring your Android smartphone on your Windows PC can prove to be incredibly useful for various daily tasks, and when it comes to accomplishing this, SCRPY stands out as the preferred tool. It’s free, user-friendly, has seamless performance, and an extensive array of customization possibilities. Despite its brilliance, some users might hesitate to explore SCRCPY fully due to the initial complexities in its interface.

Depending on your version of Android you will have probably noticed that some apps and even the lock screen don’t work as they used to. When you open them in SCRCPY they appear as a completely black screen which makes using them completely impossible. The lock screen is the same which makes entering your swipe code and pin rather difficult. So what’s causing apps to show a black screen in SCRCPY?

Why do some apps and the lock screen show as a black screen in SCRCPY?

On older versions of Android, it was possible to view all apps and the lockscreen without any black screen issues. However, on Android 12 shell permissions are not sufficient anymore to capture "protected" screen content. As a consequence, scrcpy can not mirror some apps anymore. To put it simply, a security update for Android has blocked the ability for SCRCPY to screen mirror certain apps if they choose to use the new security API.

Is there a way around this? Yes, but it’s complicated, and won’t be as secure. You can find all of the steps shown below.

How to Enable scrcpy for Insecure Apps Using Magisk and LPosed. (Advanced Users)

If you're comfortable with rooting your Android device, you can follow these steps to enable scrcpy for apps that use the flag_secure feature. This workaround involves installing Magisk, enabling the zygisk option, and using LPosed. Keep in mind that this method will compromise the security of certain apps.

Be aware that this guide is intended for advanced users who are comfortable with rooting and modifying their Android device's system. Proceed at your own risk, as modifying system components can potentially lead to issues or data loss. Make sure to create backups of your important data before attempting any modifications.

Users with disabilities who rely on scrcpy can potentially access apps that were previously inaccessible due to flag_secure restrictions. However, be cautious about the security implications of disabling flag_secure for certain apps.

Install Magisk

  • Download and install Magisk Manager from the official source.
  • Follow the instructions to properly root your device using Magisk.

Enable zygisk in Magisk settings

  • Open Magisk Manager.
  • Navigate to the settings and enable the "zygisk" option. This will allow you to use LPosed for system modifications.

Download LPosed zygisk release

  • Download the latest LPosed zygisk release from a trusted source.

Install LPosed via Magisk modules

  • Open Magisk Manager.
  • Go to the Modules section and choose "install from storage."
  • Select the downloaded LPosed zygisk release and install it.
  • Reboot your device.

Open LPosed Manager

  • After rebooting, pull down the notification drawer.
  • Tap on the "LPosed loaded" notification to open LPosed Manager.

Install Disable-FLAG_SECURE module

  • Within LPosed Manager, navigate to the Modules section.
  • Install the "Disable-FLAG_SECURE" module.

Enable the Disable-FLAG_SECURE module

  • Still in LPosed Manager, enable the "Disable-FLAG_SECURE" module.

Configure apps for scrcpy

  • Scroll through your installed apps in LPosed Manager.
  • Check the box for any app that uses flag_secure that you want to be accessible via scrcpy.

Reboot

  • Reboot your device to apply the changes made using LPosed.

IMPORTANT NOTES

  • Keep in mind that disabling flag_secure makes the apps vulnerable to potential security risks, such as screenshot capture.
  • Apps with disabled flag_secure may not work as expected, and some functionality might be compromised.
  • Rooting your device might cause issues with certain apps like banking apps due to SafetyNet checks. You can install the "Shamiko" Magisk module to bypass these checks.
  • HiddenCore module You can also install the "HiddenCore" module from the LPosed repository, but note that it might not provide additional benefits compared to Shamiko.