[Nexus 7 General] toastido:
So this doesn't work outright on the new Lollipop build for the N7, but it can easily be made to work. Unfortunately the MirrorEnabler app doesn't work on Lollipop yet, and the SQLite Installer app that would make it work hasn't caught up; it installs a non-executable binary that even when set with the correct permissions doesn't run. Credit goes to [MENTION=4732871]r3pwn[/MENTION] for finding the initial method for doing this.

UPDATE: MirrorEnabler had been updated for 5.0, and i've seen reports it works now. You can try it Here. Don't forget to thank [MENTION=4732871]r3pwn[/MENTION] if it works for you! Otherwise, this method still works, so take your pick. [emoji2]

UPDATE 2: The update of the crhomecast app supposedly supports this natively now on ALL devices, so this may not even be needed anymore. If someone who has not applied this fix can test that out (Has to be chromcast v 1.9.6 or higher) and report back in this thread, that'd be great.

So because I wanted my screen mirroring back, I dove in and made it work. Yes, there are 20 steps, but they are all outlined precisely. If done correctly this shouldn't take more than 5 minutes.

Here's how:

1) Be rooted on Android 5.0 (L)

2) Install chromecast app from play store - Link

3) Open the chromecast app and set up your chromecast device

4) Install busybox (I prefer sterricson version) - Link

5) Open Busybox app and click Install.

6) Install SQLite Editor (not free, but works great on L and worth the money if you like to tinker) - Link

7) get adb shell and issue the commands:

shell@grouper:/ $ su
root@grouper:/ # setenforce 0
root@grouper:/ # getenforce
Permissive
root@grouper:/ #

DO NOT EXIT ADB YET!

8) Open SQLite Editor on your device and navigate to "Google Services Framework"

9) Under google services Framework, select "gservices.db"

10) In gservices.db select "overrides"

11) Click "+ NEW RECORD"

12) In the name field put (exactly as shown):

gms:cast:mirroring_enabled

13) In the value field put (exactly as shown):

true

14) Click Save

15) Click "+ NEW RECORD" again

16) In the name field put (exactly as shown):

gms:cast:remote_display_enabled

17) In the value field put (exactly as shown):

true

18) Click Save

19) Exit SQLite Editor

20) In your adb shell ( you didn't close it, right? :P):

root@grouper:/ # am force-stop com.google.android.gsf
root@grouper:/ # am force-stop com.google.android.gms
root@grouper:/ # am force-stop com.google.android.apps.chromecast.app
root@grouper:/ #

If it worked you won't see any output from these three commands; You can now exit adb and disconnect your device.

If you see this:

Error type 2
android.util.AndroidException: Can't connect to activity manager; is the system running?
at com.android.commands.am.Am.onRun(Am.java:298)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
at com.android.commands.am.Am.main(Am.java:99)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:249)

You didn't do step 7 correctly. Repeat step 7 and then try this step again.

That's it! NO reboot required! You should now be able to stream screen mirror to a chromecast device from your N7(2012) using Lollipop! :)

To test it, you should now be able to use your quick settings "Cast Screen" button, or the "Cast Screen" option from within the chromecast app.

Enjoy!