UPDATE 27th November 2014
I have added an Xposed module for the clients below that will work around the issue with Google Play services 6.5
UPDATE 25th November 2014
Google have released Google Play services 6.5 which has strengthened security, effectively making this app useless (clients will be unable to connect). Until Google either loosen the security (which is unlikely to happen), or someone somehow were able to get a hold of the private keys from the chromecast/Android TV this app will no longer work and will no longer be updated.
Thank you all for your support!
Hi everyone! I've decided to finally release my modified Cast Receiver app from the ADT-1 for Android that will work on most devices (though not sure what the minimum api requirement is).
If you don't know what this is it's basically a chromecast receiver for your Android; I use it on my Android mini PC that's hooked up to my TV.
Downloads
Last updated Nov 05 2014.
Recovery install (requires KitKat or newer, or the Xposed module below)
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiaU5WSWRxeC02Tzg
Signed
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiVDR1a1o0WFVSWjg
System install (requires KitKat or newer, or the Xposed module below)
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiNFJGUE1acGZTeFE
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiOTRoanlyX19pVmc
If you are not rooted and can only install it as a regular apk, use the signed version. Note however that casting the screen from another Android device will not work due to a signature mismatch (Google Play Services checks the signatures of the app before allowing screencasting).
If you are rooted you should go for the recovery/system install option, as that will allow screencasting to work.
Xposed module for receiver
If you want to be able to use the system install version on devices older than KitKat you can use the following Xposed module:
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiZEFrN1RqLTRFdkk
Xposed module for client
Version 6.5 and newer of Google Play services makes it impossible to connect to the receiver due to some added security. This Xposed module works around that:
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiWG1tU3NfYWwwV00
Install
Recovery install
No special instructions needed, simply copy SYSTEM-CastReceiver.zip to the internal storage (or sdcard) on your device and flash it through your recovery (follow the instructions for your specific recovery).
Signed
Simply install the apk as you would with any apk, either through adb:
Code:
adb install -r AndroidMediaShell-signed.apk
or by installing it from your sdcard.
System install
You will need rooted adb for this to work correctly.
If you come from an old install, you can safely remove the old lib first:
Code:
adb remount && adb shell rm /system/lib/libmedia_shell_content_view.so
Once that's done, run:
Code:
adb remount && adb push libcast_shell_android.so /system/lib/ && adb shell chmod 0644 /system/lib/libcast_shell_android.so
adb remount && adb push AndroidMediaShell.apk /system/priv-app/ && adb shell chmod 0644 /system/priv-app/AndroidMediaShell.apk
(Change priv-app to app on devices older than 4.4)
Running
Amazon Fire TV
Because the Whisperplay app implements a DIAL protocol of its own on port 8008, which the Cast Receiver app also uses and that causes a conflict between the two apps.
To get the app running correctly you need to rename WhisperplayCore.apk:
Code:
adb shell mv /system/app/WhisperplayCore.apk /system/app/WhisperplayCore.apk.bak
once that's done, reboot and follow the instructions below.
For the receiver to start you can simply reboot provided you are using the system install. If you are using the signed version you need to run:
Code:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.google.android.apps.mediashell/.AutoStartListener
After that it will run automatically in the background after each reboot, so you will be good to go!
Keep in mind that it might take a few minutes for the receiver to show up in the cast list, if it doesn't show after 10 minutes, try rebooting the device.
https://drive.google.com/file/d/0B4FOzj4b2EYiNFRfVDhtZXZGcjg/view?usp=sharing
Supported Apps
Currently not every app is supported. The ones I've tried are:
YouTube - Working
Google Play Music - Working
Google Play Movies & TV - Working
Google+ - Working
Google Photos - Working
Screen Cast - Working (if you follow the instructions above)
Chrome for computer - Working
Netflix - NOT Working (I'm looking into this)
Plex - Working
Chrome for Android - Workinghttps://drive.google.com/file/d/0B4FOzj4b2EYiWVlDTWNGOEw3UTg/view?usp=sharing
Those are the ones I've tried, others may or may not work.
Whether the app will work may also depend on what device you are running the cast receiver on, as well as the region you are in.
FAQ
My device doesn't show up in the official Chromecast app
This is a known "problem" that also affects the ADT-1. There is nothing I can do about it in the Cast Receiver app, only Google can fix it by modifying the Chromecast app. Screen casting etc should work though, it's only the Devices screen that doesn't show any devices.
The receiver doesn't work on my Amazon Fire TV
Please read the instructions under the Running category.
I can't find the receiver device in the cast list
Give it a few minutes. If that doesn't work, try backing out of the app, and enter it again. If it still doesn't show, post a new reply to this thread with a log from logcat.
App X doesn't work
Get me a log when you try to initiate the connection, keeping in mind that some apps may be easier to fix than others. And some may be next to impossible due to them being regional.
How?
I've had some people ask how this was done, so I've written up a list of the changes and a brief summary here:
https://docs.google.com/document/d/1tXnjDdurdoJ4ufulzaqGpuaNpLLt6LGAUk22MO2jta4/edit?usp=sharing
You can get a patch of the smali changes here:
https://drive.google.com/file/d/0B4FOzj4b2EYiTHZBRGVUWmlSV1U/view?usp=sharing
And a bsdiff of the lib changes here:
https://drive.google.com/file/d/0B4FOzj4b2EYiNFRfVDhtZXZGcjg/view?usp=sharing
The source code of the Xposed receiver module can be found here:
https://github.com/HomerSp/XposedCastReceiverFix
The source code of the Xposed client module can be found here:
https://github.com/HomerSp/XposedCastClientFix
And finally here is the code I used while testing the receiver, and writing the MediaDrm and JmDNS code:
https://github.com/HomerSp/CastTest
Changelog
Nov 05, 2014
* Fixed receiver not working while connected to ethernet (may be restricted to the Fire TV)
Oct 29, 2014
* Fixed app not working on API level 15 (tested by me on a real device).
* Disabled logging to file - this should significantly reduce the size of the data that's used by the app.
Oct 26, 2014
* Updated to new 5.0 preview from the ADT-1.
* Lowered API level to 15 on the signed version, keep in mind that this is untested by me. This also includes disabling some DRM API calls that were added in API level 18, so Play Movies will not work on API 17 or lower.
Oct 17, 2014
* Fixed receiver not always starting correctly due to device not being provisioned, thanks to @rkirmeier!
Oct 10, 2014
* First version!
Finally I would like to give out a big thank you to @death2all110 for doing extensive testing for me, as well as providing me with the system dump from the ADT-1. I couldn't have done this without him!
Enjoy!
Great! Works flawlessly on my Ouya (CM11). Run on boot via ScriptManager.
If you need help with Netflix you know where to find me!
Hi,
First of all, thanks, because this works nicely with my laptop! I can finally cast to my living room tv that has an android device connected.
I can cast from Chrome browser (Cast Extension) on OS X, but can't from a 4.2 Android handset (I've tried youtube and google play music). Whenever I try to connect to the Server on a 4.4 radxa rock, the server disappears from the list. It comes back after 10 seconds more or less. Can I help with debug logs or something?
Thanks!
krosk said:
Hi,
First of all, thanks, because this works nicely with my laptop! I can finally cast to my living room tv that has an android device connected.
I can cast from Chrome browser (Cast Extension) on OS X, but can't from a 4.2 Android handset (I've tried youtube and google play music). Whenever I try to connect to the Server on a 4.4 radxa rock, the server disappears from the list. It comes back after 10 seconds more or less. Can I help with debug logs or something?
Thanks!
Click to expand...
Click to collapse
Do you mean 4.2 or 4.4 (you mentioned both)? I haven't tried compatibility with 4.2, but 4.4 should definitely work. In any case, I would need a logcat from the receiver device to be able to see what's wrong.
@death2all110 I probably will, yes. It seems to be restricted to the US for now - I've tried hard-coding a proxy in the code, which makes it go further, but not far enough for it to work. I'll get back to you when I have something for you to test!
HomerSp said:
Do you mean 4.2 or 4.4 (you mentioned both)? I haven't tried compatibility with 4.2, but 4.4 should definitely work. In any case, I would need a logcat from the receiver device to be able to see what's wrong.
Click to expand...
Click to collapse
My phone (4.2) is not connecting to the server (screen) in 4.4. Your app is installed in the 4.4 device. I will send you logs later.
krosk said:
My phone (4.2) is not connecting to the server (screen) in 4.4. Your app is installed in the 4.4 device. I will send you logs later.
Click to expand...
Click to collapse
Of course, I completely misread your post. Sorry!
Nexus Q Install?
Any chance this can be installed onto a Nexus Q - I would love to get my Q-Ball back up and running!
Im not having any luck on a minix 8h (stock rooted rom - 4.4.2) or Note 12.2 running cm11. Same thing happens for me. Devices show up in the list but when you try to connect it fails and that device disappears from the list for a little while. I installed using root explorer by putting the files in the respected folders then setting the correct permissions and rebooting.
rkirmeier said:
Im not having any luck on a minix 8h (stock rooted rom - 4.4.2) or Note 12.2 running cm11. Same thing happens for me. Devices show up in the list but when you try to connect it fails and that device disappears from the list for a little while. I installed using root explorer by putting the files in the respected folders then setting the correct permissions and rebooting.
Click to expand...
Click to collapse
What version of Google play services do you have installed on the sender device? Also, a logcat from the receiver would be useful.
astro128 said:
Nexus Q Install?
Any chance this can be installed onto a Nexus Q - I would love to get my Q-Ball back up and running!
Click to expand...
Click to collapse
I don't own a Nexus Q myself, so I won't be able to do any testing. The Q is running a full Android system, right? If it is, the receiver app most likely requires a later API version, or the Q doesn't support some of the features the cast receiver app requires to function.
I'm casting from a LG G3 and the Google Play services is on version 6.1.74
How can I send you the logcat? Can you PM me your email address?
rkirmeier said:
I'm casting from a LG G3 and the Google Play services is on version 6.1.74
How can I send you the logcat? Can you PM me your email address?
Click to expand...
Click to collapse
You can attach the logcat to your post, or use something like pastie.org or pastebin.com
Log attached to this post.
rkirmeier said:
Log attached to this post.
Click to expand...
Click to collapse
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
HomerSp said:
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
Click to expand...
Click to collapse
That is correct. I'll work on getting the log from my minix and tablet tonight as they both have the receiver installed and do the same thing.
HomerSp said:
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
Click to expand...
Click to collapse
Minix log attached...
Thanks!
rkirmeier said:
Minix log attached...
Thanks!
Click to expand...
Click to collapse
Okay, I know why it happens now, but not the reason unfortunately. Do you think that you would be able to get a new log when you restart the media shell service? You should be able to connect to the Minix through the local network using ADB Konnect (https://play.google.com/store/apps/details?id=com.rockolabs.adbkonnect). Simply run ADB Konnect on the device and start the connection, then from your computer run:
adb connect <ip>
adb logcat
From another terminal run:
adb shell am force-stop com.google.android.apps.mediashell
adb shell am startservice -n com.google.android.apps.mediashell/.MediaShellCastReceiverService
The problem is that the signature that is used for device authentication is empty for some reason, and your log doesn't say why (the signature is generated when the service is first started).
HomerSp said:
Okay, I know why it happens now, but not the reason unfortunately. Do you think that you would be able to get a new log when you restart the media shell service? You should be able to connect to the Minix through the local network using ADB Konnect (https://play.google.com/store/apps/details?id=com.rockolabs.adbkonnect). Simply run ADB Konnect on the device and start the connection, then from your computer run:
adb connect <ip>
adb logcat
From another terminal run:
adb shell am force-stop com.google.android.apps.mediashell
adb shell am startservice -n com.google.android.apps.mediashell/.MediaShellCastReceiverService
The problem is that the signature that is used for device authentication is empty for some reason, and your log doesn't say why (the signature is generated when the service is first started).
Click to expand...
Click to collapse
I'm mostly new to adb other then a dozen or so roots I have applied (by guide) so I'm not sure if I'm doing something wrong here or what. I can connect from both computers and on the device I enter logcat then replies with "- waiting for device -". I know I"m connected because if I try to connect again it says I'm already connected. From the other computer I get the same response for logcat and when I enter your other commands to stop/start the service I get "error: device offline"
Any ideas to work around these issues? I would really like to get you the logs as it seems to be a common issue.
rkirmeier said:
I'm mostly new to adb other then a dozen or so roots I have applied (by guide) so I'm not sure if I'm doing something wrong here or what. I can connect from both computers and on the device I enter logcat then replies with "- waiting for device -". I know I"m connected because if I try to connect again it says I'm already connected. From the other computer I get the same response for logcat and when I enter your other commands to stop/start the service I get "error: device offline"
Any ideas to work around these issues? I would really like to get you the logs as it seems to be a common issue.
Click to expand...
Click to collapse
Is USB debugging enabled on the Minix? Settings > Developer options > USB debugging should be ticked.
HomerSp said:
Is USB debugging enabled on the Minix? Settings > Developer options > USB debugging should be ticked.
Click to expand...
Click to collapse
I confirmed USB Debugging is enabled. Wouldn't this be required to even make the connection?
Related
This is a 100% AOSP ICS build for the Lenovo Ideapad K1. It will wipe your entire system. You will lose all data except what is stored on the EXTERNAL sdcard.
Includes
Android ICS 4.0.4
ClockworkMod Recovery 6.0.1.0
Google Apps
Rooted version includes Superuser and busybox
Issues
Video Camera face effects
Rotation Lock Switch (Software switch works)
Downloads
As always flash at your own risk. I'm not responsible for your device.
Nvflash versions
K1_ICS_AOSP_Rooted_R2.zip
dfddf13bf51e357a4964a11a8adbfd53
Mirror
K1_ICS_AOSP_Stock_R2.zip
b359ec6a06289ccf8c6b83f07346be17
Mirror
CWM versions
CWM_K1_ICS_AOSP_Rooted_R2.zip
90341324a0927f3035e92dc81ffb9416
Mirror
CWM_K1_ICS_AOSP_Stock_R2.zip
c026beb4dc2a11defbc3c3bcbec041cc
Mirror
Instructions
Nvflash version
1. Download one of the packages above and extract it to a directory
2. Power off device
3. Press and hold both the Vol + and Vol - buttons
4. While holding both Volume buttons power the tablet on
5. The screen should go black and the two front LED's should remain lit. You are now in APX mode
6. Connect your device to USB
7a) Windows: Install the APX drivers from the 'drivers' folder
Double click the 'flash-windows.bat' file
7b) Linux: run 'chmod +x flash-linux.sh && sudo ./flash-linux.sh' from the extracted directory
CWM version
1. Download one of the CWM_K1_*.zip versions and move to external sdcard
2. Reboot into recovery
3. Install zip from sdcard
4. Choose zip from sdcard
5. Flash the update.
How to boot into recovery
Non-rooted version
1. Make sure you have the Android SDK installed. http://developer.android.com/sdk/index.html
2. Make sure USB Debugging is enabled on the tablet. Go to Settings > Developers options > and check "USB Debugging"
3. Connect the device to USB
4. Open a terminal or command prompt window and type
Code:
adb shell k1recovery
Rooted version
From a Terminal Application
Run the follow two commands
Code:
su
k1recovery
From adb
1. Make sure you have the Android SDK installed. http://developer.android.com/sdk/index.html
2. Make sure USB Debugging is enabled on the tablet. Go to Settings > Developers options > and check "USB Debugging"
3. Connect the device to USB
4. Open a terminal or command prompt window and type
Code:
adb shell k1recovery
Changelog
Code:
8/11/2012 R2
-Fixed external sdcard permissions
-Fixed keylayout
-Modifed build.prop to spoof Moto Xoom (App compatibility)
7/31/2012 R1
-Initial Release
Source Code
http://github.com/khanning
So from now on we will be able to flash future updates through recovery without wiping everything?
So from now on we will be able to flash future updates through recovery without wiping everything?
Click to expand...
Click to collapse
Exactly, future updates will be CWM flashable .zip's.
All, I just noticed that Google Chrome isn't showing in the market, but Maps is. I swear it was showing up when I was testing previously. Will have to investigate...
khanning88 said:
Exactly, future updates will be CWM flashable .zip's.
All, I just noticed that Google Chrome isn't showing in the market, but Maps is. I swear it was showing up when I was testing previously. Will have to investigate...
Click to expand...
Click to collapse
I dont know if it's me or because of the ROM. WIth the rooted ROM before AOSP, I was able to install Chrome with a APK downloaded from mobilism but sometimes the pages are fine then just rendered white , for all tabs.
Does anybody use SKYPE ? When I do video chat, my broadcast picture stretched vertically when I broadcast-only (no picture feed from the other side), the picture my friend saw is fine though.
Many thanks for your hard work.
That is the main thing that i hate about Lenovo's Factory ICS image, i still cant install Chrome or Evernote, or many of my NEEDED apps. I hope that you get this working soon. or at least a temp fix.
Just flashed the rooted aosp, the boot animation is a nice touch. The app compatibility issue seems fully resolved outside of Chrome, pointed out already, which is no biggie for me atleast. I still can sideload Chrome and runs perfectly. Also, so far the dictionary miss-spell issue doesnt seem to be a problem anymore. Maybe its just me but touch responsiveness seems a little better/quicker with this build. Just tried using the command 'k1recovery' to boot into recovery and it keeps giving me an error relating to permissions, saying it cant create /dev/block/mmcblk0p5. Seems like I just need to change the permissions of the /block folder but wasnt sure if I was just not doing something right.
Massive improvements from Lenovo's vanilla ICS still, thanx khanning!
Noticed some graphical glitches. Screen goes black if switching orientations on lockscreen and home screen.
@Khanning88 Can you provide a mirror please? Goo.im is down and shows "Internal server error".
Never mind. It's up again.
me_is_rushin said:
Noticed some graphical glitches. Screen goes black if switching orientations on lockscreen and home screen.
Click to expand...
Click to collapse
Yup the screen flashes when switching orientations, for a split second...
That's great. thanks for share.
Flashed this one and works wonderful.
Rebooting to recovery didn't work 1st, but then mounted filesystem as rw and tried the command and could get to recovery.
Got an error "Can't mount backup path" when trying to make a backup. Is it because I didn't have an external sd card.
If yes, is there a way to take a nandroid backup to internal memory?
BTW, thanks again for providing this ROM.
Thanks khanning88 for giving this fabulous AOSP ROM
Does this ROM support the Wifi+3G version?
I found some issues installing apps, including some games, Zinio magazine reader, google earth, etc, all saying incompatible with my device.
I experienced alot of freezes while restoring my backup with titanium backup.
I keep testing if it also occurs in normal use.
Installed AOSP-Rooted. So far, Chrome (already noted as issue in OP), and POGO Games showing up as Incompatible.
Other than that, and possible other apps being incompatible, looks great and installed as easy as can be.
Thanks Khanning!
-Cybie
we need an easy way to enter recovery. Rom Manager button doesn't work.
Reboot recovery from terminal emulator doesn't work either.
Could you implement the nice options when turning the unit off?
several more freezes. obviously not depending on any special app..
erickwan said:
Does this ROM support the Wifi+3G version?
Click to expand...
Click to collapse
I'm not sure if 3G works since I have a Wifi version, but if someone with a 3G version could meet me in freenode IRC room #ideapad-k1 I would be happy to work on it. If you aren't familiar with IRC just go to this link and join the chat.
http://webchat.freenode.net/?channels=ideapad-k1
we need an easy way to enter recovery. Rom Manager button doesn't work.
Reboot recovery from terminal emulator doesn't work either.
Could you implement the nice options when turning the unit off?
Click to expand...
Click to collapse
From a terminal app type:
Code:
su
k1recovery
Or from adb type:
Code:
adb shell k1recovery
Either method will reboot the device into recovery. I will work on adding the power menu options later.
several more freezes. obviously not depending on any special app..
Click to expand...
Click to collapse
I haven't experienced any "freezes" but when it happens to you could you please document what you were doing and take a logcat to help debug.
http://rootzwiki.com/topic/11930-learn-to-logcat-like-a-pro/
Here is a very simple way to reboot into khanning's CWM recovery.
1. Playstore --> Download/Install aShell app
2. Run App
3. Select Checkbox for "Root" (In Settings, you can set app to start Root as Default)
4. type "k1recovery" into textbox
5. press "start command" button.
Simple, no need to be in "true shell" mode. This app allows you to run shell commands without the terminal. Great for newbies, quicker for anyone.
Hope this helps!
-Cybie
Here is a quick fix for the hardware keys. Just flash the .zip file from recovery. Updated first post with more detailed booting into recovery instructions.
K1_keylayout_fix.zip
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 @r3pwn 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 @r3pwn 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:
Code:
[email protected]:/ $ su
[email protected]:/ # setenforce 0
[email protected]:/ # getenforce
Permissive
[email protected]:/ #
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):
Code:
gms:cast:mirroring_enabled
13) In the value field put (exactly as shown):
Code:
true
14) Click Save
15) Click "+ NEW RECORD" again
16) In the name field put (exactly as shown):
Code:
gms:cast:remote_display_enabled
17) In the value field put (exactly as shown):
Code:
true
18) Click Save
19) Exit SQLite Editor
20) In your adb shell ( you didn't close it, right? ):
Code:
[email protected]:/ # am force-stop com.google.android.gsf
[email protected]:/ # am force-stop com.google.android.gms
[email protected]:/ # am force-stop com.google.android.apps.chromecast.app
[email protected]:/ #
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:
Code:
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!
Nice guide !
Gesendet von meinem GT-I9195 mit Tapatalk
Nice guide.
Can confirm after following this guide casting from settings pull down is indeed working on lollipop N7 2012!!
Cheers!
Its works great! thank you!
I think Mirror Enabler only set the first one row, and it is the reason it stopped working on this tablet
Unfortunately not working with panasonic ptv3000
does this hack survive a Google Services Framework update, and is there really need to install chromecast app?
thanks
m52 power! said:
Unfortunately not working with panasonic ptv3000
Click to expand...
Click to collapse
Never said it would.
Sent from my leanKernel 3.11.3 powered stock 4.4.2 (NF9) SM-N900T
donpippo said:
does this hack survive a Google Services Framework update, and is there really need to install chromecast app?
thanks
Click to expand...
Click to collapse
Theoretically yes. It's just a data change. Add for having to install the chromecast app, you can try without installing it but i do believe it's required.
Sent from my leanKernel 3.11.3 powered stock 4.4.2 (NF9) SM-N900T
Wow. Yep. Works with Chromecast.
not working on my N7 [emoji26]
Edit: tried again with success. I started from 0 again. thank you
I would like to annonce that this method worked perfectly in the Moto X 2014 (Lollipop)... the only problem is, when i restart the phone it stops working and i need to do the whole process again..... Any way to fix that?
Thank you
toastido said:
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.
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:
Code:
[email protected]:/ $ su
[email protected]:/ # setenforce 0
[email protected]:/ # getenforce
Permissive
[email protected]:/ #
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):
Code:
gms:cast:mirroring_enabled
13) In the value field put (exactly as shown):
Code:
true
14) Click Save
15) Click "+ NEW RECORD" again
16) In the name field put (exactly as shown):
Code:
gms:cast:remote_display_enabled
17) In the value field put (exactly as shown):
Code:
true
18) Click Save
19) Exit SQLite Editor
20) In your adb shell ( you didn't close it, right? ):
Code:
[email protected]:/ # am force-stop com.google.android.gsf
[email protected]:/ # am force-stop com.google.android.gms
[email protected]:/ # am force-stop com.google.android.apps.chromecast.app
[email protected]:/ #
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:
Code:
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!
Click to expand...
Click to collapse
I would like to annonce that this method worked perfectly in the Moto X 2014 (Lollipop)... the only problem is, when i restart the phone it stops working and i need to do the whole process again..... Any way to fix that?
Thank you
Anyone have any idea if this is necessary on the newer ver2 N7 after OTA?
MLT2004 said:
Anyone have any idea if this is necessary on the newer ver2 N7 after OTA?
Click to expand...
Click to collapse
Not sure after OTA update, but my son's N7 (2013 / gen 2) needed zero mods to get screen casting to work. It worked fine after installing the google N7 image from https://developers.google.com/android/nexus/images
Sent from either Maguro or Grouper via XDA free
On step 9) Under google services Framework, select "gservices.db" i get the error
An error occurred while opening the database. attempt to write a readonly database (code 776) while compiling: select * from sqlite_master where type in('table','view') order by name
How can i solve this?
theone_s_me said:
I would like to annonce that this method worked perfectly in the Moto X 2014 (Lollipop)... the only problem is, when i restart the phone it stops working and i need to do the whole process again..... Any way to fix that?
Thank you
Click to expand...
Click to collapse
Unknown. Don't own that device. Only tested on the n7 2012.
boriznl said:
On step 9) Under google services Framework, select "gservices.db" i get the error
An error occurred while opening the database. attempt to write a readonly database (code 776) while compiling: select * from sqlite_master where type in('table','view') order by name
How can i solve this?
Click to expand...
Click to collapse
No idea. You are rooted, right? Might see if remounting /system in read/write mode would help. Also make sure you granted root privileges to sqlite editor if it asked.
Sent from my SM-T320 using Tapatalk
Creds? Or at least link to my source code that you took this from.
r3pwn said:
Creds? Or at least link to my source code that you took this from.
Click to expand...
Click to collapse
I didn't steal any source code, since it's a guide and not an application. I will, however, credit you for finding the method initially, although your app did not work in Lollipop at the time.
toastido said:
I didn't steal any source code, since it's a guide and not an application. I will, however, credit you for finding the method initially, although your app did not work in Lollipop at the time.
Click to expand...
Click to collapse
I know you didn't "steal the code", but parts of this guide are letter-for-letter in the code of my app. And don't worry, Lollipop-compatible version coming soon.
EDIT: Thanks for adding that to the OP, but I found the ActivityManager commands to kill the required processes, too.
r3pwn said:
I know you didn't "steal the code", but parts of this guide are letter-for-letter in the code of my app. And don't worry, Lollipop-compatible version coming soon.
EDIT: Thanks for adding that to the OP, but I found the ActivityManager commands to kill the required processes, too.
Click to expand...
Click to collapse
D'oh. My bad. Updated OP to be a bit more generic.
Also, when you get the Lollipop compatible version ready, let me know and I'll gladly update the OP to point people that way for those who don't want to manually do this
hi there,
after unlocking the phone I missed to see that all data would be lost. Obviously the ROM was set back to factory.
Two applications I found to recover the data:
1. 7-Data Android Recovery (can't even find the phone)
2. Android Data Recovery (finds the phone, phone tells me that superuser rights are granted everything ok, but then: "unable to get device storage information")
I would love to recover some data like photos, applications or contacts, before flashing another ROM.
ADB Drivers, fastboot etc is installed. Motorola Device Manager is installed. All Drivers have been successfully placed.
The Phone work works properly when plugged to PC and also USB Debugging is enabled.
Why do my data recovery programs don't access the phone?
TeamWin Recovery 2.7 has been installed, furnice Kernel 1.1.2 as well as SuperSU 2.4. has been installed.
maybe those are impedient`?
nordcupp_motoG said:
I would love to recover some data like photos, applications or contacts, before flashing another ROM.
Click to expand...
Click to collapse
Unlocking the phone will perform a factory reset. That means, everything that does not reside in your external sdcard is permanently lost.
If your device is properly set up with a google account, all your contacts, bookmarks,emails etc. will be restored. That means that everything you can access with your browser, like email, Chrome-bookmarks, are in sync with your device. If you allow google to backup your settings it will also try to restore your apps, but this is, and was, very unreliable.
If you must, you can manually backup your contacts with Contacts Backup Ultimate.
As for applications, nothing beats Titanium Backup. Ugly as hell but the most powerfull backup solution there is.
And last but not least, copy your photos, music, movies etc to your external sdcard.
All this has of course to be done before whiping your device.
P.S. Please update your recovery to the latest TWRP.
external sd may follow soon.
team win recovery that version is offically compatible to moto G14
so I chose that one.
thanks for the tipp. should have seen that earlier.
darryer said:
Titanium Backup is a good tool for Android. Or you can use Tenorshare This is a pro tool for Android data, it can recover all lost data like contacts, sms, call history, photos etc, even you have no backup.
Click to expand...
Click to collapse
I did use that tool as well as 7-Data Recovery and another one. None of them capable to access the phone.
Tenoshore told me after connecting the phone to the app and choosing what data to save, that the storage information is not accessible.
No clue as to how that happens.
nordcupp_motoG said:
No clue as to how that happens.
Click to expand...
Click to collapse
If you connect your device with usb-debugging enabled in the developer options, does a dialog pop up, presenting a RSA fingerprint, asking to allow usb-debugging? Allowing this is imperative.
that was done properly... the application does ask for this before you can chose what to save.
nordcupp_motoG said:
that was done properly... the application does ask for this before you can chose what to save.
Click to expand...
Click to collapse
What is the output of "adb devices" after you connect your device?
C:\adb>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
ZX1D22HLNC unauthorized
C:\adb>
but usb tunnel is working right now...
usb debugging is enabled...
adb should be up to date...
mmmh every try delivers different ansers:
second time said: devices attached.
third time said: daemon failed to start
and adb server didnt ack
ok, there is a well known issue with some devices and adb
there is an adb fix for it, but I couldn't get it to work so far.
nordcupp_motoG said:
C:\adb>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
ZX1D22HLNC unauthorized
Click to expand...
Click to collapse
Maybe this helps
http://stackoverflow.com/questions/18011685/cant-connect-nexus-4-to-adb-unauthorized
thank you.
I installed the Android SDK Studio and used the ADB from there.
ADB now works properly.
USB Tunnel sucks hard still though.
The connection shows up to be established and skype and whats app do work,
but playstore and chrome refuse to work also no regular app can reach the net
like wikidroyd & co...
nordcupp_motoG said:
playstore and chrome refuse to work also no regular app can reach the net
Click to expand...
Click to collapse
Maybe manually change dns in wifi settings will help.
manually change it where?
I don't see any menu for this in usb tunnel...
guess I gonna get a USB wifi next week.
nordcupp_motoG said:
manually change it where?
I don't see any menu for this in usb tunnel...
guess I gonna get a USB wifi next week.
Click to expand...
Click to collapse
Not on the mobile, on your pc. Change it to e.g. 8.8.8.8
QUESTION: Can someone please explain in simple form how to fix the ADB unauthorized issue that has been present since the update to M? The option for removing any current rsa keys is gone from the developer settings. And when you plug your phone in to a new computer it used to pop up a notification that would let you accept the rsa key. None of this is working any more. I cant believe that it is not a bigger issue and I have spent a few hours over a few days looking for a solution so if I have missed it, I am sorry. I have read a few things that say that google has just removed the ability to use adb and one post even explaining that, what looked to me to be a prop file variable, needed to be changed from 0 to 1, or vise versa, but didnt explain where the variable was. I dont see anything that I am confident with in the build.prop. Thanks. Please explain so that anyone will be able to overcome this issue, or point to a link.
Are you talking about the option to "Revoke USB debugging authorisations" under Developer options? It's there, at least on my N6 running stock 6.0.1 MMB29V... And I just tried to ADB to my device and the popup for the authorisation came up on the phone, just as it should.
I think you have some other problem going on.
Are you running the latest adb/fastboot tools on your PC?
Article showing removal of ADB
stevemw said:
Are you running the latest adb/fastboot tools on your PC?
Click to expand...
Click to collapse
Yes I am, I always use the one directly from the 'platform-tools' directory in the SDK. Another thing is I have read multiple articles that actually state that Google has removed the adb functionality in marshmallow... I don't get it. I even went from stock G.E. to CM an its exact same problem. Not to mention now I am dealing bwith the fact that the nethunter kernel isn't compatible with the CM build for Nexus... What!? Anyone can enlighten me on that subject I would love to know that as well... LoL. Here is link to one of the ADB articles though.
Tekto-kodi.com/kodi-news/marshmallow-android-6-removes-adb/
I looked at your link and the links provided in that article. The only thing I can read from those is that the ability to run ADB from your phone, i.e. from the terminal emulator (not your PC) has been removed. Are you trying to run ADB from your phone or your PC (I was under the impression that you're using your PC, but I have to ask)?
As I stated before, ADB from my PC to my N6 works just fine with Marshmallow (6.0.1 MMB29V).
You say that you use ADB directly from "platform-tools", but you don't say if you've updated the tools from the SDK-manager.
This was inspired by the ROM @burcbuluklu made for mantis (4k). Creating this image took a lot of time and effort to figure out. One key difference I was aiming for, was for you, the user to not need to use an OTG adapter and keyboard to complete the setup and pair the remote. I also wanted the user to go through the standard setup (OOBE), including setting up the equipment controls, if applicable. I finally managed to accomplish both.
Please understand what this process entails. I've tried to provide as much info and guidance as possible but you should have a good understanding of the basics (TWRP, rooting, etc).
This has only been used by me thus far. While I've done many restores on a few sticks multiple times to ensure everything goes smoothly, consider this BETA as it hasn't been tested by others. If you are comfortable with getting yourself out of trouble, please try this out and report back.
You do this at at your own risk. No warranty is explicit or implied. With that out of the way.
Some Info:
Android Version: 9
Fire OS Version: 7.2.4.9
TWRP Version: 3.6.1_9-0
Magisk Version: 25.1.FTV
Launcher: Wolf Launcher
Internal Storage after installation: 3.41 GB
Netflix works
Screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Requirements:
Computer
Firestick
Possible with:
Just a Computer
Possibly easier with some or all of the following:
TV or Monitor
OTG Adapter
USB Hub
USB Keyboard/Mouse
USB Stick Formatted Fat32
Before we start:
Be aware that your warranty will be void.
Backup your files.
All of your apps will be wiped. Technically the "data partition" / "sdcard" will not be wiped but it should be a backed up just incase
Root - How to root
If not 3rd Gen (Sheldonp) then convert to Sheldonp, see: Convert Lite (Sheldon) to Sheldonp (3rd Gen)
Sheldon = Fire TV Stick Lite - 1st Gen
Sheldonp = Fire TV Stick - 3rd Gen
if you aren't sure, you can check with this command from adb:
Code:
adb shell getprop ro.product.device
Confirm stick is on 7.2.4.9 or flash stock rom, see: Flash stock ROM
To check which version you are on:
Go to Settings > My Fire TV > About > Software Version
or, from adb (doesn't work in TWRP)
Code:
adb shell getprop ro.build.version.name
Restore TWRP image from this thread
Use OTG adapter, a USB hub, a USB stick and a mouse
Extract the zip attached to this thread to the following path: /TWRP/BACKUPS/7.2.4.9/
Mount the USB stick in TWRP
Go to restore and select storage
Find the folder with the unzipped files
Swipe to Restore
or, if you don't have an OTG adapter (Only a computer is needed)
See: How to Restore without OTG
or, if you don't have a USB Hub and USB Stick but have an OTG adapter
See: How to Restore without USB Hub and USB Stick
Most will skip this step. If you want to skip OOBE, see: Option to Skip OOBE (Amazon registration)
Reboot system
First boot will take a little while, be patient.
On screen will say, press play on the remote.
Press play, if it does work right away, press it a few times, if that doesn't work, hold it for a second or two
if that doesn't work
Hold home button for 10 seconds, then press play
Setup WiFi
It will try to update but fail (as the amazon servers are blocked in the host file)
Once it fails hold the back key and menu button at the same time for a few seconds, as outlined here
Once Voice View is displayed, press the back button
Now sign in and continue through the setup as normal
Once the setup is complete you will end up on the launcher (wolf launcher in this case)
Give the stick a full minute or so and it will reboot itself. If after a few minutes it does not, reboot it.
When it reboots, the stick will have been debloated
It's ready to use
Note:
Screensavers
Backdrop is enabled by default
Backdrop = Chromecast screensaver
Aerial Views is installed and can be enabled in the settings
Aerial Views = Apple TV screensaver
Warning: Aerial Views uses a lot of bandwidth (it plays video constantly). I would not suggest using it if you are on a limited data usage.
More debloat
If you would like to disable more bloat/amazon apps, use the debloat toolbox found in the system folder
select what you want to debloat, then select play (top right)
Less debloat
If you want to remove all the debloating, use the debloat toolbox found in the system folder.
Select all, then select all again (until nothing is checked), then click play (top right)
Re-debloat to "stock"
If you want to go back to how the stick was debloated when it was first setup
Go to magisk > modules, then enable "FireTV/FireOS 7 Debloat"
Reboot, give it a minute and it will reboot itself, it will now have been debloated
Important: Never install magisk updates from magisk. Use TWRP.
If you want to create TWRP backup, select "System Image" and "Vendor Image" instead of system and vendor. <- Thanks @burcbuluklu
Suggestion: FX Web Access makes it easier to transfer files.
Remote Button Changes
Holding the back button will kill the foreground app
Holding the home button will kill all background apps
Holding the menu button will bring up the "HUD"/quick settings. By default this was assigned to the home button
Remapping buttons
Open system folder on launcher home screen
Click "xposed edge" (green rectangle with < )
Select "Keys"
Now click on the button you want to change
Note:
The button must have the green check mark or the changes will have no effect
Clicking the checkbox must be done with a mouse, either with OTG or through adb + scrcpy (Flakie's ADB GUI or ADBLink)
Remapping "extra" buttons
You can assign whichever app you like (or any other option) to the additional buttons on the remote. This has been setup for the remote with the following buttons: Prime Video, Netflix, Disney+, Amazon Music. If your remote is different you will have to add the buttons to xposed edge, see: To add buttons to exposed edge
The following is which "app" is mapped to which button on the remote:
KEYCODE_APP_1 = Netflix
KEYCODE_APP_2 = prime video
KEYCODE_APP_3 = Disney+
KEYCODE_APP_4 = amazon music
Note: You can not remap a button if the app associated with that button is installed or enabled. You must either uninstall or disable the app first. The amazon apps can be disabled via the debloat tool.
To add buttons to exposed edge:
A mouse (via OTG or Flakie ABD GUI/ADBLink) is needed to check the check boxes/enable the mapping, it's also needed to click OK when adding a button to be mapped
Steps to get button added:
Click “+”
Press button on remote
This will open the app or some sort or dialog
Press back button on the remote, once only
Use the mouse to click ok
Convert Lite (Sheldon) to Sheldonp (3rd Gen)
From twrp recovery or adb
Code:
adb shell resetprop ro.product.device sheldonp
Flash stock ROM
Get stock ROMs from here
If you are blocking updates to your fire tv sticks on your router, you may need to remove “d1s31zyz7dcc2d.cloudfront” from the block list. Careful your other sticks don't update, if you have others connected to the same network.
Rename *.bin to *.zip
Boot to recovery/TWRP
If using OTG + USB,
Navigate to wipe
"Wipe to Factory Reset"
Mount USB
Select Mount
Check Storage 1
Install img
Go to install
Select storage
Storage 1 > Ok
Navigate to the 7.2.4.9.zip > Click it
"Swipe to confirm Flash"
Delete the zip by going to Advanced > File Manager
or, from adb
adb push name_of_file.zip /sdcard
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp wipe system
twrp install /sdcard/name_of_file.zip
rm /sdcard/name_of_file.zip
Boot to FireOS (Not sure if this is necessary but no harm, it will take a while, but will land on the setup screen)
Reboot to TRWP
To reboot to TWRP
with OTG and mouse to click cancel
or
Run the command in linux as outlined in the rooting thread
Hint: ./boot-recovery.sh
Option to Skip OOBE (Amazon registration)
There are things that will not work if you skip OOBE. I do not know the extent of what is non-functional when OOBE has been skipped, but here is what I've seen off hand.
Won't work if you skip OOBE:
Manage Applications
More to be added as found
How to skip OOBE
After restoring the TWRP backup
Install the "skip-OOBE.zip" via TWRP
Reboot system
You will end up on the custom launcher home
You will either need an OTG adapter, or to plug the stick into a computer and use adb + scrcpy. You can use Flakie's ADB GUI or ADBLink to help with that. You may be able to use the fire tv remote app on a mobile device but this has not been tested.
Navigate to the settings by holding enter on one of the icons
Go to Android settings
Remotes > Amazon Fire TV Remotes > Add New Remote
Enter = the Ok button, when asked to click ok on the "old" remote
Done!
How to Restore without USB Hub and USB Stick
* Probably just as easy if not easier to just used the "How to Restore without OTG" option
Plug the firestick into the computer, run the following via adb:
Code:
adb shell
twrp mkdir /sdcard/TWRP/BACKUPS/7.2.4.9
exit
adb push data.ext4.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push data.ext4.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
exit
adb push system_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push system_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
Plug the OTG in and get back to TWRP and restore the remaining partitions, via the GUI with the mouse. Delete the /sdcard/TWRP/BACKUPS/7.2.4.9 folder using the file manager
How to Restore without OTG
Plug the firestick into the computer, run the following via adb:
Code:
adb shell
twrp mkdir /sdcard/TWRP/BACKUPS/7.2.4.9
exit
adb push data.ext4.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push data.ext4.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
exit
adb push system_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push system_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
reboot
Apps included in this ROM
Google Play Store
LanuchManager (FireOS)
Wolf Launcher
DEBLOAT TOOLBOX (FireOS 6 & 7)
Aerial Views – (AppleTV screensaver)
Backdrop – (Chromecast screensaver)
FX – File Manager
Internet Speed Test
Plex
Disney +
TiviMate
IPTV Smarters Pro (Backup/secondary for TiviMate)
SmartTubeNext
Power Menu
Magisk
LSPosed
Xposed Edge Pro
Termux
YASNAC
Tweaks
build.prop - from Skel40
default.prop - disabled adb secure
host - added amazon servers to block updates
Set to never sleep
Installed Google Play store by following: [GUIDE] Google Play Store on rooted Fire TV (Systemless / microG) for v2, and [ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p) for v1
Universal SafetyNet Fix and MagiskHideProps (Using MiBox S device fingerprint)
Magisk module to debloat and enable customer launcher after OOBE is complete
Magisk module to disable OOBE, if you chose to install it
Button remapping as outlined above
Developer options and USB debugging enabled
OTA updates disabled
The future:
I may release another version in the future without the Google Play store installed. I also am not sure which "version" of the play store I prefer (open to suggestions one way or another)
For v1 (my naming scheme) I used this guide: [ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p)
For v2 (my naming scheme) I used this guide: [GUIDE] Google Play Store on rooted Fire TV (Systemless / microG)
I've used "v2" for this first image.
I did some side by side testing. They were as scientific as I could make them but it is hard to get 100% repeatable results. But ranked from fastest to slowest was:
No playstore
Playstore v2
Playstore v1
While there was very minor difference between v1 and v2. No playstore seemed to at least have a somewhat noticeable and repeatable speed advantage, though it is still quite minor.
Guides and apps that made this ROM possible
[Guide] [ROM] (mantis) Fire TV Stick 4K Prerooted Android TV Rom (6.2.7.6)
[UNLOCK][ROOT][TWRP][UNBRICK] Fire TV Stick 3 and Fire TV Stick Lite (sheldon/p)
Fire TV Stick 4K/Lite/3rd Gen Build.prop Tweaks (Works with latest FireOS) (Need Root)
[APP][FIRETV][NOROOT] Launcher Manager (Change Launcher without Root)
Fire TV Stick Lite/3 (sheldon/p) Firmware
[GUIDE] Google Play Store on rooted Fire TV (Systemless / microG)
Magisk 25.1 for Fire TV
[ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p)
Universal SafetyNet Fix
MagiskHideProps
LSPosed
FakeGApps
Amazon Fire TV Stick 4K Firmware and apps
Fire TV Stick Lite/3 (sheldon/p) Firmware
Thanks to:
@SweenWolf
@tsynik
@Skel40
@Flakie
@Tech0308
@t3chg33k
@burcbuluklu
@k4y0z
exoteric.roach.org - for the wallpaper
@PesiCC - for pointing out how to TRWP restore only some partitions
and to the many more whom I used the information they posted on xda and throughout the web.
reserved
reserved
reserved
Thank you for all the work you put into this!
But where is your custom ROM file?
Finnzz said:
Thank you for all the work you put into this!
But where is your custom ROM file?
Click to expand...
Click to collapse
I've been trying to attach it. It gets to 100%, looks like it's there but then when I hit save it disappears.
EDIT: Got it added now.
WOW, finally a Sheldon ROM! THANK YOU!! I can't wait to try it. I'll let you know how it goes.
VelvetB said:
WOW, finally a Sheldon ROM! THANK YOU!! I can't wait to try it. I'll let you know how it goes.
Click to expand...
Click to collapse
Yeah it's a bit late in the product's lifecycle, unfortunately. I just happen to get a few for cheap and that allowed me to play around with them easier. Sheldon doesn't get as much love as mantis but they are just as good as long as you don't need 4K.
All the knowledge I learned playing with this though is transferable to mantis to make an updated ROM for the new remotes. I plan to post my procedure/notes on the process. They just need to be cleaned up. I hope to also make a newer ROM for mantis but it will be a while till I have time for that. With the info I provided maybe someone else can do it. After I figured out certain things it was relatively easy. It was just really time consuming to figure out certain aspects. Unfortunately, the updates are also killing the ability to gain root so the target audience is sadly getting smaller.
I have it working and like it much. I tried the USB hub/stick method but I ended up going with TWRP & adb. For me TWRP, seems sensitive to different sticks and hubs. I tried 4 different hubs and sticks and found a consistently working combo with an old Belkin 2.0 bus powered hub and 4GB Sony stick. I don't know if there's a size limit but I couldn't get anything larger than 4GB working. Using TWRP/adb I do need to go back to the PC to transfer the backups and free up space, but that literally takes only seconds. I used the voiceview exploit to sign in and link the remote. I continued to get the "Amazon needs to update" message but that went away after a few restarts. I put it on another fire stick and the 2nd time took less than a 1/2 hour to end up with a complete, rooted stick with apps I like installed. I added Kodi and Puffin. First time trying Puffin and it's okay but when I discovered that it was a one-week trial I uninstalled it and went with the now unsupported Firefox. I need to find something else, what do you use? Thanks again for this efficient and well thought out ROM! Is there any benefit or need to update the Amazon app?
VelvetB said:
WOW, finally a Sheldon ROM! THANK YOU!! I can't wait to try it. I'll let you know how it goes.
Click to expand...
Click to collapse
Sheldon already has a rom produced by Rortiz2.
I mean great work to the OP taking the time to produce a twrp backup but lets not forget to credit the guys who done the hard work to make this possible (ie the root , twrp ) If it werent for this , this wouldnt be possible . Just saying
Regards
Couldn't agree more! Kudos to all these highly intelligent and skilled developers who donate their time for the benefit of others. You are correct, I misspoke saying "finally a custom ROM". I've used the Lineage ROM and think it's awesome. I meant a custom ROM with apps setup, ready to rock. While searching for 1, there are so many for mantis yet this is the 1st I've found for Sheldon. Before finding this, I'd been adding apps to Lineage and just realized I was going to need Magisk. It takes me some time to setup Magisk, install modules, etc. This one works well.
VelvetB said:
I have it working and like it much. I tried the USB hub/stick method but I ended up going with TWRP & adb. For me TWRP, seems sensitive to different sticks and hubs. I tried 4 different hubs and sticks and found a consistently working combo with an old Belkin 2.0 bus powered hub and 4GB Sony stick. I don't know if there's a size limit but I couldn't get anything larger than 4GB working. Using TWRP/adb I do need to go back to the PC to transfer the backups and free up space, but that literally takes only seconds. I used the voiceview exploit to sign in and link the remote. I continued to get the "Amazon needs to update" message but that went away after a few restarts. I put it on another fire stick and the 2nd time took less than a 1/2 hour to end up with a complete, rooted stick with apps I like installed. I added Kodi and Puffin. First time trying Puffin and it's okay but when I discovered that it was a one-week trial I uninstalled it and went with the now unsupported Firefox. I need to find something else, what do you use? Thanks again for this efficient and well thought out ROM! Is there any benefit or need to update the Amazon app?
Click to expand...
Click to collapse
I also found the fire tv stick to be picky about OTG adapters and hubs. I was hoping to provide a way that doesn't require them at all but it looks like TRWP lacks the commands to restore some of the partitions needed for this to work.
I don't use a web browser on the fire stick. Silk from what I understand is the official browser from amazon which I think works well but again, I've never used a web browser on this.
As for updating, my rule is if everything is working then don't update. If you find something that isn't working then an update may fix it but it also may break other things. So if there isn't a specific reason to do so, I wouldn't update just for the sake of updating.
Thanks for reporting back. Now I know at least it does work fine for another person. As I said, I tried to test this a lot but definitely needed feedback from others to confirm it's working correctly,
Bertonumber1 said:
Sheldon already has a rom produced by Rortiz2.
I mean great work to the OP taking the time to produce a twrp backup but lets not forget to credit the guys who done the hard work to make this possible (ie the root , twrp ) If it werent for this , this wouldnt be possible . Just saying
Regards
Click to expand...
Click to collapse
I was really excited that there was a LineageOS rom for sheldon, installed it first thing when I got the sheldon. Unfortunately, with Netflix not working it's hard to actually use that rom on a daily use device. I hate that it's a "requirement" for everyone I know but can't change that. There are a couple other things that the fireOS has that isn't in LineageOS or any android tv rom. For example, scaling the image. I know the first response to that is to use the tv's scaling, but some tv's don't have that option. It may be older tv issue but that's what I find the sheldon sticks to be good for. I think only the fireOS has the audio latency adjustment also, but not 100% on that one.
Don't get me wrong, I would prefer to do away with all that is amazon on these sticks but unfortunately there is some reasons to keep it around.
As for credit where credit is due, please let me know if I've missed anyone that I should have thanked. All of this was made possible by other peoples work, I'm very aware of that. I tried to make sure I linked to all the threads I used information/tools etc. from, and including thanks to developers who's work I used.
bnevets27 said:
As for credit where credit is due, please let me know if I've missed anyone that I should have thanked. All of this was made possible by other peoples work, I'm very aware of that. I tried to make sure I linked to all the threads I used information/tools etc. from, and including thanks to developers who's work I used.
Click to expand...
Click to collapse
Hey,
Thanks for the response, ofc I totally agree that these devices should be free of amazon crap. I'm currently trying to mod a patched Tank 2nd gen. 800mb free of 8gb and all I have on the device is smart tube and cinema HD. Its an absolute joke the bloatware on these devices and they won't even let you change a launcher.
Excellent work BTW. And didnt mean to sound as though I was pissin in your cornflakes. Just always good to mention the guys that unlocked and enabled development on these devices.
Keep up the good work.
Regarss
bnevets27 said:
NOTE: This isn't possible at the moment. If someone can tell me the commands to restore the system image and vendor image partitions in TWRP, then this will be possible.
It looks like it might be impossible to backup/restore the system image and vendor image via cmd line/openrecoveryscript, according to this.
Plug the firestick into the computer, run the following via adb:
Code:
adb shell
twrp mkdir /sdcard/TWRP/BACKUPS/7.2.4.9
exit
adb push data.ext4.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push data.ext4.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9 D:
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9 B:
rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
exit
adb push system_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push system_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9 D: <- Data partition. Needs to be system image, how?
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9 B: <- Boot partition. Needs to be vendor image, how?
Click to expand...
Click to collapse
It is possible to restore system and vendor without OTG.
Make sure the only files in the backup folder are the system and vendor files.
Then run the command without the arguments that specify what you are restoring.
The command would look like this:
Code:
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
It will proceed to restore only system and vendor after.
Awesome job with the rom by the way, keep it up!
Cheers.
EDIT: Arguments to specify system and vendor image exist but are not functional for some reason.
For more info see:
TWRP Commandline guide
PesiCC said:
It is possible to restore system and vendor without OTG.
Make sure the only files in the backup folder are the system and vendor files.
Then run the command without the arguments that specify what you are restoring.
The command would look like this:
Code:
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
It will proceed to restore only system and vendor after.
Awesome job with the rom by the way, keep it up!
Cheers.
EDIT: Arguments to specify system and vendor image exist but are not functional for some reason.
For more info see:
TWRP Commandline guide
Click to expand...
Click to collapse
I don't know how I missed such an obvious option on how to restore the image in two parts. This would have saved me a ton of aggregation.
Updated the OP, an OTG adapter is not a requirement anymore!
As you noticed I was trying to use arguments for system_image and vendor_image. But there aren't any working commands for that (found definitive proof here). Thanks for the suggestion of just using the general twrp restore
Slight update to my above post, I have been able to get a large USB drive working with an older spider hub. ROM is working great, as suggested I haven't updated the OS. Amazing to me how little love your wonderful ROM has received. I think it would benefit any members using the word NETFLIX or NEWBIE while posting in the Lineage forum, to be pointed here by an administrator. You've got a big fan here, thanks again.
I think you should add Netflix to your description.
Watching this thread. I will try it on one of my sheldonp's keeping the other one on Lineage.
Remote not connecting on boot on sheldonp. Have to press HOME every time for 12 seconds. Just like the LINEAGE rom.
Still working great, thanks again