Update - Nexus 7 Q&A, Help & Troubleshooting

I received a notification for ota update and it failed, im not sure why is there a way to fix it?
See attachment of error

I suspect you renamed (or deleted) the BrowserProviderProxy apk and odex files to sideload the gnex browser and flash. I had done the same and my OTA failed with the same error. I renamed the browser.apk adding a .bak to the name and renamed my BrowserProviderProxy files back to the .apk and .odex extensions, and restarted. Then I copied the update zip from the /cache folder to the root folder and booted into recovery. Installed the zip in recovery and all was well. I used cwm recovery through Rom Manager and I had installed and run Voodoo OTA Rootkeeper before starting. I chose not to flash a new recovery and yes to trying to keep root after the update process.

Groid said:
I suspect you renamed (or deleted) the BrowserProviderProxy apk and odex files to sideload the gnex browser and flash. I had done the same and my OTA failed with the same error. I renamed the browser.apk adding a .bak to the name and renamed my BrowserProviderProxy files back to the .apk and .odex extensions, and restarted. Then I copied the update zip from the /cache folder to the root folder and booted into recovery. Installed the zip in recovery and all was well. I used cwm recovery through Rom Manager and I had installed and run Voodoo OTA Rootkeeper before starting. I chose not to flash a new recovery and yes to trying to keep root after the update process.
Click to expand...
Click to collapse
Thanks but now I'm getting this error, if someone has stock Gapps from 4.1.1 it would be great if they could send me the link for it ...I think that would help

racer321 said:
Thanks but now I'm getting this error, if someone has stock Gapps from 4.1.1 it would be great if they could send me the link for it ...I think that would help
Click to expand...
Click to collapse
There are 237 assertions in the OTA update... Might be easier to just restore to stock 4.1.1 then update.

comminus said:
There are 237 assertions in the OTA update... Might be easier to just restore to stock 4.1.1 then update.
Click to expand...
Click to collapse
Wouldn't I loose all my data though :/

racer321 said:
Wouldn't I loose all my data though :/
Click to expand...
Click to collapse
Yeah... but you gave me an idea. I took the list of files to be patched from the OTA and made a cwm flashable zip with the 4.1.2 versions of the files, the kernel and bootloader. Since these are complete files, there are no patches which means the only assertions are to make sure it runs on a grouper device.
I've run it a few time myself and it seems to work fine. If you want to be a guinea pig and test it out, send me a PM and I'll send you a link.

Related

Modified OTA2 Updates for Installation in ClockworkMod Recovery

