Related
Hello,
today a received an Ota form my Vodafone FRF91 Nexus One. I thing Ota was for upgrading my Nexus to FRG83D (2.2.1).
Installation failed because signature was not valid. This is because i deleted the Youtube.apk using titan backup (this was the only way to update it to version 2.0)
i'd like to know if any FRF91 User can share me his system\app\YouTube.apk
P.s.
Anyone knows if i can download the 2.2.1 update.zip for Vodafone Nexus? After the first failed installation, the Ota message doesn't appear anymore. Also using the "check in" command nothing happens.
I guess that update would be
6fd7cb1179b3.OTA_Passion_Vodafone_Generic_2.18.151 .5_FRG83D-2.15.151.5_R_FRF91_release_signed.zip
?
See
h tt p://dev.chavant.info/android/signed-passion-img-0713_FRF91/system/app/
for the files.
I tried it myself and I fear Facebook.apk worked but not YouTube.apk
6fd7cb1179b3.OTA_Passion_Vodafone_Generic_2.18.151.5_FRG83D-2.15.151.5_R_FRF91_release_signed.zip
is still complaining about a wrong signature of that file.
-- Install from sdcard...
Finding update package...
Opening update package...
Verify update package...
Installing update...
Verifying current system...
assert failed: apply_patch_check("/system/app/YouTube.apk", "327e8c2506ac8eb8e87c8e7c5ccb91a9057fde24", "8e3cdaaff5e4204b67c261b4c12734e02d8276a1")
E:Error in /sdcard/update.zip
(Status 7)
Installation aborted
Just passimg FRG33 to get rid of the Vodafone ROM. That way, you'll get updates fast, also... (will erase data though)
Sent from my Nexus One using XDA App
danger-rat said:
Just passimg FRG33 to get rid of the Vodafone ROM. That way, you'll get updates fast, also... (will erase data though)
Sent from my Nexus One using XDA App
Click to expand...
Click to collapse
I'm not exactly keen on erasing all data on the phone.
What exactly would the steps be to do that though? (I'm fed up with the late EU-vodaphone-updates)
Pop over to shipped ROM's, download the FRG33 image. Extract it (as it's a zip within a zip) and rename the extracted .zip to passimg.zip, copy it to the root of your SD card. Power the phone on holding Vol-, it will find the file and ask to install. Peasy.
Just for the record:
(in case anyone else with the same issue finds this thread)
I backup up my data with tatanium backup,
then installed passimg FRG33 (US-rom with Android 2.2).
Now it's there, the phone is currently installing all my market-apps
(takes a while), instant root is installed too.
I don't know yet if instant root will work.
Root is required to get all my data back via Titanium Backup.
The over the air update to 2.2.1 is already ready, I clicked
"install later" to let all the market apps be downloaded first.
The non-market apps should come back via Titanium Backup later. (I hope.)
See: http://forum.xda-developers.com/showthread.php?t=1402440
Sorry - don't have enough posts to reply directly in the dev tree, but it would seem to me that if all the updates are just zip files, couldn't they be modified to include root? Then the normal update system would handle the installation? You wouldn't need root then.. Just dump it into the "kindleupdates" folder and let it do its thing. It would just install it.
It looks like the install is just running a script.. one of the first things it does is wipe the system folder.. doesn't mean you can't include additional files and copy them in afterwards with the script does it?
AndrewTL said:
See: http://forum.xda-developers.com/showthread.php?t=1402440
Sorry - don't have enough posts to reply directly in the dev tree, but it would seem to me that if all the updates are just zip files, couldn't they be modified to include root? Then the normal update system would handle the installation? You wouldn't need root then.. Just dump it into the "kindleupdates" folder and let it do its thing. It would just install it.
It looks like the install is just running a script.. one of the first things it does is wipe the system folder.. doesn't mean you can't include additional files and copy them in afterwards with the script does it?
Click to expand...
Click to collapse
You need to go through all the lines of code for that and I believe some of them are binary files as well. Possible but will take much time. For now we must wait until someone finds a better solution.
Sent from my Kindle Fire using Tapatalk
signature issues.
6.2.1 experiment?
transfuntioner said:
signature issues.
Click to expand...
Click to collapse
Maybe I don't follow the process.. but I'm guessing no signatures..
not a signed bootloader.. no signatures required...
Get beyond compare and look at the differences between the OTA updates and the zip that Eldarerathis put together.
The ".bin" files are just ".zip" files renamed.
Look at
META-INF/com/google/android/updater-script in the bin files they release.
It is just a script.
And to do the things that it is doing, it has to be getting root permissions while it is running.
I don't know how to recover if it doesn't work, but I half wonder if you were to take the zip that fellow created, change the extension to ".bin" and just dump it into the update folder if the fire would install it for you?
He took out the image files from the script. He's just updating the system tree directly. He doesn't update the bootloader, recovery or backup trees.
For that matter if those contained something nasty, they could probably be pulled from an earlier update.
== cut ===
package_extract_file("recovery.img", "/dev/block/platform/mmci-omap-hs.1/by-name/recovery");
show_progress(0.100000, 10);
package_extract_file("u-boot.bin", "/dev/block/platform/mmci-omap-hs.1/by-name/bootloader");
format("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/backup");
mount("ext4", "EMMC", "/dev/block/platform/mmci-omap-hs.1/by-name/backup", "/backup");
package_extract_file("backup_userdata.zip", "/backup/backup_userdata.zip");
== cut ===
Please nobody try this idea that doesn't know enough to recover if it doesn't work, because I've not a clue how.
But could someone explain why wouldn't it work?
Worst case the rev might need to be manually edited to bump it one for the script.
Seems like it might be an easy way to get around headaches with OTA updates.
Andrew,
Are you having issues with getting into recovery so that you can test this? The Devolopers have a copy of TWRP 2 working perfectly on the device so you can get a clean backup of the OS before you test.
You sound like you may know what to do to fix the issue and I just want to help you get a good recovery in case it doesn't pan out or for testing.
~enjoy.
Actually I'm just afraid of messing up what I have working now.
I've got TWRP 2 running with the 6.2.1 image.
I'm setting these up as gifts. I spent a good 12 hours yesterday fighting the darn things. Guess I'm getting gun shy. Had a lot of issues with adb. Kudos to the new utility and setting the second ports up. I'm learning.
The OTA install wipes the system directory. It's in the script.
I was tempted to just comment that line out and see if it would leave the rest alone.
If I brick the thing its going to be painful for me to sort out.
I also didn't want to risk losing root. I also haven't tried loading an older OTA version.
At the time, I couldn't ask the fellow that developed the rooted 6.2.1 zip the question in his thread as I didn't have enough posts.
I'm going to be out of pocket for quite some time. I'm not going to have time to spend like this again for at least a few days.
But I was checking the zip he made versus the .bin/.zip files that the OTA releases using beyond compare. I wanted to see what files had actually changed.
That's when I found that script. It is manipulating permissions directly. It has to be running at a root level. I don't see anything like a signature on it, so why couldn't their own update system be used to tweak their own updates to allow for root?
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!!!
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!
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.