[ROM][ICS][AOSP] Lenovo Ideapad K1 - Thinkpad Tablet Android Development

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

Related

[GUIDE] Complete and Thorough Guide to Rooting the Nexus S [+ No wipe] [GRH78C]

May NOT work for 2.3.3, if attempting on 2.3.3 use old part 1! - Will wipe all data though
Windows ONLY!
Hey guys, rooted my Nexus S today, and decided to write a thorough, detailed guide on how I did it, as none of the guides I had found had everything detailed. I came across a few problems, and all of this is in the guide. I successfully completed it on my Nexus S running 2.3.2, so any version below that will also work.
The original guide was made by AllGamer, and can be found here. I followed this guide, and added things when I found it was needed
The full guide with everything (including links, pictures) can be found on my site, Complete Android.
New info: Upon finding another thread over at XDA (http://forum.xda-developers.com/showthread.php?t=931865) it has been realized that you can root your Nexus S without unlocking the bootloader, and therefore not loosing your data on the SD card. Part 1 for the new method is still the same, but choose the new Part 2!
WARNING: Rooting your device will wipe all data off it, so you will loose EVERYTHING! Make sure you backup all important data first. Only applies to old Part 2 (fastboot oem unlock method), but it is still a good idea to backup important information!
Click to expand...
Click to collapse
What you will need:
Nexus S (obviously)
Android 2.3 SDK
USB Cable
PDAnet (for drivers)
Clockwork Recovery Image
Superuser
Part 1
Download the Android 2.3 SDK (or direct from Google here, 32MB).
Once it has finished downloading, unzip it, and run the SDK manager.
Select whatever components you wish to install, but you MUST make sure you install Google USB Driver (Available packages > Third party Add-ons > Google Inc. Add-ons > Google Usb Driver package, revision 4) otherwise this guide will not work!
We must now install the Google USB Driver, or the phone will not be recognised as a device other than a mass storage device.
Connect your Nexus S to your computer, and put it in USB storage mode.
Put it in USB Debugging Mode (Settings > Applications > Development > USB Debugging)
Windows should now recognise your Nexus S when you plug it in, and ask to install drivers. It probably won’t find anything, so we need to help it manually.
(Installing drivers manually varies between Windows versions, so please refer to http://developer.android.com/sdk/win-usb.html if you are having trouble). Launch Device Manager (you can find it in Control Panel), find Other Devices, and listed under that heading, you should find Nexus S. Right click, and select Update Driver Software. Click Browse my computer for driver software, find your SDK folder, then the google-usb_driver folder inside it, click OK, then Next. This should install the USB driver successfully. Reboot your computer.
Power off your Nexus S, connect it to your computer via USB cable, and boot it into the Bootloader Interface (you can do so by holding down the Power and Volume Up buttons at the same time).
It should say LOCK STATE – LOCKED, in white just above the green Android. You are now ready to move on!
Part 2 - Fastboot oem unlock method - WIPES ALL DATA!
We now need to install PDAnet on our PC so that Windows can see our Nexus S when we are using the Command Prompt. Install PDAnet from here, select Samsung when asked about the Manufacturer, allow the driver to be installed (because the driver is unverified, don’t worry about this!). Follow along with any other instructions. You should be set now.
With the latest SDK version, some tools have been relocated to another directory, so we need to make a copy and move them back. Navigate to the directory where you unzipped the Android SDK file in part 1. Inside it, go to the platform-tools folder, and copy both AdbWinApi.dll and AdbWinUsbApi.dll. Go back to the main Android SDK directory and find the tools folder. Paste these two files in there, and we are all ready to use ‘fastboot oem unlock’ (the rooting command) now.
Open a command prompt window (Start > Run > cmd.exe).
Change to the tools directory within your Android SDK folder by using the following command (without the quotes and replacing *YOUR SDK* with the path to your Android SDK folder) ‘cd c:\*YOUR SDK*\tools’.
Make sure your Nexus S is still in the Bootloader Interface (refer to step 9, part 1 of it isn’t).
Now in the command prompt, type in (without the quotes) ‘fastboot oem unlock’.
Now turn your attention to the phone, and read through the new information displayed on the screen. Using the Volume keys select Yes, then press the Power button. This will WIPE EVERYTHING! I bear no responsibility for any lost data on your phone!
If everything is successful, on your phone, the LOCK STATE should now read UNLOCKED, and on your computer, the command prompt window should say something like this:
Download the Clockwork Recovery image (here if you don’t already have it) to your Android SDK tools folder (*Android SDK*\tools).
Rename the newly downloaded Clockwork Recovery image to ‘recovery.img’ (no quotes).
Now we need to flash it to our Nexus S, so enter this command into the Command Prompt (make sure it is in the Androis SDK tools folder!) ‘fastboot flash recovery recovery.img’ (without the quotes).
If all is successful, the Command Prompt window should look something like this now:
Download the superuser app to the Android SDK tools folder.
Power on your Nexus S, leaving it connected to USB.
Mount the USB storage, and drag and drop the superuser .zip file you just downloaded into the root of the internal SD card (so Computer > *Device Name*, not in any other folders!). It should look something like this:
Power off the Nexus S, and return to the Bootloader Interface (step 9, part 1).
Select Recovery using the Volume buttons, then the Power button.
The phone should reboot into Clockwork Recovery, but if not don’t panic, just repeat steps 9-12, including downloading a new copy of the file (mine only worked the second time around, don’t worry!)
Using the Volume buttons and Power button, select install zip from sdcard.
Select choose zip from sdcard.
Select the su-version#-signed.zip file you downloaded earlier and apply it.
Select yes (there are lots of nos).
Confirm it says something like this: install from sdcard complete
Select Go Back.
Select Reboot. (You will now also have an unlocked padlock when you boot up)
Done! You now have to set up your phone again like when you first got it, but it will be rooted now.
New Part 2 - Does NOT wipe everything - Keeps a locked bootloader
Make sure Part 1 is completed.
Make sure you have downloaded the Clockwork Recovery file and the Superuser file.
Move the Clockwork Recovery file to your tools folder within the Android SDK folder, and rename it to recovery.img (for simplicity).
Connect your Nexus S via USB to your computer and mount it as USB storage. Copy across the Superuser file to the top level of your sdcard. (So the first window you see, not in any other folders. The sdcard is just where all the files are stored, don't worry about it too much for now).
We now need to install PDAnet on our PC so that Windows can see our Nexus S when we are using the Command Prompt. Install PDAnet from here, select Samsung when asked about the Manufacturer, allow the driver to be installed (because the driver is unverified, don't worry about this!). Follow along with any other instructions. You should be set now.
With the latest SDK version, some tools have been relocated to another directory, so we need to make a copy and move them back. Navigate to the directory where you unzipped the Android SDK file in part 1. Inside it, go to the platform-tools folder, and copy both AdbWinApi.dll and AdbWinUsbApi.dll. Go back to the main Android SDK directory and find the tools folder. Paste these two files in there, and we are all ready to use 'fastboot boot' (the boot image command) now.
Open a command prompt window (Start > Run > cmd.exe).
Change to the tools directory within your Android SDK folder by using the following command (without the quotes and replacing *YOUR SDK* with the path to your Android SDK folder) 'cd c:\*YOUR SDK*\tools'.
Make sure your Nexus S is still in the Bootloader Interface (refer to step 9, part 1 of it isn't).
We now need to use the 'fastboot boot' command to load Clockwork Recovery onto our Nexus S. In the command prompt, type in the following (but without the quotes, as always) 'fastboot boot recovery.img'
Once you are in Clockwork Recovery (it may take a couple of tries, don't panic, just redownload Clockwork Recovery, and complete steps 3 and 10, part 2) it should look something like this:
Using the Volume buttons and Power button, select install zip from sdcard.
Select choose zip from sdcard.
Select the su-version#-signed.zip file you downloaded earlier and apply it.
Select yes (there are lots of nos).
Confirm it says something like this: install from sdcard complete
Select Go Back.
Select Reboot.
Done! You should still have all your data present on your phone, and have root access!
Notes
As AllGamer said in his tutorial:
It’s normal to lose the recovery after the reboot, the steps to flash the CW recovery needs to be repeated every time you want to access the CW recovery.
This is due the build in protection in 2.3
As some one pointed it out on another topic, the good thing about this is that you’ll never lose the stock recovery of 2.3, thus minimizing the chance of a bricked phone.
If you want to the CW recovery to remain permanently, you’ll need to rename /etc/install-recovery.sh to something thing else
Click to expand...
Click to collapse
Keep this in mind! It's not because you did something wrong
Also, some root apps require BusyBox to be installed, as I found out with Titanium Backup, so once you set up your Nexus S again, head on into the Market, and download BusyBox. It installed fine on my Nexus S this way, and now TB works fine.
I hope this is the best, most thorough guide you will find on rooting the Nexus S. Enjoy! Feedback is appreciated, and I will help out if you need any extra help.
Your guide has been wonderful however I'm stuck on part 2, step 4. I tried writing in the path to my directory and they keep giving me whatever I wrote in the command prompt "is not recognized as an internal or external command, operable program or batch file"
"Change to the tools directory within your Android SDK folder by using the following command (without the quotes and replacing *YOUR SDK* with the path to your Android SDK folder) ‘cd c:\*YOUR SDK*\tools’."
This is how my command prompt looks like when I first open it. "C:\Users\Du>"
and this is what I typed in the command prompt: "Downloads\android-sdk_r09-windows\android-sdk-windows"
^^^I did exactly what you said above and nothing is happening. I don't know whether I'm writing in the directory wrong or what. Please help me out thanks
Your guide is nice, however as shown in distortedloop's stickied Root & Recovery thread, fastboot oem unlock is not required for rooting & flashing. We no longer have to lose all our sdcard data when first rooting and/or flashing a ROM.
Other than that, this seems to be a nice amendment of Allgamer's sticked root & recovery thread. I'm sure it will be useful to many.
STARSCR33M said:
This is how my command prompt looks like when I first open it. "C:\Users\Du>"
and this is what I typed in the command prompt: "Downloads\android-sdk_r09-windows\android-sdk-windows"
^^^I did exactly what you said above and nothing is happening. I don't know whether I'm writing in the directory wrong or what. Please help me out thanks
Click to expand...
Click to collapse
Ok so if you want to change directories in the command prompt, you need to use the command
Code:
cd
So in your case I would type in
Code:
cd c:\Users\Du\Downloads\android-sdk_r09-windows\android-sdk-windows\tools
That way is fool proof, however you could take a shortcut, because you are already in the Users/Du folder (because of how it looks when you first open it), you could just type in
Code:
cd Downloads\android-sdk_r09-windows\android-sdk-windows\tools
Hope that helps
ravidavi said:
Your guide is nice, however as shown in distortedloop's stickied Root & Recovery thread, fastboot oem unlock is not required for rooting & flashing. We no longer have to lose all our sdcard data when first rooting and/or flashing a ROM.
Click to expand...
Click to collapse
I think this way is a cleaner approach personally, but hey choice is good That's what Android is all about
EDIT: New approach added, now there is choice and easyness for all
Other than that, this seems to be a nice amendment of Allgamer's sticked root & recovery thread. I'm sure it will be useful to many.
Click to expand...
Click to collapse
Thanks
Jonathon Grigg said:
I think this way is a cleaner approach personally, but hey choice is good That's what Android is all about
Thanks
Click to expand...
Click to collapse
I'm not sure that wiping all your data pointlessly is "cleaner."
It's not even clear what exactly the oem unlock of the bootloader really does for us, since you can get into clockwork recovery without that step. Once you're in clockwork you pretty much own the phone. I'll be interested to see if someone can use clockwork to flash a new boot image once rooted without the unlock; if so I can't see any reason to unlock the bootloader. That said, mine is unlocked, and I like it that way, but many won't root for fear of losing data on the phone.
Even if you end up having to do the oem unlock in the long run for some activities you want to do, it seems that rooting, then installing Titanium and backing up your apps and app data fully is a better way to go than just losing all your data (any app that doesn't store its data on the sdcard) that can't be backed up without root would be a lot less painful than WIPING everything on the phone, including the sdcard.
It's not worth arguing about, but I think any method that is including the oem unlock step should at least mention that that step can be skipped. How many people will go through the pain of a wipe that they didn't need to because they didn't see that there was an option without it. I guess that's there own fault for not doing enough searching on their own...
Anyways, nice and thorough effort. I'm sure many will benefit from your additions to AllGamer's tutorial.
distortedloop said:
I'm not sure that wiping all your data pointlessly is "cleaner."
It's not even clear what exactly the oem unlock of the bootloader really does for us, since you can get into clockwork recovery without that step.
Click to expand...
Click to collapse
I have been wondering that myself. My guess is that for the average user you don't need to, but maybe it's for real power users who build their own ROM which has been fully modded or something, I'm not sure.
but many won't root for fear of losing data on the phone.
Click to expand...
Click to collapse
I definitely agree with that, and your guide is probably the best way for those people!
Even if you end up having to do the oem unlock in the long run for some activities you want to do, it seems that rooting, then installing Titanium and backing up your apps and app data fully is a better way to go than just losing all your data (any app that doesn't store its data on the sdcard) that can't be backed up without root would be a lot less painful than WIPING everything on the phone, including the sdcard.
Click to expand...
Click to collapse
Exactly, this is one of the better uses for both methods. I already had to wipe my phone twice due to Samsung CS so I'm used to it Although it does give you a chance to clear out the apps you don't need. Doing that I noticed better battery life on my phone.
It's not worth arguing about, but I think any method that is including the oem unlock step should at least mention that that step can be skipped. How many people will go through the pain of a wipe that they didn't need to because they didn't see that there was an option without it.
Click to expand...
Click to collapse
I wasn't going to argue I'm happy to adjust my tut to include something about this, after all it was aimed at more beginners.
EDIT: Added a new part to my tutorial based on your guide, just includes some more detail. Thanks again.
Thanks distortedloop
This is awesome cause i relocked my bootloader i really just needed root. Thanks!
Edit oops lost track of tabs open.
I think we can use this method to unlock oem without wiping data.
boot cw -> full backup -> unlock and flash cw (wipes data) -> restore backup (got ur data back and oem unlocked)
the only problem i can think of is that restoring backup would re-lock oem again but i am not sure of that.
i can't try this right now but if someone could, please give feedback.
Jonathon Grigg said:
I wasn't going to argue I'm happy to adjust my tut to include something about this, after all it was aimed at more beginners.
EDIT: Added a new part to my tutorial based on your guide, just includes some more detail. Thanks again.
Click to expand...
Click to collapse
Nicely done. Thanks.
sam4free said:
I think we can use this method to unlock oem without wiping data.
boot cw -> full backup -> unlock and flash cw (wipes data) -> restore backup (got ur data back and oem unlocked)
the only problem i can think of is that restoring backup would re-lock oem again but i am not sure of that.
i can't try this right now but if someone could, please give feedback.
Click to expand...
Click to collapse
That's what I suggesting a couple of posts above (root without unlock to at least make a backup of user data).
Restoring a titanium backup would not re-lock the phone. A nandroid restore might, depends on what all it imaged and restores, but it's so easy to re-root, that doesn't seem like a big deal.
Jonathon Grigg said:
Download the Android 2.3 SDK (or direct from Google here, 32MB).
Click to expand...
Click to collapse
Looks like you forgot to add the link in your copy pasta.
AtomicPC said:
Looks like you forgot to add the link in your copy pasta.
Click to expand...
Click to collapse
I've been working on it I just wanted to get it up here as soon as I could That's why I mentioned that the full guide is available on my website. I'm going back to school today, so I don't really have too much time for changing links now. Besides, most people on XDA should know how to look at the 'What's needed' part
Sent from my Nexus S using XDA App
Jonathon,
Thank you for posting this detailed guide to rooting without losing your data! I do have a question. As you've probably heard, there are a few updates coming soon and if they are like they were on the N1, they always broke root. So getting root back was tricky unless I "unrooted" before applying the update. Using your method, is it easy to "unroot"? Thanks!
No problems
As for your problem, I never actually had a N1 so I don't exactly know why that would happen. So far from the 2 updates available to NS owners it seems like the OTA update does break root but it appears to be the same to get it back again. Can someone confirm this? I haven't been through an update with my root yet.
As for unrooting, if you haven't unlocked the bootloader (so you have followed the new part 2) I think it is just a case of finding a stock image (I think there's a GRH78 one around here somewhere) and booting into Clockwork Recovery and flashing it. That should remove root and then also give you a notice to install the GRH78C OTA update so you get the latest version.
I think that is what you meant? If you did unlock the bootloader (using the original part 2) then I think you just have to follow the same steps as I mentioned just then but afterwards go back into the bootloader interface and run 'fastboot oem lock' and it should be right.
Sent from my Nexus S using XDA App
Question on Part 2- step 1.
Code:
# We now need to install PDAnet on our PC so that Windows can see our Nexus S when we are using the Command Prompt. Install PDAnet from here, select Samsung when asked about the Manufacturer, allow the driver to be installed (because the driver is unverified, don’t worry about this!). Follow along with any other instructions. You should be set now.
Why above step is required if one already installed USB Driver for Nexus S and "ADB devices" command can find the device ?
On Allgamer thread didnt ask to repeat installing USB driver ?
What purpose for the pdanet driver ?
I dont want to put redundant drivers into my system which may interfere each other during flashing process.
hmanxx said:
Why above step is required if one already installed USB Driver for Nexus S and "ADB devices" command can find the device ?
On Allgamer thread didnt ask to repeat installing USB driver ?
What purpose for the pdanet driver ?
I dont want to put redundant drivers into my system which may interfere each other during flashing process.
Click to expand...
Click to collapse
When I tried to use the fastboot command with my Nexus S connected, it would hang and not do anything, despite leaving it for about 5 minutes. I searched online, and found the PDAnet solution, so I don't know what the difference is exactly. All I found the Google SDK USB drivers to do is enable you to see your device in Device Manager, however you could try it without the PDAnet drivers, and let me know what happens!
Thanks
Thanks for the prompt reply.. I tried out the google driver..it doesnt work under fastboot. I eventually get the fastboot enabled driver..that could explain why the pdanet driver required.
After i installed the fastboot enabled driver, i could test the connectivity under fastboot with "fastboot devices"
thanks going to try out rooting..i just want simple root access..without wiping data is a ++ ..
I managed to run fastboot boot recovery.img...going into clockwork menu..apply the superuser.zip.(for froyo version)..till completion..no word of failure..
However after rebooting, su and SuperUser.apk are not installed.( I used adb to check the system/app and system/bin folder.
Edit- manage to root properly after system mounting .
Just a note..to properly complete the rooting, one need to apply mounting then mount system before applying the Superuser.zip install from sdcard.
Prior to step 11, you may want to add the following steps for folks having problem to get the superuser.zip to install properly.
Originally Posted by droidmage
So all you guys who are having trouble getting root inside the rom, When your in recovery before you flash the superuser.zip file select -- mounts and storage -- then --mount /system -- then flash the .zip file and reboot
Click to expand...
Click to collapse
Thanks for the extra bit of info, I will attempt to add that in when I get a bit more time on my hands. when I did it it seemed to work fine so thanks for discovering that!
Enjoy your rooted phone
Sent from my Nexus S using XDA App

SUCCESS !! :) FM Radio app by HTC: Reverse Engineer: Please help

I'm working to enable FM radio functionality, RX and TX on HTC Legend and other devices with TI FM chip.
I need help to get this done ASAP. I'm an experienced embedded Linux dev, but I'm pretty new to smartphones and Android.
A few weeks back I managed to muddle my way through on phone gold card creation, downgrading, rooting, CWMod (2.5 ?) installation, CMMod7 nightly install, S-Off and new Radio flash. Since then I haven't flashed anything and probably forgot half of what I learned.
So now I want to flash the best ROM for the purpose of figuring out the audio routing "secrets" of the HTC FM app. Any suggestions for the best ROM for that purpose ?
Next, I could use some pointers to the best posts or web pages to refer to for flashing the HTC Rom, and then later flashing back to CM7. As easy as possible. Can I do something Nandroid like and save the entire state of the phone to easily get me back to where I started with CM7 ?
Yes, I AM a dev, but very much appreciate easy to follow step by steps that don't leave me scratching my head wondering if I'll brick my device or create some other catastrophy . Eg: Should I ignore those error messages or not worry ? Do I have to reboot 5 times while clicking my heels ? Etc.
Once I get the above figured out, perhaps this thread can be used for discussion of the observations and any reverse engineering results.
Thanks !
Well, the best ROM would probably be BlaY0's, as it has the FM functionality. Take a nandroid of that and then install CM (as that's what your developing for, ye?). Then nandroid the CM and you can easily switch between the 2 without the need to set it up again.
BlaY0's ROM is based of the official HTC one, so it would probably do for the reverse engineering stuff. Thus I don't think you'd need to go back to a stock HTC ROM. If you do you can just flash a pre-rooted one (found here) and that would do it.
TheGrammarFreak said:
Well, the best ROM would probably be BlaY0's, as it has the FM functionality. Take a nandroid of that and then install CM (as that's what your developing for, ye?). Then nandroid the CM and you can easily switch between the 2 without the need to set it up again.
BlaY0's ROM is based of the official HTC one, so it would probably do for the reverse engineering stuff. Thus I don't think you'd need to go back to a stock HTC ROM. If you do you can just flash a pre-rooted one (found here) and that would do it.
Click to expand...
Click to collapse
OK, thanks GrammarFreak. BlaY0's ROM 0.7 it is.
Hate to be/seem so newb-ish....
So I'm running CM7 now. So:
(1) Run ROM Manager Backup.
(2) Watch phone go into recovery mode with red triangle and exclamation mark.
(3) Don't freak as the backup will take maybe 10-20 minutes or so.
(4) Phone reboots back to CM7 I presume.
(5) Pull any important data from sdcard including ROM backup files.
(6) Download http://blay0.r3volutionary.net/b-0.7.zip
(7) Run ROM Manager to flash Blayo.
(8) Reboot and mess around with Blayo ROM.
(9) When done messing, optionally save Blayo ROM and mods with ROM Manager Backup.
(10) Use ROM Manager restore to return to CM7 ROM.
Sound good ? I don't even have to remember which key when booting brings up CWMod recovery mode ?
I couldn't find a canonical web page documenting CWMod/ROM Manager and it's usage.
Gee my phone has been stuck in red mode for a while now...
EDIT: So I'm reading threads and getting the impression the red triangle is not what I want. So I run "adb reboot" and will check and see if the backup looks good.
I can understand that the "community" has to somehow pull together to pool info, but my experience seems typical of what so many face.
In order to figure out some sort of semi-foolproof method of doing XYZ it seems I have to search threads all over to collect the full info. 50-100+ page threads are a challenge. Do I start with the first few posts or pages of posts, or should I skip to somewhere near the end for latest info ? Yes I can read to see if first posts are updated etc.
Before I started the rooting process on my phone, I read QUITE a few big threads from begin to end. And I made LOTS of notes to try and figure it all out and avoid problems. And my head got so full it almost exploded, and I almost sorta gave up, dived in, did a few more google searches on the way and thankfully finally ended up with a nicely open device.
But it all seems so ridiculously difficult, UNLESS you happen to come across some very succinct, accurate and informative HOWTO somewhere that works well for you.
/rant off
Ok, I want you to do a couple of things:
Forget about ROM manager, it's a piece or crap and it creates more problems than it solves.
So, you said you performed S-OFF, correct? Did you let the S-OFF procedure install ClockworkMOD recovery? Given the red triangle of doom I doubt it. No worries. Here's what you do:
Download this (it's the ADB tools) to a known location. Then extract the zip to a known location. Open a command window in that location (for the sake of this guide: C:\ADB) So open CMD (start, run, type CMD, hit enter) In CMD type "cd C:\ADB". Plug your phone into the computer (make sure you're using CM). Debugging mode should be on (you'll get a notification in the status bar of your phone). Now, I want you to download this (CWM 2.5) and save it to C:\ADB. In CMD type "adb push recovery.img /sdcard" Wait for it to complete. It will output a file-size, time taken and resultant transfer rate. When it's completed type "adb shell". You'll end up with a "#" and nothing else (if you get a "$" just type "su" and hit enter, and on the phone's screen accept the Superuser request). Now, type "flash_image recovery /sdcard/recovery.img", let it do it's thang. When you see the "#" type "reboot recovery", and your phone will reboot to CWM. This is what I refer to as a win
Now, from clockworkMOD you can use the trackball (move and click) to select "backup/restore" then "backup". Let it do its stuff. Once backed up you can flash B-0.7 and then back that up. Note down the name of each backup so you know which is which
TheGrammarFreak said:
Ok, I want you to do a couple of things:
Forget about ROM manager, it's a piece or crap and it creates more problems than it solves.
So, you said you performed S-OFF, correct? Did you let the S-OFF procedure install ClockworkMOD recovery? Given the red triangle of doom I doubt it. No worries. Here's what you do:
Download this (it's the ADB tools) to a known location. Then extract the zip to a known location. Open a command window in that location (for the sake of this guide: C:\ADB) So open CMD (start, run, type CMD, hit enter) In CMD type "cd C:\ADB". Plug your phone into the computer (make sure you're using CM). Debugging mode should be on (you'll get a notification in the status bar of your phone). Now, I want you to download this (CWM 2.5) and save it to C:\ADB. In CMD type "adb push recovery.img /sdcard" Wait for it to complete. It will output a file-size, time taken and resultant transfer rate. When it's completed type "adb shell". You'll end up with a "#" and nothing else (if you get a "$" just type "su" and hit enter, and on the phone's screen accept the Superuser request). Now, type "flash_image recovery /sdcard/recovery.img", let it do it's thang. When you see the "#" type "reboot recovery", and your phone will reboot to CWM. This is what I refer to as a win
Now, from clockworkMOD you can use the trackball (move and click) to select "backup/restore" then "backup". Let it do its stuff. Once backed up you can flash B-0.7 and then back that up. Note down the name of each backup so you know which is which
Click to expand...
Click to collapse
Thanks for the newb-friendly instructions. Much of I don't need, but may help others.
I'm running Linux, I've had adb etc installed for 2 weeks. I've got the SDK installed w/ Eclipse but never tried it, but have done App Inventor. And I've been poking around in the innards of the various source codes, binaries, firmwares and other files for the last 2 weeks too.
OK, I'll "Forget about ROM manager" and just use CWM after manually rebooting into it with Volume Down or whatever.
I'm pretty positive I'm S-OFF and have CWM 2.5.0.0.7 or so installed. ROM Manager says so. I have CWM on before I S-Offed using the Bell/Virgin modified alpharev boot disk.
I'll do the backup manually with CWM later tonight when I get back to this. I checked the SD and the backup isn't there, although there are still 3 backups I took when I installed CM7 2 weeks ago.
So I guess I do a complete flush or wipe or whatever when installing the new (or a backed up) ROM ? And since the backup is a nandroid type it will absolutely restore to exactly the same state as when the backup was taken ? But the SD card is not touched...
EDIT:
"adb reboot recovery" gives me red triangle of doom.
"adb reboot bootloader" gives me AlphaRev and I see S-Off and HBOOT 1.000000000
Did AlphaRev remove CWM ?
Given that you get the red triangle we can assume you don't have CWM installed to /recovery, you have it in fakeflash. Nothing inherently wrong with that, just FYI
As for your rant in post numero uno, I've often considered trying to put together a comprehensive "document" on the matter, but it'd take an age and would probably raise more questions than it'd answer.
"adb reboot recovery" gives me red triangle of doom.
"adb reboot bootloader" gives me AlphaRev and I see S-Off and HBOOT 1.000000000
Did AlphaRev remove CWM ?
Click to expand...
Click to collapse
See above about fakeflash. You could well use the image I linked above and use flash_image on the phone or fastboot to flash it
Fakeflash is pretty easy, I either do that or do my business in rom manager as I find that easy.
Rom manager method for installing a new rom:
If rom manager isn't installed, do so from the market
start up rom manager
tap "backup current ROM" (I suggest naming your backup, I just use the rom name)
Let it reboot and do it's thing
When it's booted back into CM7, open up rom manager again
tap "install ROM from SD card"
browse your sd for your rom and tap it.
You are presented with 2 check box options
Since we already backed up make sure "backup existing rom" is unchecked
If you are flashing a new rom, make sure "Wipe Data and Cache" is checked
If you are flashing a newer version of the same rom, you can leave this area unchecked as it will not erase the stuff stored on the phones built in memory
Press ok, let it do it's thing and thats it.
Place the fakeflash update.zip from http://forum.xda-developers.com/showthread.php?t=698404 on the root of your sd card
turn off your phone
Hold the volume down button as you press the power button
using the volume buttons, navigate to "recovery"
press power
your phone will reboot to th red triangle (of DOOOM)
Don't panic, hold volume up and press power (if it gives you an error just wait few seconds)
Using the volume buttons to scroll and power for enter choose "apply sdcard:update.zip"
Use the trackball and go to "Nandroid" if you are using ClockWorkMod 2.5.xxx fake flash or "backup and recovery" if you are using ClockWorkMod 3.xxx
hit "backup"
Let it do it's thing
If you're installing a new rom, scroll to "wipe data/factory reset", wait, then choose "wipe cache partition". If your installing a newer version of the same rom, don't bother.
Scroll to "install zip from sdcard"
scroll to "choose zip from sdcard"
choose your zip, let it do it's thing, and thats that.
You're SD is not touched at all during flashing, no need to backup those files.
Wow, can't believe I typed all that out...
TheGrammarFreak said:
As for your rant in post numero uno, I've often considered trying to put together a comprehensive "document" on the matter, but it'd take an age and would probably raise more questions than it'd answer.
See above about fakeflash. You could well use the image I linked above and use flash_image on the phone or fastboot to flash it
Click to expand...
Click to collapse
Re: rant, don't want to come off as complaining, I KNOW documenting semi-foolproof procedures is tons of work, to do properly. I understand a big problem is consideration of the large set of combinations of ROMs, recoveries, apps, S-On/S-Off states, Radios, etc.
OK, cool, I want "realflash" type recovery then. I guess that's one reason to have S-Off ?
I had to slightly alter your first command by appending a '/'.
EDIT: WOOHOO ! Success I think ! Feel free to skip the rest of this post unless you want to hear the details of my adventure...
Thank you ! Editing this post the last hour I wrote "Success ! " here anticipating such, but alas, I have some issue.
I don't know if I have to be extra patient as deodexing happens, Or if I'm stuck in some boot loop... I see "HTC quietly brilliant" and screen flashing on and off and re-writing the HTC spam.
Re: HTC FM app. OK, cool, I see :
ls -l /system/app/HtcFMRadio.apk
-rw-r--r-- root root 826176 2008-08-01 07:00 HtcFMRadio.apk
And bluetooth. Is there any way to switch normal media output, like from TuneIn radio etc, to my cheap new bluetooth headset ? I pushed the button in CM7 and I see I could start a voice dial, but I figured BT would take over all audio I desired routed through it.
-----------------
I did:
adb push recovery.img /sdcard/
adb shell flash_image recovery /sdcard/recovery.img
adb reboot recovery
In the CWM menu I had to select "Nandroid", and then "Backup".
That completed.
I didn't want to bother rebooting, so manually grabbed the backup files:
adb shell ls -l /sdcard/clockworkmod/backup/
adb shell ls -l /sdcard/clockworkmod/backup/2011-02-27.03.19.57/
mkdir cm7backup-2011-02-27.03.19.57
cd cm7backup-2011-02-27.03.19.57
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/boot.img
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/cache.img
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/data.img
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/nandroid.md5
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/recovery.img
adb pull /sdcard/clockworkmod/backup/2011-02-27.03.19.57/system.img
Then to be sure:
cat nandroid.md5
md5sum *.img
Yes, looks good ! Now for Blayo:
cd ..
adb push b-0.7.zip /sdcard/
Goto CWM. Version 2.5.0.1, I had a 7 at the end before. Fine I'm sure.
Use volume up/down to select install from a ZIP. Press power to select. Oh, oh, shoulda used the trackball switch as it powered off.
Whoops, press power again and screen comes back, LOL. Choose zip from sdcard and use trackball switch this time. Move and select Blayo b-0.7.zip
Wonderfully wacky confirmation. Error message saying it can't find the zip file. Hmmm....
Reboot a few times and finally do "adb reboot recovery" and retry install from ZIP.
No go, get:
-- Installing: SDCARD:b-0.7.zip
Finding update package...
Opening update package...
E:Can't open sdcard/b-0.7.zip
(bad)
Installation aborted.
Try to open 98 MB zip file. No go. AHA ! corrupted file.
Try download from mirror 2: http://www.dkmdesign.dk/custom_roms/blay0/b-0.7.zip File is supposed to be 126 MB.
Gee I'm glad there's an unzip process that checks the integrity of ROM flashes.
So again:
adb push b-0.7.zip /sdcard/
And install, running..... Done !
Try to use power button to reboot. Use back key and "reboot system now". Cross fingers and offer the gods sacrifices...
See androids on skateboards again. Recall I may have to be patient as deodexing happens... See "HTC quietly brilliant" spam,,, in this context,good. Waiting....
Waiting.... screen flashing on and off and writing the HTC mind control spam.
Try reboot when tired of waiting and same thing. AFAICT, from "adb shell ls * etc" on the filesystem, Blayo ROM is installed but just won't stop flashing the HTC logo.
speedyink said:
If you are flashing a new rom, make sure "Wipe Data and Cache" is checked
Click to expand...
Click to collapse
Thanks. Maybe that's my boot loop or whatever problem now. I didn't recall seeing that option, but should be there with CWMod, so I'll try installing Blayo again after that.
There was some Wipe in main menu, and another w/ factory reset. Also in advanced menu I selected Wipe Dalvik cache. I left the Battery Stats alone. Hmmm. Naah !
Did all 3 wipe twice for good luck. Rebooted in between. Installed. Now waiting... Oh here's the HTC screen again. Time to read the Blayo thread to see how long to wait. etc.
Man what a pain ! Yet likely a world easier than the new paths I attempted to forge on my previous LG Optimus Chic resulting in a hard brick, LOL.
WOOHOO ! Success I think !
Welcome to the BlaY0 universe.. Just remember that many of us went through this journey as well to have our phone in same state Glad you got to fully download the BlaY0 rom from my mirror.. now happy reverse engineering..
Sent from my Legend using XDA App
whitetigerdk said:
Welcome to the BlaY0 universe.. Just remember that many of us went through this journey as well to have our phone in same state Glad you got to fully download the BlaY0 rom from my mirror.. now happy reverse engineering..
Sent from my Legend using XDA App
Click to expand...
Click to collapse
Thanks. Figured I was finished messing with such nasties once I had CM.
(In case you aren't aware, I have scripts that make the FM radio "work" on CM7. I can scan and see RSSI as expected etc. Only "problem" is I haven't figured out the audio routing part yet so no sound, which is why I'm exploring the HTC app for it's special tricks.)
What I want to do now is try running my hcitool scripts and see if they work on Blayo ROM.
If yes, then the Blayo ROM has something the CM7 ROM needs.
If no, then there's likely some magic step required on either stock ROM or CM7 ROM and likely the HTC FM app is doing that step, directly or indirectly.
But the needed hcitool is not on Blayo ROM. I find 3 of the hci utils and install them. Now I can't get hciattach running, which I think is needed for hcitool.
I'm guessing I can edit /init.legend.rc and change service hciattach to enabled. Reboot and no dice. Try running from command line also with no luck. At one point it hung, but now:
# hciattach -n -s 115200 /dev/ttyHS0 texasalt 4000000 flow
Unknown device type or id
# hciattach -n -s 115200 /dev/ttyHS0 any 4000000 flow
Can't set device: Device or resource busy
Can't initialize device: Device or resource busy
# hciattach -n -s 115200 /dev/ttyHS0 any
Can't set device: Device or resource busy
Can't initialize device: Device or resource busy
Waiting with baited breath
Sent from my Legend using XDA App
pjgodd said:
Waiting with baited breath
Sent from my Legend using XDA App
Click to expand...
Click to collapse
Bated ? Baited=fish
Well AFAICT, the world of Bluez bluetooth and hciattach, hcitool, hciconfig and hcidump doesn't get along with the TI BT stack world of btipsd and btipds_cli.
I'll have to bust out the NDK and start trying APIs.
But FIRST, I'm happy to report that btipds_cli is a pretty interesting and cool tool. Once I rebooted, turned BT on and learned the quirky UI, it wasn't too long before I had FM audio coming out of the speakers or the headphone.
I even tried a BT over FM option in another menu, but no go. Next I'll try the FM Tx, cause I'd REALLY like to see if that works.
btipds_cli doesn't seem to want to start FM a second time though, so a few reboots might be needed for testing.
I think it's possible that the "14.start_audiO" option in the "4.fm_Rx/" is the missing link for FM in non HTC ROMs. I don't know yet if it initiates a digital PCM / SCO connection or just switches analog. I don't see any new processes for that but btipsd might be doing the good stuff.
Following this thread with great interest..
Sent from my Legend using XDA App
I still can't get the transmitter to work, despite all the commands seeming successful. Both with hcitool on CM7 and btipsd_ci on Blayo0.7.
So I think one, or both, of the following are the TX issues:
(A) - It is somehow disabled by the hardware. The Tx antenna pin could be tied to ground, perhaps even through a capacitor or something. It may even just be unconnected and unable to transmit a few inches because it's inside an RF shield.
(B) - The firmware file for the FM portion disables TX, yet the registers still respond as if it works.
(A) would be difficult to infeasible to fix.
(B) should be fixable by loading a firmware file from a TI FM chip device that is known to support transmission.
For a TI based device that is known to transmit, I presume firmware files for a TI or TI partner evaluation board may work.
So far I can't get hciattach and hcitool etc working on BlaY0 ROM.
I HAVE, however, gotten btipsd and btipsd_cli to work on CM7. I had to create the /data/btips directory and am running btipsd manually in foreground.
What I find is exactly the same as with my hcitool scripts: everything seems to work but actual sound doesn't exit the device. Even after doing everything else the same as with BlaY0 ROM.
The /etc/firmware files on both ROMs are identical.
So I'm thinking there is some other thing separating the two ROMs. Could be some HTC customized library, or a config file or who knows.
Hi Mike, your work is appreciated, i hope you wil get it to work. We have great legend dev's. Please BlaYo and. Ali Ba, help this guy!
mikereidis said:
I HAVE, however, gotten btipsd and btipsd_cli to work on CM7. I had to create the /data/btips directory and am running btipsd manually in foreground.
Click to expand...
Click to collapse
Then you got as far as I did a few months ago. The btipsd stuff can be found in the original init.legend.rc, if you are interested.
mikereidis said:
So I'm thinking there is some other thing separating the two ROMs. Could be some HTC customized library, or a config file or who knows.
Click to expand...
Click to collapse
"Customized library" applies here, but that's in fact a euphemism for "all kinds of proprietary code in the framework".
I gave up reverse engineering after looking at the disassembled HTC radio application. As I already told you there are loads of pointers to closed source TI code that can be found in the framework (= /system/lib/whatever.so). You will have to reverse engineer all those rpcs, libandroid_servers and god knows whatnot.
ali ba said:
I gave up reverse engineering after looking at the disassembled HTC radio application. As I already told you there are loads of pointers to closed source TI code that can be found in the framework (= /system/lib/whatever.so). You will have to reverse engineer all those rpcs, libandroid_servers and god knows whatnot.
Click to expand...
Click to collapse
Oh, there must be SOME shortcut...
Since I have the FM radio and audio working with the btipsd_cli. I'm not sure the answer would lie in the HTC FM app. Or at least the answer is in btipsd_cli also.
I'd love to find the source to btipsd_cli. I DO have source for TI's fmapp and fmstack-0.12 and I can see they share some, but not all code.
In a log I can see an HCI command is sent when audio starts; I just don't know which one or with which parameters.
btipsd_cli has some rather weird bugs that prevent me from experimenting well with audio routing. When I disable analog, audio keeps playing. At first I thought it was using digital, but now I think it's part of the buginess. When I select various digital options, various weird things happen, including a crash in btipsd for most of them.
If I can run some HCI queries, I might get better clues or the actual answer. I managed to get hciattach to sort of work with "texas" as the type, but I think I need "texasalt" and the binary I have that runs on Blayo doesn't support it. The CM7 binaries wont run on Blayo.
So unless there are some other tools I can use, I'm wondering if it's time to write an NDK app.
Unless I can increase the verbosity of the btipsd logging to tell me everything it's doing. Will check.
These AudioRouting strings aren't in the CM7 libandroid_runtime so I tried pushing the Blayo lib to CM7. GUI never boots fully, but no audio still using the btipsd_cli.
Same when I also replace libandroid_servers.so, bluez-plugin/audio.so and bluez-plugin/input.so
strings blayo/system/lib/libandroid_runtime.so |grep -i audiorouting
FM_RX_DisableAudioRouting
FM_RX_EnableAudioRouting
nativeJFmRx_SetAudioRouting(): Entered
nativeJFmRx_SetAudioRouting: fmapp_set_audio_routing() returned %d
nativeJFmRx_SetAudioRouting(): Exit
nativeJFmRx_disableAudioRouting(): Entered
nativeJFmRx_disableAudioRouting: FM_RX_DisableAudioRouting() returned %d
nativeJFmRx_disableAudioRouting(): Exit
nativeJFmRx_enableAudioRouting(): Entered
nativeJFmRx_enableAudioRouting: FM_RX_EnableAudioRouting() returned %d
nativeJFmRx_enableAudioRouting(): Exit
nativeJFmRx_EnableAudioRouting
nativeJFmRx_DisableAudioRouting
nativeJFmRx_SetAudioRouting
FM_RX_DisableAudioRouting
FM_RX_EnableAudioRouting
DisableAudioRouting
EnableAudioRouting

[Tutorial] Installing ADB, Updating Market, Loading Gapps

PLEASE MAKE SURE YOU READ EACH STEP IN ITS ENTIRETY BEFORE DOING IT.
Table of Contents:
--1.0-Installing ADB
----1.1 Downloading the SDK
----1.2 Installing and Extracting the SDK
----1.3 Installing the Necessary USB Drivers
----1.4 Loading up ADB and Detecting Devices
--2.0 Installing GAPPS, The Newest Vending.APK (Market) or any APK for that matter.
----2.1 Installing the newest Vending APK (A.K.A Market Place)
----2.2 Installing the latest Google Applications (GAPPS)
--3.0 Help
Click to expand...
Click to collapse
Hey guys, I have noticed quite a few people have been having some problems with installing ADB and Google Applications on their newly loaded ROMs that don't have the GAPPS pre-installed. Well I am going to make this post to try and help some of those that are having a little bit of trouble. So please bare with me, as this is my first "Tutorial" post here at XDA. If you see any errors with this tutorial please let me know so I can make the appropriate changes ^_^
STEP ONE: Installing ADB
First thing is first, the method in which I will be showing you how to install GAPPS will be using ADB. If you don't know what Android Debug Bridge (adb) is it is simply a versatile tool lets you manage the state of your Android device. If you already know what ADB is and already have it installed feel free to skip to step 2.
-The Prerequisites for ADB-
1.1 Downloading the SDK
In order to gain access to using the ADB tool you need to first download the android SDK.
If you do NOT plan on developing any software for the AOSP you can skip to step 1.3 and download and install IOMonsters Easy ADB USB Driver installation. It contains a STRIPPED down version of the SDK which include the necessary components for using ADB. However, if you want to be on the safe side and download the whole sdk keep reading
The newest SDK can be found here:
http://developer.android.com/sdk/index.html
Click to expand...
Click to collapse
1.2 Installing and Extracting the SDK
For you windows users out there after you have downloaded the SDK for windows (preferably the .EXE) you are going to want to change the installation location to "C:\android-sdk-windows" or the paths you need to enter below will be different.
Now, once you have verified that the C:\android-sdk-windows folder exists you need to run the SDK Manager.exe - If you have any trouble with the SDK Manager downloading files try clicking Settings and choose "Force https:// sources to be fetched"
1.3 Installing the Necessary USB Drivers
NOTE: If you plan on NEVER using ADB over USB you can install the WirelessADB widget Go to market, and search for ADB Wireless. Install the app and run it.
Now that you have the SDK downloaded and extracted it is time to Patch the USB Driver files. Thank GOD for IOMonsters Easy USB (DRIVER ONLY) Pack. To use this tool you will need to download it. To do so you can choose from the following links:
http://legacyschool.us.to/nookdev/nook-usb-installer.rar
http://r00tyou.com/android/tools/nook_usb_driver.zip
Click to expand...
Click to collapse
I have noticed that for some people simply executing the "install.exe" from the USB drivers folder does not work. For me I had to run the install.exe and when that was finished I ran the "DPInst64.exe" NOTE: THE ONLY REASON I RAN THE DPInst64.exe WAS BECAUSE I AM USING A 64 BIT OPERATING SYSTEM. IF YOU ARE RUNNING A 32 BIT OPERATING SYSTEM PLEASE USE "DPInst.exe"
For those of you who do NOT want to download the ENTIRE Android SDK please refer to IOMonsters thread about installing and using the Easy ADB Drivers and SDK Tool:
http://forum.xda-developers.com/showthread.php?t=910008
Click to expand...
Click to collapse
1.4 Loading up ADB and Detecting Devices
Now that you have ADB up and running, and your computer is recognizing your nook through USB (or ADBWireless) it is time to load up the ADB tool and see if we can get your computer to find your device. To do so, please make sure your device is plugged into the computer via the proper USB cable. After that you are going to need to open the command prompt. To do so, click start and run, or for windows vista and up you click start and in the search bar type "cmd" and hit enter.
Once the windows console is opened you are going to need to type:
cd C:\android-sdk-windows\platform-tools
Click to expand...
Click to collapse
(assuming you installed the android-sdk in the root of C: - If not just replace it with the path of your sdk folder)
After you have successfully changed to the platform-tools directory proceed by issuing the following command:
adb devices
Click to expand...
Click to collapse
If you see the following output you are in good shape:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[Your device is listed here]
Click to expand...
Click to collapse
If not, please make sure you have your device plugged in, and the USB Drivers are functioning. If you are still at a loss at this step, feel free to PM me and I will assist you the best I can.
2.0 Installing GAPPS, The Newest Vending.APK (Market) or any APK for that matter.
This process of installing can be used for any APK you have on your computer and you want pushed over to your device.
2.1 Installing the newest Vending APK (A.K.A Market Place)
If all you want is the market, you can download the newest market APK from my webserver.
http://www.r00tyou.com/android/tools/Vending(new).apk
Click to expand...
Click to collapse
To push it to the device simple connect the device to your computer using ADB and type the following in the console:
adb devices
adb install \path\to\the\downloaded\apk\Vending(new).apk
Click to expand...
Click to collapse
Wait for it to successfully transfer over and install.
Viola, you have the newest market APK.
2.2 Installing the latest Google Applications (GAPPS)
For those of you who want the newest GAPPS, you can download the file from the cyanogen website and push over the whole gapps bundle.
To do this, simply download the latest GAPPS from here:
http://wiki.cyanogenmod.com/index.php?title=Latest_Version#Google_Apps
Click to expand...
Click to collapse
Again, using ADB type the following commands:
adb shell mount -o remount,rw /dev/block/mmcblk0p5 /system
adb push [the path to your SDK tools folder]\system system/
adb reboot
Click to expand...
Click to collapse
The console will show the progress of what apps are being transferred over and installed. Once it is done rebooting it will prompt you for logging in to your Google account to setup your device. You can simply skip this (Tapping in each corner of the screen starting from the top left going clockwise) or you can proceed with the setup process.
Hope that helps
3.0 Help
If you have encountered an error while following this tutorial PLEASE PM me and I will list some common errors/problems here and make the necessary changes to this tutorial.
Problems/Solutions:
DISCLAIMER: I AM IN NO WAY RESPONSIBLE FOR ANYTHING THAT HAPPENS AS A RESULT OF FOLLOWING THESE INSTRUCTIONS. I ASSUME THAT EVERYONE READING THIS HAS SOME SORT OF KNOWLEDGE WITH HANDLING THIS DELICATE PROCESS.
will be looking this over later.
Thank you
Your welcome Please post some feed back and anything you run into while following the steps ^_^
Reneg4d3 said:
2.2 Installing the latest Google Applications (GAPPS)
For those of you who want the newest GAPPS, you can download the file from the cyanogen website and push over the whole gapps bundle.
To do this, simply download the latest GAPPS from here:
http://wiki.cyanogenmod.com/index.ph...on#Google_Apps
Again, using ADB type the following commands:
Code:
adb shell mount -o remount,rw /dev/block/mmcblk0p5 /system
adb push [the path to your SDK tools folder]\system system/
adb reboot
The console will show the progress of what apps are being transferred over and installed. Once it is done rebooting it will prompt you for logging in to your Google account to setup your device. You can simply skip this (Tapping in each corner of the screen starting from the top left going clockwise) or you can proceed with the setup process.
Hope that helps
Click to expand...
Click to collapse
WRT the installation of latest gapps, can we use (gingerbread based) CM7 gapps with (eclair based) rooted stock?
met67 said:
WRT the installation of latest gapps, can we use (gingerbread based) CM7 gapps with (eclair based) rooted stock?
Click to expand...
Click to collapse
It might be backwards compatible, that I am not sure of. However, I tried using the eclair apps on the gingerbread ROM and it put me in a boot loop. I am not sure if that was just coincidence that I just so happened to push the gapps over or not, but when I reinstalled and pushed the gingerbread gapps over I did not get put in a boot loop, the boot loop consisted of the device booting up, it hit the screen where you tap the droid, then it would flash, and the CM7 loading screen would appear. It would continue to do this until I re-flashed the device.
Excellent post. All the steps seemed pretty straight forward. I couldn't install the vendor API, but at this point I'm thinking that something is wrong with my permission set. I'll go over the list again and see what I may have missed.
If you are stuck on anything please feel free to let me know. It is also a possibility that some of the steps are incorrect as I typed them out from memory
nookie froyo emmc
i'm not familiar with adb other than the method i rooted my evo with back in august so now i'm trying it with your guide (THANKS!!!)
after failing to install every version of vending.apk i have access to with root explorer, even putting marketupdater.apk in /system/apps.
It will open for a split second and then disappear so im giving up on the root explorer method. i attempted to adb install the version you have listed (the vending.apk single) and i get INSTALL_FAILED_ALREADY_EXISTS
so i removed the vending.apk and marketupdater.apk from /system/apps and then removed vending-1.apk from data/app (dunno how it got there but i found it and removed it). i try installing with adb again, i get INSTALL_FAILED_MISSING_SHARED_LIBRARY. did i remove an important file? i am now trying to install the gapps but am unsure exactly where i should put my gapps.zip and if i should unzip it first?
the link for the gapps you gave didnt show which version to download for nook color so i grabbed the hdpi for cm6, correct?
Edit, found my problem, i was trying to install wrong market, i grabbed the market i will link below from Here and then i adb install it and it installed
hmm, keeps FC. lemme wipe and try again
Ok, it appears I didn't compensate for a small variable when writting the tutorial. IF you want to install ONLY the new vendor.apk DO NOT push the whole GAPPS bundle over, simply download the vendor.apk from my website located here:
http://www.r00tyou.com/android/tools/Vending(new).apk
And push the Vendor(new).apk over by itself after RENAMING the old vendor.apk to something like vendor.apk.old then rename Vendor(new).apk to vendor.apk and run the installation.
If you need more help, or are still having problems feel free to send me a pm or post here.
Sent from my Droid using Tapatalk
mmmm, same FC to me, i can't restore the old market, via adb or via root explorer... eclair default rom here...
Can't the new market apk just be side loaded?
C:\Users\Kris>adb install C:\users\kris\downloads\vending(new).apk
2036 KB/s (2123059 bytes in 1.018s)
pkg: /data/local/tmp/vending(new).apk
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
What's this about?
thereddog said:
C:\Users\Kris>adb install C:\users\kris\downloads\vending(new).apk
2036 KB/s (2123059 bytes in 1.018s)
pkg: /data/local/tmp/vending(new).apk
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
What's this about?
Click to expand...
Click to collapse
Nevermind.. I just pushed gapps and got the market that way
Mariohyeah said:
mmmm, same FC to me, i can't restore the old market, via adb or via root explorer... eclair default rom here...
Click to expand...
Click to collapse
So what is the EXACT process that you are doing? And what is causing the FC? It's weird because I just retried this and I got it working :\
Does this tutorial work for DeeperBlue's HC 3.0 on microSD cards?
Hi,
Does this tutorial work if I have DeeperBlue's HC 3.0 preview v4 on a microSD card on NC? Or does it only work on internally rooted NC's? I'm encountering at the android market the error message "There are no android phones associated with this account. Please sign in with a different account". Have tried various things but not the ADB installation thing. I did download and install the android.vending_2.2.6.apk but still getting same message when trying to install something from the android market. Do I need ADB or could it be some wrong setting the "My Market Account" or "My Account"? Thanks in advance for any help!
Randy
Does this tutorial work for DeeperBlue's HC 3.0 on microSD cards?
Somehow my post repeated. Sorry.
Thank you so much for the Iomonsters! Finally after 2 days of trying it fixed my adb.
met67 said:
WRT the installation of latest gapps, can we use (gingerbread based) CM7 gapps with (eclair based) rooted stock?
Click to expand...
Click to collapse
Would like to know too as the CM7 version is not working for me on my Nook Simple Touch, will try CM6....
i root my nook touch and can't access market and have not any file managers (installed my devices);i follow steps &
i installed usb-driver but
software can't recognize device;
and this error
please help me
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[Your device is listed here]
showed nothing
Man, I just want to say, You are awesome! Nice tutorial it worked from the first time!

[TOOL] crosshAtchDB: Pixel 3 XL Flash Tool

I'm trying to create an application to make flashing files on our pixel devices easier.
Features:
Install ADB
Unlock bootloader
Reboot to bootloader
Download and install factory images
Download and install TWRP
Download Magisk
Easy to use GUI
Enjoy! :good:
Credit to Dees_Troy and bigbiff for TWRP image.
Feel free to modify and hack away at the source.
WARNING: I am not responsible for anything that goes wrong using this tool, it works fine on my windows 10 machine, and tested on windows 7. However, make sure you know what these tools are doing beforehand.
New update!
Beta Release
What's New?:
All new base being built.
Better .exe support (requires installing the app)
Console interface for now.
Removed some features that were broken in the old app, will add them back one-by-one, but this time, not until they work 100%.
Usage:
Just follow the prompts on screen.
Allows picking the files for booting TWRP or pushing files via ADB.
Install:
Easy method (requires install): https://github.com/boostedd2/crosshatchdb/blob/boostedd2-patch-1/crosshAtchDB-2.3-win32.msi
Install the app with the provided .msi, choose where you want to install it. Open the folder where you installed it and run the crosshatchdbbeta.exe.
Build/Run from source:
Requires:
source .py file: https://github.com/boostedd2/crosshatchdb/blob/boostedd2-patch-1/crosshatchbeta.py
cxfreeze config: https://github.com/boostedd2/crosshatchdb/blob/boostedd2-patch-1/setup.py
To run from source, just install Python on your PC, then from cmd window run : "pip install requests".
Then just double click on the crosshatchdbbeta.py file.
To build the .exe:
You need both files from above.
Install Python
python -m pip install cx_Freeze --upgrade
With setup.py and crosshatchdbbeta.py in the same directory, run "python setup.py build"
This is a very minimal release, I will continue to fix any bugs and add features once they are working better.
Thank you so much for this! I was actually going to unlock my bootloader and root today after work. Now it will only take 2 minutes instead of 20!
I appreciate it and will report back later after testing!
**Didn't want to waste thread space so I'm editing this to reply** - Thank you so much for the response below! Very helpful! I'm up and running and really appreciate the tool and the help!
NippleSauce said:
Thank you so much for this! I was actually going to unlock my bootloader and root today after work. Now it will only take 2 minutes instead of 20!
I appreciate it and will report back later after testing!
Click to expand...
Click to collapse
No problem, quick usage guide to make sure it goes smooth.
Enable OEM unlock in developer options, also enable ADB debugging.
Plug in your phone, run crosshatchdb.
Select option 9, this will auto download and extract adb to your c: drive.
Select option 1 to check for ADB devices, check the box on the dialog that pops up on your phone.
All set. You can download magisk directly to your phone or push it from your PC.
Reboot bootloader option 2, from here you can unlock the bootloader(formats your phone btw).
Setup your phone, enable ADB debugging again and your free to reboot bootloader and download/boot TWRP to flash magisk.(use TWRP img not zip)
Hopefully these instructions are not too confusing, it is pretty easy once you do it once, and the tool really does make the next time you do it faster.
Tested on a windows 7 virtual machine and my own personal windows 10 machine.
NippleSauce said:
Thank you so much for this! I was actually going to unlock my bootloader and root today after work. Now it will only take 2 minutes instead of 20!
I appreciate it and will report back later after testing!
Click to expand...
Click to collapse
The time to unlock a Google purchased Pixel isn't the issue. The factory reset just sucks if you run stock for any time before doing it.
Two things I think you should add.
1) adb sideload for when adb works in twrp.
2) adb logcat for our great developers, so there isn't an excuse for getting them a logcat in event that they need one.
Sent from my Pixel 3 XL using Tapatalk
superchilpil said:
Two things I think you should add.
1) adb sideload for when adb works in twrp.
2) adb logcat for our great developers, so there isn't an excuse for getting them a logcat in event that they need one.
Click to expand...
Click to collapse
Good idea, should be easy to pipe logcat output to a text file.
ADB sideload can be added as well, next update will probably be when TWRP ADB is fixed, or sooner depending how long that takes.
Already thinking of ways to make the current version of this script more automated, but I like to err on the side of explicit is better than implicit.
Thanks for the ideas.
Can this install TWRP ?
Zorachus said:
Can this install TWRP ?
Click to expand...
Click to collapse
No. Everything you need to know is in the OP and everything else you need to know is in the twrp thread.
Sent from my Pixel 3 XL using Tapatalk
superchilpil said:
No. Everything you need to know is in the OP and everything else you need to know is in the twrp thread.
Click to expand...
Click to collapse
This.
It is a good option of you want an easy way to just boot TWRP in 1 button, if you don't want to install a custom recovery like TWRP.
New update coming soon, decided that command line didn't work very well for this purpose...
Also working on making all of the actions smoother.
New update released, let me know if you have any issues or feature requests, still waiting for TWRP to be fully functional before adding ADB sideload options.
CMD window still wants to hang out for now, you can minimize it though if needed.
can you add a (check for update)
Maty360414 said:
can you add a (check for update)
Click to expand...
Click to collapse
Yes, that is on the list for next update.
When TWRP is more reliable I will probably add options for copying TWRP backups to your PC as well.
Still need to get rid of the cmd window and cut down on having to open browser windows or file selection dialogs, just to get it feeling less clunky.
I'd like to send out a big thank you to boostedduece I've used platform tools and google flash all for years with no hitch whatsoever but I tried to glies an update to my kernel and ran into the red corrupt device thing and used my platform tools to flash all and halfway through it stopped and said error. I then tried this tool and it worked perfect!! Thank you so much!
quinejh said:
I'd like to send out a big thank you to boostedduece I've used platform tools and google flash all for years with no hitch whatsoever but I tried to glies an update to my kernel and ran into the red corrupt device thing and used my platform tools to flash all and halfway through it stopped and said error. I then tried this tool and it worked perfect!! Thank you so much!
Click to expand...
Click to collapse
Glad to hear it helped out, working on some new updates to make the UI even better.
Trying to make all of the download links update automatically too, just working on some web scraping again ?
It's a nice little tool if something gets messed up, also for new users to get up and running.
New update released, Download factory image has been overhauled, it will now download the image automatically, check the SHA-256 hash, then unzip it to the correct folder, just run the factory image flash option after and you're set. Be patient, the image.zip can take a while to download, takes several minutes for me, but I'm only at 50mbps down...and who knows if google throttled my connection after all the web scraper testing lol.
Pull TitaniumBackup folder via ADB to your PC, pull TWRP backup might not work it failed for me, but will not cause any damage to your PC or phone, ADB is copying the files read only from your device, and ADB just seemed to crash on me.
CMD window is still here for now until I pipe the output to the built in box on the GUI and bind keyboard keys to interact with it. For now it will help with any debugging.
boostedduece said:
New update released, Download factory image has been overhauled, it will now download the image automatically, check the SHA-256 hash, then unzip it to the correct folder, just run the factory image flash option after and you're set. Be patient, the image.zip can take a while to download, takes several minutes for me, but I'm only at 50mbps down...and who knows if google throttled my connection after all the web scraper testing lol.
Pull TitaniumBackup folder via ADB to your PC, pull TWRP backup might not work it failed for me, but will not cause any damage to your PC or phone, ADB is copying the files read only from your device, and ADB just seemed to crash on me.
CMD window is still here for now until I pipe the output to the built in box on the GUI and bind keyboard keys to interact with it. For now it will help with any debugging.
Click to expand...
Click to collapse
Can't believe I still haven't gotten the Ota Nov update
Will this work on p3?
frewys said:
Can't believe I still haven't gotten the Ota Nov update
Will this work on p3?
Click to expand...
Click to collapse
It will work for pixel 3, but you will need to download the factory image for your blueline device and extract it into c:\crosshatch_stuff\platform-tools. This program is basically a gui wrapper for ADB commands.
Just stick with the ADB tools section and find the downloads you need separately.
boostedduece said:
It will work for pixel 3, but you will need to download the factory image for your blueline device and extract it into c:\crosshatch_stuff\platform-tools. This program is basically a gui wrapper for ADB commands.
Just stick with the ADB tools section and find the downloads you need separately.
Click to expand...
Click to collapse
Right
So it doesn't automate the process the same as for xl?
frewys said:
Right
So it doesn't automate the process the same as for xl?
Click to expand...
Click to collapse
It will still install ADB and allow you to run reboot bootloader, boot TWRP, factory reset, ADB logcat, unlock bootloader.
But the only extra part that is manual would be extracting the factory image into the c:\crosshatch_stuff\platform-tools folder.

[ROM] (Sheldon) Fire TV Stick - Tweaked + Google Play + Debloated (7.2.4.9)

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

Categories

Resources