I have modified several of the updates to be installed in ClockworkMod Recovery so that it will not overwrite CWM Recovery and should also preserve root. I still recommend protecting root using Voodoo OTA Rootkeeper in case something goes wrong and it is always a good idea to make a nandroid backup in ClockworkMod Recovery before installing any update. Also after updating Titanium backup said that my su had the wrong permission and it wanted to correct it (I allowed it to fix it). I am not sure why this happened as I thought I set the permissions properly in the update but go ahead and run Titanium after updating and let it fix it for you if there is a problem. These updates will still check all of your system apps so you need to restore them (copying and pasting them back into the /system/app folder and setting the proper permissions with Root Explorer is one of the easiest ways to do this). You can also make your own modifications to the update and remove the checks if you like (some people have done this with no problems but one guy reported that android wouldn't boot after updating with no checks so I leave it up to you to decide for yourself). I posted instructions for modifying the update here. The changes I made to the update were to remove the Indigo check (because it was giving me an error) commented out the lines that delete the current recovery and install the new recovery, removed the line that deletes Superuser.apk, added an su file to the update so that it reinstalls su after deleting it, and finally added lines to symlink and set permissions for the su file.
Install instructions:
Protect root with Voodoo OTA Rootkeeper (just in case)
Copy the proper update.zip to your external sdcard (if you are US or WE you must install 086 before 089)
Make sure your battery is well charged (having your battery die during the update would be very bad)
Turn off TpT and boot into recovery by turning on and repeatedly pressing the volume up key
Wipe cache partition
Make a nandroid backup (not necessary but highly recommended)
Select install zip from sdcard>choose zip from sdcard then browse to and select the update you downloaded here
Let the install run and then choose reboot system now in the CWR main menu
The first boot will take a long time, don't worry this is normal (if it takes more than 30min you may want to hold power to turn off and reboot again)
ThinkPadTablet_A310_02_0037_0076_WE_CWR.zip
ThinkPadTablet_A310_02_0039_0086_US_CWR.zip
ThinkPadTablet_A310_02_0039_0089_US_CWR.zip
ThinkPadTablet_A310_02_0039_0086_WE_CWR.zip
ThinkPadTablet_A310_02_0039_0089_WE_CWR.zip
ThinkPadTablet_A310_02_0039_0087_UK_CWR.zip
ThinkPadTablet_A310_02_0039_0089_ROW_CWR.zip
ThinkPadTablet_A310_02_0039_0089_SC_CWR.zip
ThinkPadTablet_A310_02_0039_0090_JP_CWR.zip
Flash at your own risk! I am not responsible if this totally bricks your tablet, breaks your root, or creates any other problems for you! Make sure that you install the correct version for your region.
Worked great for me. Thanks!
Is it also necessary to temporarily unroot before applying the update? Thanks again.
I don't believe I needed to do a tempory un-root to apply the updates. I just followed the instructions. I did have to power down during the first installation since it stayed in .. rebooting.. mode for 20 to 25 minutes. After powering down and rebooting, _86 was installed.
I did have to re-install Busybox to get LUKS Manager to work after the installation of 86 and 89.
Thanks, but I got in trouble with OTA2 by not unrooting first, and the OP is the one who helped me with it. I need to make sure before I make a move.
It should not matter, the update deletes and reinstalls su.
Thank you. I'll give it a try later today.
great thanks.
a sticky would be great
I just applied OTA 2.5, now my market consistently force crashes. Anybody else having this issue?
try to download and install new "Play Store"
mandrsn1 said:
I just applied OTA 2.5, now my market consistently force crashes. Anybody else having this issue?
Click to expand...
Click to collapse
My market is working fine on OTA 2.5. Maybe you have two versions of the same app installed after updating (for example if you removed FlexT9 in system and installed the full FlexT9 keyboard from the market and then restored the system app to update). It could also be a problem due to the change over to the new Play Store as quyTam suggested. If all else fails a factory reset would likely fix the problem but then you will have to set everything up again.
jhankinson said:
My market is working fine on OTA 2.5. Maybe you have two versions of the same app installed after updating (for example if you removed FlexT9 in system and installed the full FlexT9 keyboard from the market and then restored the system app to update). It could also be a problem due to the change over to the new Play Store as quyTam suggested. If all else fails a factory reset would likely fix the problem but then you will have to set everything up again.
Click to expand...
Click to collapse
Nope, i unfroze apps before i updates and made sure there were no replaced system apps when I installed.
I have tried stock market, 3.4.4 (honeycomb 3.2 market) and 3.4.6 (Play store) and they all force crash. Sounds like a factory reset may be needed.
mandrsn1 said:
Nope, i unfroze apps before i updates and made sure there were no replaced system apps when I installed.
I have tried stock market, 3.4.4 (honeycomb 3.2 market) and 3.4.6 (Play store) and they all force crash. Sounds like a factory reset may be needed.
Click to expand...
Click to collapse
Something else must be messed up. I factory restored and still am having issues.
I got an error message after trying to install file from SD Card. It said
"Installing: /sdcard/ThinkPadTablet_A310_02_0039_0089_ROW_CWR.zip
Finding update package...
Opening update package...
Installing update...
Verifying Current system...
assert failed: apply_patch_check("/system/app/FlexT9ChineseIME.apk", "222668fd99a68916eb4d6784c3795801ea0698bd" , "8c4feb3af89ec0ff3791c0d5acf30bad168b4600")
E:Error in /sdcard/ThinkPadTablet_A310_02_0039_009_ROW_CWR.zip
(Status 7)
Installation aborted.
I'm currently using 0074ROW
Could someone advise how to fix this?
Put back the system file indicated - FlexT9ChineseIME.apk.
toenail_flicker said:
Put back the system file indicated - FlexT9ChineseIME.apk.
Click to expand...
Click to collapse
Thanks but where can I found it?
That depends on what country you're from. There's a couple of system dumps here on xda.
same here can't ota update coz i deleted some of the apps so can anyone know where can find the dump for the 0074 row dump? or could someone please provide the dump here?
thx for the help!!!
You can also go to the Lenovo download page to find your previous download file, unzip it, and find the file to put back.
toenail_flicker said:
You can also go to the Lenovo download page to find your previous download file, unzip it, and find the file to put back.
Click to expand...
Click to collapse
thx for the help. just asking are you referring to this:
download.lenovo.com/slates/think/tablet1
the worse thing is i deleted the drmprovider.apk and the odex as well which i couldn't see that apps in those zip.
so could anyone help here?
thx!!!

Stock Netflix.apk needed

I'm trying to upgrade my rooted TF101 to 9.2.1.11 and every zipI use complains on an assert failure for /system/app/Netflix.apk. Oddly, I can't get Ti backup to restore it, so I tried downloading it and putting it in that directory. This doesn't work. Does anyone have the stock Netflix.apk they can post so I can move past this? thx!!
Here ya go!
Title says it all.
Thanks! But no cigar!
I tried that, but it gives me the following error when I attempt to apply the zip from the sd card:
ClockworkMod Recovery v3.2.0.1 roach2010-tf101-r1
-- Installing: /sdcard/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted.zip
Finding update package...
Opening update package...
Installing update...
Verifying current system...
assert failed: apply_patch_check("/system/app/Netflix.apk", "459b736ea95188dd3500005f621b4fa22291c40c", "58c70e894dfc98166d16c64cb9555a7e83ceb7e4")
E:Error in /sdcard/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted.zip
(Status 7)
Installation aborted.
Click to expand...
Click to collapse
Any suggestions out there in the development community? I didn't think that uninstalling Netflix would cause such a hassle later on. Is there a different version of the .apk I can try? Or a different way of installing it (I just copied it over after remounting /system/app as rw).
Alternatively, can I unroot, then download the update, then re-root? Anybody have any practice with that, or will the Netflix.apk package.
Thank you! Have a nice day (or evening).
crinis said:
I tried that, but it gives me the following error when I attempt to apply the zip from the sd card:
Any suggestions out there in the development community? I didn't think that uninstalling Netflix would cause such a hassle later on. Is there a different version of the .apk I can try? Or a different way of installing it (I just copied it over after remounting /system/app as rw).
Alternatively, can I unroot, then download the update, then re-root? Anybody have any practice with that, or will the Netflix.apk package.
Thank you! Have a nice day (or evening).
Click to expand...
Click to collapse
That wasn't a zip file, it was an apk. And you don't flash those in recovery. Just put it in /data/app directory, then restart the tablet. Or you can try to execute it, and it will automatically install to the appropriate folder.
I solved it!
Yes, I just copied it over using scp (after remounting /system as rw). I'm no noob!
Here's what I did to get it to work.
I unzipped the rooted zip file, edited the updater-script to remove references to Netflix.apk (three of them), then rezipped it up, copied it to the sdcard , rebooted to recovery, then flashed it. Worked! Here's the exact steps took:
On my linux latop:
mkdir /tmp/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted
cd /tmp/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted
unzip ~/Download//tmp/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted.zip
vi ./META-INF/com/google/android/updater-script
# /Netflix\.apk finds the lines, I deleted two, and modified the third to remove the reference.
zip -r /tmp/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted.zip *
scp /tmp/ics-us-8.6.5.21-to-9.2.1.11-CWM-rooted [email protected]:/Removable/MicroSD
Click to expand...
Click to collapse
From there it's all Clockwork.
Thanks so much for the help of this forum. I love xda developers!

US OTA ICS won't update after root...

I rooted my TPT with the yet another root exploit method while on version 0089_US, and it worked great. Then I installed RootKeeper and temporarilly unrooted. My TPT is not and never has been modified in any other way, no CWR, no apps deleted, nothing.
When I try to install the OTA ICS update, it will start to install, and then fail with some kind of assert failed error message that mentiones busybox, and then say error in /cache/update.zip.
Anybody know what's going on???
I had the same issues with the ROW update. I followed this thread (thoroughly) and got ICS with root intact.
http://forum.xda-developers.com/showthread.php?t=1723048
I'm confused. The fix was:
"Restored busybox from the same file mentioned before and it worked."
How do I "restore" busybox?
userno69 said:
I'm confused. The fix was:
"Restored busybox from the same file mentioned before and it worked."
How do I "restore" busybox?
Click to expand...
Click to collapse
Here's what I needed to do to get busybox restored and access to my stock recovery again:
1. Downloaded a previous update from Lenovo's site. (had to go two versions prior to find one with a busybox file in it).
2. Extract the Busybox file from the archive (system/xbin Directory)
3. Copy the file to your tablet
4. Using ES File Explorer or Astro, copy this Busybox over to the system/xbin Directory on your device. Note: I had trouble here with permissions that came down to a few settings in ES File Explorer (system access, write permissions, etc).
5. Reboot into recovery by pushing Vol + a few times after Lenovo appears.
Hope this helps.
-A
Both ES File Explorer and File Manager fail when attempting to overwrite the existing busybox.
Any suggestions?
garypen said:
Both ES File Explorer and File Manager fail when attempting to overwrite the existing busybox.
Any suggestions?
Click to expand...
Click to collapse
Can you verify your ES file explorer root settings (Root Explorer and Mount file system enabled). These settings are required to make changes to system files.
EpsilonTheGreat said:
Can you verify your ES file explorer root settings (Root Explorer and Mount file system enabled).These settings are requibe able to overwrite busybox.
Click to expand...
Click to collapse
Thanks! That enabled me to overwrite busybox. Now, I am crossing my fingers that the OTA update works.
It started downloading directly from the "check for update" page, rather than quickly saying an update was available, and asking to reboot and install, as it had been doing. So, perhaps it checks busybox before even DLing the update.
It's taking a while to DL. I'll post results after the next reboot ad install attempt.
garypen said:
Thanks! That enabled me to overwrite busybox. Now, I am crossing my fingers that the OTA update works.
It started downloading directly from the "check for update" page, rather than quickly saying an update was available, and asking to reboot and install, as it had been doing. So, perhaps it checks busybox before even DLing the update.
It's taking a while to DL. I'll post results after the next reboot ad install attempt.
Click to expand...
Click to collapse
I saw the exact same thing after fixing busybox. Glad it worked for you (so far)!
Worked like a champ. Rocking ICS on my TPT with root.
It's really not a huge diff from HC. But, lots of little things that I had become accustomed to on my ICS phone.
The tpt does seem a little faster now. Play store is working better, too.
I just wish I could replace that stupid Lenovo quick app icon with the android app launcher icon, like on my nexus. Why do they locate the apps icon at the very top corner? Makes no sense.
I've tried all the busyboxes that I can find and still no update. Can someone post a working one?
I used the one from the 0086US update.
I found one, I used the OTA update.zip
http://forum.xda-developers.com/showthread.php?t=1507285 OTA Update.zip A310_02_0039_0086_US
Also, I kept root.
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/ThinkPadTablet/Indigo:4.0.3/ThinkPadTablet _A400_03/0065_0128_US:user/release-keys" || file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/ThinkPadTablet/Indigo:4.0.3/ThinkPadTablet _A400_03/0069_0130_US:user/release-keys")
Error in /tmp/sideload/package.zip
Summonabeeeetch!!!! I noticed its the first step of the script... any ideas? Anyone? Maybe Ian not destined for ics :-( any ideas?
daswahnsinn said:
I found one, I used the OTA update.zip
http://forum.xda-developers.com/showthread.php?t=1507285 OTA Update.zip A310_02_0039_0086_US
Click to expand...
Click to collapse
You can get it directly from Lenovo:
http://download.lenovo.com/slates/think/tablet1/ThinkPadTablet_A310_02_0039_0086_US.zip
Busybox is located in the system/xbin folder.
garypen said:
You can get it directly from Lenovo:
http://download.lenovo.com/slates/think/tablet1/ThinkPadTablet_A310_02_0039_0086_US.zip
It's located in the system/xbin folder
Click to expand...
Click to collapse
For some strange reason I couldn't get any of the ones from the lenovo site to work, Thank though this should help someone else for sure.
I was able to update to ICS with CW by editing the updater-script. I commented out the verification check.
ScotchtapeLoser said:
I was able to update to ICS with CW by editing the updater-script. I commented out the verification check.
Click to expand...
Click to collapse
Which ones did you comment out?
Your Tablet may vary....
I started with
Build.prop
Gmail
Anything starting with Google...
MarketUpdater
MediaProvider
Mediauploader
NetworkLocation
I would comment out the line, add the new updater-script to the zip file. Try it. When it threw out an error I would comment out that line... rinse and repeat
After a time I just became annoyed and comment out all of the apply_patch_check (around 450 lines). I do not advise using this shotgun approach.
bigsnack said:
Which ones did you comment out?
Click to expand...
Click to collapse
ICS OTA install busybox error
Hey guys I didn't want to start another thread because this one is very similar to the issue I am having now. My tablet asks me to install an OTA update but once its about half way done in recovery in spits out some kind of error(check attachment). When it comes to tablets Im a noob but I was wondering if you guys can give me some solid instructions on how to get past it?
Thanks in advance.
Reference this thread:
http://www.thinkpadtabletforums.com...ds-and-development/ics-ota-failing-w-busybox/

[GUIDE] Fix "assert failed: apply_patch_check" error

Overview:
This thread is a guide on how to fix the apply_patch_check error message experienced during an upgrade of the Android OS. Specifically, this will detail the steps for an upgrade of Jelly Bean from 4.1.1 to 4.1.2 on the Nexus 7 with CWM Recovery for a user of Windows. I'm sure similar steps will work for other recoveries/upgrades/devices and PC OSes.
You should only bother with this if you don't want to flash the entire system.img file to your phone, which is way easier.
Here is an example of the error message I'm talking about:
Code:
assert failed: apply_patch_check("/system/app/Chrome.apk", "819b34b66335c6faec86404d736a002b8871600", "9d6b55e63b0bf20bea433fb1ee7089f88ab73fb6")
E: Error in /sdcard/03a4eaf95f73.signed-nakasi-JZO54K-from-JRO03D.03a4eaf9.zip
(Status 7)
Installation aborted.
A few notes about the error:
This doesn't have to happen with the Chrome.apk specifically -- it could happen with any app in /system/app or .so in /system/lib.
Those random strings of numbers/letters are SHA-1 hashes of the apk.
The first one is the hash of the apk installed on your device. In my example, this happens to be the version of Chrome that comes with JB 4.1.2.
The second one is the expected hash of the apk that comes with JB 4.1.1.
Cause of the problem:
The reason this error occurs is because the file was somehow modified from its original state. In my case -- and most likely your case -- this was done by Titanium Backup. TB has an option to "Integrate updates of system apps into ROM", which will cause the apk in /system/app (and associated library files in /system/lib, if needed) to be overwritten with the updated apk.
Solution:
Download this zip file which contains the full /system/app and /system/lib directory from the JB 4.1.1 factory image. *
Extract the zip to a location of your choosing on your PC.
In the extracted folder, locate the .apk or .so file referenced in the error message on your device.
Copy this file to your device via your preferred method (USB cable works fine). I put my file in /sdcard/Download.
On your device, use a root file explorer to move the file from /sdcard/Download to /system/app (or /system/lib).
If you don't have a program that can do this, I use ES File Explorer. Be sure to go to Settings > Root Settings and turn on Root Explorer, Up to Root, and Mount File System.
Reboot into your Recovery and try to install the update again.
Repeat steps 3-6 for each subsequent file that produces an error. You will basically need to do this for each app you integrated using TB and maybe a few library files, too. **
* Future updates (above 4.1.2):
Since I won't be keeping the zip file from step #1 up-to-date, here's how to get the directories that I included in the zip for yourself:
Obtain a factory image for your device's current Android version (the version you're updating from).
For JB 4.1.1, this file is called nakasi-jro03d-factory-e102ba72.tgz.
If you're reading this guide at a later date, the JB 4.1.2 file is called nakasi-jzo54k-factory-973f190e.tgz.
You can try your luck at the official Google site, but they seem to only provide the version you're trying to update to, not from.
Extract the .tgz file somewhere on your PC.
Locate the image-naksi-jro03d.zip file and extract that, as well.
In the folder you just extracted from the previous step, located the system.img file.
Download and use a program called sgs2toext4 (View attachment 645320) to convert the system.img to system.ext4.img. ***
Download and use a program called Linux Reader to open system.ext4.img.
Do this by going to Drives > Mount Image > Next > select your file.
It will then be listed under the Hard Disk Drives section in red as "Linux Ext Volume 1".
Navigate to: Linux Ext Volume 1/system.
Right-click on the app (or lib) directory and pick Save > Next > Output to dir of your choice.
You now have the directories that were included with the zip file from Solution step #1, so just follow those steps now.
** How to avoid repeating steps:
If you'd rather not have to try to reinstall after updating only one file, just to find another file that needs updating, try this:
Obtain the /system/app and /system/lib folders from the factory image and save them to your PC.
For the sake of this guide, let's say you save them to C:\factory_app and C:\factory_lib.
Copy the /system/app and /system/lib directories from your phone to your PC.
For the sake of this guide, let's say you saved them to C:\phone_app and C:\phone_lib.
Download the File Checksum Integrity Verifier utility from Microsoft.
Start > Run > cmd
fciv.exe -sha1 -xml factory_app.xml -wp C:\factory_app
fciv.exe -sha1 -xml factory_app.xml -v -bp C:\phone_app
Don't ask me why, but you need to use -bp instead of -wp for the second command.
Don't forget the -v on the second command.
The output of the last command will show you the list of files that are different. These are the files you need to take from C:\factory_app and put into the /system/app directory on your phone.
Do the same for the lib directories (just replace all instances of "_app" with "_lib" in the previous commands).
Summary:
I hope that this post helped some of you who really didn't want to have to flash the system.img or wipe your device just to update. In the future, use TB to back up the original.
I wouldn't normally bother writing up a guide like this (it took almost as long to write as it did to figure out how to do this) but I couldn't find this solution anywhere even though I saw that I wasn't the only person with the problem. Sorry for not posting this guide sooner (update has been out for a while now), but the forum required me to make a bunch of useless spam posts before I could include any links in my guide and I didn't get around to making those posts right away.
*** I would like to thank balamu96m for his guide on extracting data from the system.img file and drphrozen for making the sgs2toext4 program.
Thanks for this. Will try now.
Worked great. Had to copy the apk and odex file.
Good job! It's great to see the steps for Windows users!
Just a heads up that I simply extracted the files I needed from and on my N7 using Root Explorer, without using my PC at all.
Great guide! Method worked perfectly on my Nexus 7 going from 4.1.2 to 4.2, thanks
Please... is there some other way to update the files w/o installing Java on my Windoze PeeCee? I accidentally messed up my YouTube.apk with Titanium Backup... now I can't update from 4.1.2 --> 4.2 JB.
EDIT: JavaPortable FTW... updating (fingers crossed)
EDIT: SUCCESS TY OP!
For anyone who flashed the 4.2 clock/keyboard already
Hey, for anyone who flashed the 4.2 clock and keyboard on their Nexus 7 already and need to roll back to do the 4.2 update, I used OP's method to make a flashable zip that puts the 4.1.2 clock and keyboard back.
Worked perfectly for my Nexus 7 to get me up and running. Hope it helps anyone!
cantthinkofa.com/files/RestoreClockKeyboard.zip
galaxy nexus
Hi can you post a guide for galaxy nexus? Or if it is the same, can you post the link of JB factory image for galaxy nexus? Sorry, I can't find any thread for galaxy nexus, and I don't want to complete flash the stock image since I don't want to wipe my phone.
Thanks in advance!
Nice Guide
perfect, the guide works just fine. Now finally running 4.2.
Awesome guide... Thanks... Happily running 4.2 now aften beeing stuck at libutils.so...
Sent from my Nexus 7 using xda premium
damagno said:
Hi can you post a guide for galaxy nexus? Or if it is the same, can you post the link of JB factory image for galaxy nexus? Sorry, I can't find any thread for galaxy nexus, and I don't want to complete flash the stock image since I don't want to wipe my phone.
Thanks in advance!
Click to expand...
Click to collapse
I don't have a Galazy Nexus, but I think the steps should be the same. Here is a link to the factory images: https://developers.google.com/android/nexus/images#takju . It looks like they now have links for older versions, rather than just the newest images (which is how it was when I made my guide). So that's pretty sweet.
Thanks a lot man, i succeeded to "patch" my system files to update from 4.2 to 4.2.1. I first check what files didn't correspond with fciv (9 files counting both apks and odex) and then replaced them in system/app. In fact they were the apps I previously integrated with tb (learned lesson: never do it if you want to remain stock and receive OTAs). I also noticed many not-matching files in system/lib but i didn't touch them and the update went smooth the same.
Another thing: when in the OP you say it's way easier just to reflash the system.img you mean just run from bootloader "fastboot flash system system.img" (taken from the factory image as usual) or there's some other thing to do in order to fix the system partition in the right way?
GallStones said:
Thanks a lot man, i succeeded to "patch" my system files to update from 4.2 to 4.2.1.
Click to expand...
Click to collapse
I was wondering if you could tell me how you did it? I'm searching a way to install 4.2.1 with no avail as of yet :crying:
GallStones said:
Thanks a lot man, i succeeded to "patch" my system files to update from 4.2 to 4.2.1. I first check what files didn't correspond with fciv (9 files counting both apks and odex) and then replaced them in system/app. In fact they were the apps I previously integrated with tb (learned lesson: never do it if you want to remain stock and receive OTAs). I also noticed many not-matching files in system/lib but i didn't touch them and the update went smooth the same.
Another thing: when in the OP you say it's way easier just to reflash the system.img you mean just run from bootloader "fastboot flash system system.img" (taken from the factory image as usual) or there's some other thing to do in order to fix the system partition in the right way?
Click to expand...
Click to collapse
Yes. I am having the same issue. I cannot update mine from 4.2 to 4.2.1. I wonder to know which original stock image you have used. Can you list a detail procedure?
Thank you very much.
Ric
dev/block/param
legom said:
Overview:
This thread is a guide on how to fix the apply_patch_check error message experienced during an upgrade of the Android OS. Specifically, this will detail the steps for an upgrade of Jelly Bean from 4.1.1 to 4.1.2 on the Nexus 7 with CWM Recovery for a user of Windows. I'm sure similar steps will work for other recoveries/upgrades/devices and PC OSes.
You should only bother with this if you don't want to flash the entire system.img file to your phone, which is way easier.
Here is an example of the error message I'm talking about:
Code:
assert failed: apply_patch_check("/system/app/Chrome.apk", "819b34b66335c6faec86404d736a002b8871600", "9d6b55e63b0bf20bea433fb1ee7089f88ab73fb6")
E: Error in /sdcard/03a4eaf95f73.signed-nakasi-JZO54K-from-JRO03D.03a4eaf9.zip
(Status 7)
Installation aborted.
A few notes about the error:
This doesn't have to happen with the Chrome.apk specifically -- it could happen with any app in /system/app or .so in /system/lib.
Those random strings of numbers/letters are SHA-1 hashes of the apk.
The first one is the hash of the apk installed on your device. In my example, this happens to be the version of Chrome that comes with JB 4.1.2.
The second one is the expected hash of the apk that comes with JB 4.1.1.
Cause of the problem:
The reason this error occurs is because the file was somehow modified from its original state. In my case -- and most likely your case -- this was done by Titanium Backup. TB has an option to "Integrate updates of system apps into ROM", which will cause the apk in /system/app (and associated library files in /system/lib, if needed) to be overwritten with the updated apk.
Solution:
Download this zip file which contains the full /system/app and /system/lib directory from the JB 4.1.1 factory image. *
Extract the zip to a location of your choosing on your PC.
In the extracted folder, locate the .apk or .so file referenced in the error message on your device.
Copy this file to your device via your preferred method (USB cable works fine). I put my file in /sdcard/Download.
On your device, use a root file explorer to move the file from /sdcard/Download to /system/app (or /system/lib).
If you don't have a program that can do this, I use ES File Explorer. Be sure to go to Settings > Root Settings and turn on Root Explorer, Up to Root, and Mount File System.
Reboot into your Recovery and try to install the update again.
Repeat steps 3-6 for each subsequent file that produces an error. You will basically need to do this for each app you integrated using TB and maybe a few library files, too. **
* Future updates (above 4.1.2):
Since I won't be keeping the zip file from step #1 up-to-date, here's how to get the directories that I included in the zip for yourself:
Obtain a factory image for your device's current Android version (the version you're updating from).
For JB 4.1.1, this file is called nakasi-jro03d-factory-e102ba72.tgz.
If you're reading this guide at a later date, the JB 4.1.2 file is called nakasi-jzo54k-factory-973f190e.tgz.
You can try your luck at the official Google site, but they seem to only provide the version you're trying to update to, not from.
Extract the .tgz file somewhere on your PC.
Locate the image-naksi-jro03d.zip file and extract that, as well.
In the folder you just extracted from the previous step, located the system.img file.
Download and use a program called sgs2toext4 (View attachment 645320) to convert the system.img to system.ext4.img. ***
Download and use a program called Linux Reader to open system.ext4.img.
Do this by going to Drives > Mount Image > Next > select your file.
It will then be listed under the Hard Disk Drives section in red as "Linux Ext Volume 1".
Navigate to: Linux Ext Volume 1/system.
Right-click on the app (or lib) directory and pick Save > Next > Output to dir of your choice.
You now have the directories that were included with the zip file from Solution step #1, so just follow those steps now.
** How to avoid repeating steps:
If you'd rather not have to try to reinstall after updating only one file, just to find another file that needs updating, try this:
Obtain the /system/app and /system/lib folders from the factory image and save them to your PC.
For the sake of this guide, let's say you save them to C:\factory_app and C:\factory_lib.
Copy the /system/app and /system/lib directories from your phone to your PC.
For the sake of this guide, let's say you saved them to C:\phone_app and C:\phone_lib.
Download the File Checksum Integrity Verifier utility from Microsoft.
Start > Run > cmd
fciv.exe -sha1 -xml factory_app.xml -wp C:\factory_app
fciv.exe -sha1 -xml factory_app.xml -v -bp C:\phone_app
Don't ask me why, but you need to use -bp instead of -wp for the second command.
Don't forget the -v on the second command.
The output of the last command will show you the list of files that are different. These are the files you need to take from C:\factory_app and put into the /system/app directory on your phone.
Do the same for the lib directories (just replace all instances of "_app" with "_lib" in the previous commands).
Summary:
I hope that this post helped some of you who really didn't want to have to flash the system.img or wipe your device just to update. In the future, use TB to back up the original.
I wouldn't normally bother writing up a guide like this (it took almost as long to write as it did to figure out how to do this) but I couldn't find this solution anywhere even though I saw that I wasn't the only person with the problem. Sorry for not posting this guide sooner (update has been out for a while now), but the forum required me to make a bunch of useless spam posts before I could include any links in my guide and I didn't get around to making those posts right away.
*** I would like to thank balamu96m for his guide on extracting data from the system.img file and drphrozen for making the sgs2toext4 program.
Click to expand...
Click to collapse
my error 7 was generated by emmc: dev/block/mmdblk0p7 (the file is "param" any suggestions?
Thanks. After searching for a lot of time, this post helped me updating my SGS3.:victory: I previously tried to integrate youtube update into rom using titanium backup.
GallStones said:
Another thing: when in the OP you say it's way easier just to reflash the system.img you mean just run from bootloader "fastboot flash system system.img" (taken from the factory image as usual)
Click to expand...
Click to collapse
Yes, that's what I mean. The reason I didn't want to do this on my device is because I had modified some other system files that I wanted to keep the modifications for.
Wow, thanks a lot OP! Your guide helped me fixing an error during the update to 4.2.2 on my Nexus 4.
please include a video ,im getting lost in the details
solved.

[Q] JWR66V -> JWR66Y OTA, debuggerd is buggered

Getting an assertion failure on /system/bin/debuggerd when trying to load the JWR66Y (stock) OTA update that showed up on my N7 tonight. I don't THINK I've installed anything that changed this file, but who knows. I found a copy called debuggerd_bak in the same directory, but it appears to be the same file.
This is the SHA1 of my current copy:
a2323a0c8e245e3879d6b8beff6b2c4802045271
Is there a different version that I need?
According to some forum searching, Stickmount modifies the file (and I'm not sure if it actually backs it up beforehand).
adammw said:
According to some forum searching, Stickmount modifies the file (and I'm not sure if it actually backs it up beforehand).
Click to expand...
Click to collapse
That's the weird thing about it; I've never installed Stickmount. I do have USB OTG Helper, though. I'm pulling a JWR66V factory image down from Google (had to dig around archive.org to find the link). If I can pull debuggerd out of it, I may be able to get back to a known state.
db2 said:
That's the weird thing about it; I've never installed Stickmount. I do have USB OTG Helper, though. I'm pulling a JWR66V factory image down from Google (had to dig around archive.org to find the link). If I can pull debuggerd out of it, I may be able to get back to a known state.
Click to expand...
Click to collapse
I'm doing the exact same thing as we speak. Good luck.
Got the file, only to find out that I need to restore a whole bunch of other files. I give up for now, but if you have the 3G Nexus 7 (2012), it's attached.
Well I pulled debuggerd out of the factory image, and that seemed to fix the error, but now I get "set_perm: some changes failed" with status 7 when I try to flash the update. Not sure what that means.
Is it possible to reflash just system.img to my current version without wiping data?
If your bootloader is unlocked, you can flash boot.img and system.img using fastboot and you will not loose any data. In my blog you can find a post how to update to 4.3 manually.
There we go. I just fastboot flashed system.img and boot.img, and the JWR66Y patch installed fine after that. Had to re-root and reinstall a couple app updates, but that's no big deal.
db2 said:
There we go. I just fastboot flashed system.img and boot.img, and the JWR66Y patch installed fine after that. Had to re-root and reinstall a couple app updates, but that's no big deal.
Click to expand...
Click to collapse
db2 can you please post the debuggerd file from 4.3. I'm also having this issue trying to flash the security OTA fro 4.3.
I don't know how to get the original debuggerd file from android 4.3.
Thanks
jalize said:
db2 can you please post the debuggerd file from 4.3. I'm also having this issue trying to flash the security OTA fro 4.3.
I don't know how to get the original debuggerd file from android 4.3.
Thanks
Click to expand...
Click to collapse
Sure, here you go. This is for the non-3G first-gen Nexus 7.
db2 said:
There we go. I just fastboot flashed system.img and boot.img, and the JWR66Y patch installed fine after that. Had to re-root and reinstall a couple app updates, but that's no big deal.
Click to expand...
Click to collapse
db2 said:
Sure, here you go. This is for the non-3G first-gen Nexus 7.
Click to expand...
Click to collapse
Thanks db2, but I'm looking for the Nexus 10 one. Sorry I see wrong thread. i do have the debuggerd.p file from the OTA. do you know how to get this to the normal debuggerd file?
jalize said:
Thanks db2, but I'm looking for the Nexus 10 one. Sorry I see wrong thread. i do have the debuggerd.p file from the OTA. do you know how to get this to the normal debuggerd file?
Click to expand...
Click to collapse
The .p is a patch file, which is why you have to have the correct version of the file to start from.
Here's a link to the N10 JWR66V IMAGE:
https://dl.google.com/dl/android/aosp/mantaray-jwr66v-factory-888d124e.tgz
This is the procedure I used to extract debuggerd:
http://forum.xda-developers.com/showthread.php?t=1860879
Wasn't too hard, but I ended up having to reflash system.img and boot.img anyway, because I was getting a weird set_perm error.
db2 said:
The .p is a patch file, which is why you have to have the correct version of the file to start from.
Here's a link to the N10 JWR66V IMAGE:
https://dl.google.com/dl/android/aosp/mantaray-jwr66v-factory-888d124e.tgz
This is the procedure I used to extract debuggerd:
http://forum.xda-developers.com/showthread.php?t=1860879
Wasn't too hard, but I ended up having to reflash system.img and boot.img anyway, because I was getting a weird set_perm error.
Click to expand...
Click to collapse
Thanks db2, will give it a try
It Worked !!!! Thanks again man!
set_perm error
db2 said:
Wasn't too hard, but I ended up having to reflash system.img and boot.img anyway, because I was getting a weird set_perm error.
Click to expand...
Click to collapse
SuperSU?
See HERE for an explanation and fix for this error.
-JR-
I have the Wi-Fi Nexus 7 with StickMount installed, and I just want to say the debuggerd file provided by @db2 in post #10 allowed me to update without problems when I flashed the OTA via TWRP.
Just remember to fix the permissions of the file first when you move it to system/bin.
mlj11 said:
I have the Wi-Fi Nexus 7 with StickMount installed, and I just want to say the debuggerd file provided by @db2 in post #10 allowed me to update without problems when I flashed the OTA via TWRP.
Just remember to fix the permissions of the file first when you move it to system/bin.
Click to expand...
Click to collapse
I confirm that adammw's file (post #5) worked for my 3g Nexust 7 2012. I was trying to update from JWR66V to JWR66Y. It only worked after replacing the latest TWRP with the stock recovery. Installing with TWRP did not work under any conditions: root, no root, manual update file, automatically updated file.
How do I need to fix permissions for debuggerd? I forgot to look on the original permissions and I don't know what are the correct ones.
p.s. I previously removed root, I removed the install-recovery.sh (changed attributes on install-recovery), stock recovery without success.
mindcsrusher said:
I confirm that adammw's file (post #5) worked for my 3g Nexust 7 2012. I was trying to update from JWR66V to JWR66Y. It only worked after replacing the latest TWRP with the stock recovery. Installing with TWRP did not work under any conditions: root, no root, manual update file, automatically updated file.
How do I need to fix permissions for debuggerd? I forgot to look on the original permissions and I don't know what are the correct ones.
p.s. I previously removed root, I removed the install-recovery.sh (changed attributes on install-recovery), stock recovery without success.
Click to expand...
Click to collapse
The update installer script runs a recursive permissions set (chown|chmod) e.g.:
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin"
0 = root
2000 = shell
0755 = -rwxr-xr-x
The above would have set the correct perms on all files in the /system/bin directory (including debuggerd) and any files requiring additional perms would have been set individually with the set_perm command
See my post HERE for more info
HTH,
-JR-

Categories

Resources