[TUTORIAL] How to unpack Android ROMs on Windows - Android

{
"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"
}
As all of you well know, Android is an open source operating system and as such the development and modding are the bread and butter for devices with this OS.
In this thread I'll explain how to extract the firmware partition containing the operating system and programs with a Windows PC.
The purpose of this thread is to share knowledge, so feel free to help me to dump device such as Acer, Samsung and Sony Ericsson, expecially I need someone that help me with Acer's .bin

1. Unpack the system partition from an HTC ROM
What you need:
UniExtract: http://legroom.net/software/uniextract (freeware)
ZipScan: http://www.zipscan.co.uk/ (shareware)
Cygwin: http://cygwin.org/setup.exe (freeware)
Unyaffs for Windows: http://goo.gl/z6yI
Download and install all the tools (Unyaffs it's a prompt executable, so it isn't installable)
Now you need an HTC ROM, download one at your pleasure from Conflipper's site: http://www.shipped-roms.com/shipped/
Once you have downloaded it, right click on the ROM executable and select Extract with UniExtract in the subfolder (v.fig1), select Isxunpack extraction and then clik on the OK button (v. fig2)
Now in the subfolder you have the various files which make up the executable, including data1.cab which is the file that we are more interested in (do not delete other files).
Open ZipScan, go to File -> Open Archive File... and browse until select the data1.cab. You should see something like this:
Extract from the cab only the ROM.zip and open this file with any archives extraction software (eg WinRAR or the same ZipScan). Inside you have various .img files which make up the ROM, but for the purposes of this guide, we need only the system.img.
Copy in a blank folder this file, unyaffs.exe and cygwin1.dll (you'll find it in C:\Cygwin\Bin).
Now open Cygwin from Start -> All Programs to ensure that its functions are integrated to the Windows Prompt and close it.
Open the Windows Prompt (Start -> All Programs -> Accessories) and position yourself in the folder containing the files using the cd command or alternatively install this .reg which allow you to open the Windows Prompt in the chosen folder by command in the context menu (Right click on the folder -> Command Prompt Here).
Now the last thing that you have to do is to give the extraction command: unyaffs system.img
Et voilà, now you have the folders containing the extracted system.
Enjoy

2. Unpack the system partition from a Motorola ROM
°°°Coming Soon°°°

°°°reserved°°°

°°°2nd reserved°°°

°°°3rd reserved°°°

Thank you! I had found a different way but this will save some steps.

mark
i will see
!!!!!!!!!!!!!!!!111

Someone once told me you can just run the .exe file, let it open, use windows to search for the rom.zip that would have been extracted into a temp folder, drag&drop to another location, then cancel the .exe again.
Haven't tried this myself though.
What else can you show us in windows?... Is it at all possible to extract ramdisc thingies from kernels so we can apply one custom kernel to other roms ourself?
... or should I bite the bullet and install/learn how to use ubuntu?

Nice initiative. Finish the guides and I'll see to it that it's stickied.

ddotpatel said:
Is it at all possible to extract ramdisc thingies from kernels so we can apply one custom kernel to other roms ourself?
... or should I bite the bullet and install/learn how to use ubuntu?
Click to expand...
Click to collapse
There are simple perl scripts kicking about to unpack/pack boot.img, so you can use them on Windows as long as you install perl first - say either via Cygwin or Active State.

I just used WinRAR to do everything that UniExtract and ZipScan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility UnYaffs.exe, which can be run through CygWin. Thanks.
Why doesn't someone make a UnYaffs.exe for windows command line?
After I change things, how to I ReYaffs it to system.img? ...and when I re-zip it don't I have to sign it or something? If I modify an apk do I have to deODEX it first? Do I reODEX after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [ROM], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [ROM] to be shared with all.

rpmccormick said:
I just used WinRAR to do everything that UniExtract and ZipScan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility UnYaffs.exe, which can be run through CygWin. Thanks.
Why doesn't someone make a UnYaffs.exe for windows command line?
After I change things, how to I ReYaffs it to system.img? ...and when I re-zip it don't I have to sign it or something? If I modify an apk do I have to deODEX it first? Do I reODEX after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [ROM], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [ROM] to be shared with all.
Click to expand...
Click to collapse
No ****... I was wondering why he's making it all so complicated with all these extra tools when I can click the file in Winrar (extract to...) and be done. All in ONE step for me.. LOL

For me it was more than one step because using WinRAR on system.img didn't get all the files out. Using unyaffs did. But now I have a system.img from a new Android tablet and I can't get anything out of it other then the META-INF directory using WinRAR, Unyaffs, or UniExtract. Anyone have any clue how to get in to those?
...and I still want an easy tutorial on how to re-assemble a flashable system.img / update.zip once I change some stuff in there.

I really hope one of those reserved spots is for the newer Samsung phones. What really cheeses me, though, is that I had that explained to me once, and I can't find it, and didn't write it down

I've compiled both unyaffs.exe, mkyaffsimage and mkyaffs2image for cygwin, with the DLL you can use them on Windows too. Sadly, I don't know too much about C and C++, so I can't make it work, but maybe I will try to compile them for Windows, and with some bugfixing, MAYBE it will run.
Samsung did not use the usual yaffs image (for Galaxy S at least), but their own format, what can be easily extracted. I will post some more about it as soon as I get back to windows, recompile the executables and upload them.

i wana extract boot.img , but i have some error
$ gunzip -c boot.img | cpio -i
bash: cpio: command not found
gzip: boot.img: not in gzip format
Click to expand...
Click to collapse

I had some problems with unyaffs. This version posted on 1st page is bugy, if you have same problem try...
hmmm i have i more problem: To prevent spam to the forums, new users are not permitted to post outside links in their messages.
so sry guys i can't help you right now

rpmccormick said:
i just used winrar to do everything that uniextract and zipscan can do.
...so basically you showed me that system.img can be unpacked using the linux command-line utility unyaffs.exe, which can be run through cygwin. Thanks.
Why doesn't someone make a unyaffs.exe for windows command line?
After i change things, how to i reyaffs it to system.img? ...and when i re-zip it don't i have to sign it or something? If i modify an apk do i have to deodex it first? Do i reodex after?
I would love a quick tutorial on, say, how to change an icon for an app. Something that shows people who already know how to do this type of stuff a brief step-by-step guide to taking a [rom], adding and deleting a few apks inside it, making a graphical change to an apk inside it (skinning), and then recooking those changes in to a new [rom] to be shared with all.
Click to expand...
Click to collapse
+1000
.

WinImage can extract the .img.
Unfortunately, I don't think it can repack them properly.

Related

[Q] White Border around .9.png

I've done a heavy search on the problem and can't seem to find a solution so here goes. I created a file through Adobe Photoshop for the status_bar_close_on.9.png. Pictured below. I created it in the exact dimensions the file was which is 480 x 48. I then ran cmd for draw9patch. I dropped my .png file into draw9patch to make it a .9.png.(Also, made a border on the bottom and right side even though there's no words in the final .9.png.)
I then placed the file into SystemUI.apk>deleted META-INF> then resigned the apk. Placed the APK back into a flashable zip> Flashed.
My problem is a white border shows around my image now. From the recommendation of another forum member, I tried putting the apk into apkTools and ran unPack.bat and quickPack.bat which didn't work either.
What am I doing wrong?
{
"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"
}
EDIT: I think I may have found my problem. I wasn't using Eclipse to compile the image.
Reference: http://www.nexus-nation.com/root-your-nexus-one/9pngs-figured-out
EDIT: This wasn't easy to figure out. I don't want anyone to go through what I went through so I've added what I've found and posted some nice pictures for you visual people.
*You first need to read the page I referenced above. After you have installed Eclipse, you'll need to install the google plugin shown below.
Possible errors you'll run into when starting an Eclipse Project
When you start a new project>File>New Project>Android>Android Project> and the build target is not listed you'll need to do the following on Eclipse. You'll know you have to do this if it says, "An SDK project must be specified."
If your screen looks like this, it means you haven't specified your SDK directory for Eclipse.
Step 1. Open Eclipse>Windows>Preferences
Step 2. Find the location of your SDK
Your Eclipse should then look like the following image, which now displays your build target.
Possible Error 2: While setting up a new project in Eclipse, you get the error: "
Package Name must have at least two identifiers
Click to expand...
Click to collapse
You need to enter the package name as: com.android.newproject and the project name must be one word only.
Reference:http://blog.gbinghan.com/2010/05/android-eclipse-package-name-must-have.html
Reference:http://www.nexus-nation.com/root-your-nexus-one/9pngs-figured-out
Quote:
When you open a .9.png you do not see the guides, that is because they are hidden. When you want to add the guides to an image, you have to drag it into the draw9patch tool. Now the tool has a hidden secret i figured out.(not really hidden, but not well described) If you open an image with the .9.png extension it just opens it. But if you open an image without the .9.png extension, it adds 2 pixels to its width and height. These 2 pixels are for the hidden guides. For example the btn_default_normal_disable.9.png in framework is 44x48. But if you remove the .9 from the file name and drag it into the draw9patch tool it changes to 46x50. Which you will notice after you save the image from the draw9patch tool. Also it will add the .9 to the file name.
Howto: draw9patch
The idea of the draw9patch tool is very simple, you drag an image into it you create the guides and you save the image. But the guides are very specific and if you do not do them properly your image will look strange. So follow these few rules about the tool.
Remove the .9 from image name before you drag it into the tool.
The top and left side guides set where the image can be stretched. Where ever you put a guide is where the image will stretch. Do not put more then 2 next to each other.
The bottom and right side guides set the content area(where the text will go). Now you can only put the guides in the outer border, once the image is compiled this border will be hidden. The tool will not let you put any guides anywhere but the outside border. Now usually you will put a 1x1 guide on the top and left sides, on the right and bottom you want to draw a full line. I have tried putting multiple guides on the top and left but the aapt tool seems to stress out and crash before compiling.
Once you save the image the draw9patch tool should of added the .9 to the name. That is all to adding the guides to the image.
So now your saying ok, i have the image and i still see the guides. To get rid of these lines we need to compile them with Eclipse. Basically we add them to a project in Eclipse and create an apk. During the compile the aapt tool from the sdk will set the image back to its original resolution and hide the guides.
(I am hoping to figure out some command lines for the aapt tool so we can skip this step. But until then editing these .9s are a big pain in the arse!)
Howto: Compiling in Eclipse.
I am assuming you followed the link above for setting up Eclipse and can create a new Android project.
Once Eclipse is open you want to go to "File\New\Android project". Select "Create project from existing source". It should default to the path of the samples in your SDK directory, but if it doesn't just browse to them. I have been using my own project but any sample should be fine. Choose "Finish" and on the left hand side under Project Explorer, you will see the name of the project you opened. Expand the project, then Res and you will see the Drawable folder. You will want to drag your edited .9s here. Once all of the images are in the drawable folder you want to right click the top level folder(Project name) for your project and choose "Android Tools"(second from botom) then "Export Unsigned Application Package..." Save the apk where ever you'd like, just remember where you put it. Cause you will want to open it and take the images out of the drawable folder. You will notice now that the guides are gone and the resolution is back to the normal size. Drag the images into your theme and you are done.
Click to expand...
Click to collapse
What's unPack.bat and quickPack.bat? As I told you on a PM, you have to compile that 9.png file. You can do that:
using apktool: decode apk using apktool, then add your 9.png and build apk back
creating new Android project: create it, add your 9.png, build, unpack, copy compiled 9.png - that method was described in a guide quoted by you.
or using aapt tool directly
Brut.all said:
What's unPack.bat and quickPack.bat? As I told you on a PM, you have to compile that 9.png file. You can do that:
using apktool: decode apk using apktool, then add your 9.png and build apk back
creating new Android project: create it, add your 9.png, build, unpack, copy compiled 9.png - that method was described in a guide quoted by you.
or using aapt tool directly
Click to expand...
Click to collapse
The aapt came with the unpack and quickpack.bat. Which were in the apktool kit. Unpack.bat. From what it said, decodes the apk file. It looks like it extracts it. Quickpack.bat puts the file back into an apk. Correct me if I'm wrong.
I ran the aapt.exe but it quickly ran cmd then exited before I was able to see what was done. There were no guides I could find on how to use it, which didn't help.
I'd really like to know how to use aapt. I'm sure that's much easier and faster than running Eclipse. Please advise.
**This link is the download page from which you sent me regarding the apktool. Inside it includes those bat files along with aapt.exe.
http://code.google.com/p/android-apktool/wiki/9PatchImages
http://code.google.com/p/android-apktool/downloads/list
raider3bravo said:
The aapt came with the unpack and quickpack.bat. Which were in the apktool kit.
Click to expand...
Click to collapse
Errr.. what? ;-D I'm an author of apktool and I'm pretty sure there are no such files ;-) For Windows there should be: apktool.jar, apktool.bat and aapt.exe .
raider3bravo said:
I ran the aapt.exe but it quickly ran cmd then exited before I was able to see what was done. There were no guides I could find on how to use it, which didn't help.
Click to expand...
Click to collapse
aapt is more advanced tool, but you could try it if you want. Do:
fake AndroidManifest.xml file - simplest manifest is: http://pastebin.com/ck2EPh6U , you can copy it.
create file structure:
Code:
AndroidManifest.xml
res/
drawable/
1.9.png
2.9.png
3.9.png
...
open terminal, cd to a directory with above files
run "aapt p -f -F out.apk -M AndroidManifest.xml -S res"
unpack out.apk and copy *.9.png files to your apk.
Thanks. I'll have to try this out and see if it's faster than Eclipse. You were right on the files not being in the link provided. I somehow got them mixed up. Here's where I downloaded that apktool that included the quickpack.bat and unpack.bat files.
http://forum.xda-developers.com/showthread.php?t=882742
Brut.all said:
Errr.. what? ;-D I'm an author of apktool and I'm pretty sure there are no such files ;-) For Windows there should be: apktool.jar, apktool.bat and aapt.exe .
aapt is more advanced tool, but you could try it if you want. Do:
fake AndroidManifest.xml file - simplest manifest is: http://pastebin.com/ck2EPh6U , you can copy it.
create file structure:
Code:
AndroidManifest.xml
res/
drawable/
1.9.png
2.9.png
3.9.png
...
open terminal, cd to a directory with above files
run "aapt p -f -F out.apk -M AndroidManifest.xml -S res"
unpack out.apk and copy *.9.png files to your apk.
Click to expand...
Click to collapse
I will definitely be putting this thread to use, I am just learning this stuff, so this will be very helpful. Thanks raider, you have been a wonderful help to me so far

QUICK KDZ EXTRACTION TOOL for FLS+BIN+CAB+WDB+DLL - Ver:0.1

This tool extracts KDZ in various parts. How to use which part, for what purpose, its your wish. I use this tool mainly for extracting BASEBAND quickly in single command. I made this tool for myself and worked for me everytime with every KDZ including V20D Hongkong P765. If it works for some more people then I will sure be happy. Experienced people are requested to please stay away and use your own methods.
Based on LGExtract method by Spyrosk's AIO TOOL FOR P990 (Optimus2x) which is very huge and hard to digest at first attempt, I stripped down his utility for our convenience of dissecting KDZ. THANKS A LOT TO SPYROSK
This is simple BATCH FILE utility which should dissect any LG KDZ file and provide us FLS, BIN, CAB, WDB and DLL files all in one folder place.
1) First unzip and copy the folder in any Drive (preferably D Drive, but its your choice)
2) If you check in Windows Explorer you should find a folder named as follows >>> "D:\KDZTOOL" or "C:\KDZTOOL"
3) Now copy your V10H_00.kdz in the same folder as shown in screenshot below.
{
"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"
}
4) Now open DOS command prompt (with Run As Administrator option) and give following DOS commands.
D:
CD \KDZTOOL
PROCKDZ V10H_00 LGP760 V10H
Click to expand...
Click to collapse
Screenshot of above...
The syntaxt of above command is as follows.
PROCKDZ <KDZFILENAME> <DEVICE NAME> <SHORT VERSION NAME>
Click to expand...
Click to collapse
PROCKDZ Command Parameters:
<KDZFILENAME> = your original KDZ filename without KDZ file extension. Do not change filename on your own.
<DEVICE NAME> = your device variant, but enter as shown above starting with "LGP"
<SHORT VERSION NAME> = your own version but enter as shown above, only version
Type Space between each parameter
Example:
D:\KDZTOOL>PROCKDZ V20D_00 LGP765 V20D
Give command and just wait for LONG LONG time until the message appears as everything is "DONE!"
Now open a new "D:\KDZTOOL\BIN" folder created inside and find all your files there (including TEMP files LGP760 _AP
[*].bin, which you can delete, if you dont want.)
FLS = Fls file is baseband file of your device.
I have not hidden the results so you can see whats happening on screen and understand the simplicity of the batch file I have updated 7Zip to latest version so CAB file extraction is much faster than before.
Check mentioned folder, all your files should be there.
Tested OK on Windows 7 64bit, should work on XP, Vista, 2K and 32 bit too. Good Luck.
READ FAQ IN SECOND POST BELOW BEFORE ASKING QUESTIONS.
FREQUENTLY ASKED QUESTION
1) Is it possible extract bin file?
Answer: No. This tool does not extract BIN. But it extracts kdz into wab, fls, bin and wdb. And at end, you get BIN file split into several parts which is used by LG Update Tool, which is useful for Rooting with Lelus Method. Also this method is useful to extract FLS file, which is baseband of your model and location.
Nevermind, found a simpler method to do this
codearm2 said:
Nevermind, found a simpler method to do this
Click to expand...
Click to collapse
oic
Is it possible extract bin file?
denzel09 said:
Is it possible extract bin file?
Click to expand...
Click to collapse
No. This tool does not extract BIN. But it extracts kdz into wab, fls, bin and wdb.
And at end, you get BIN file split into several parts which is used by LG Update Tool, which is useful for Rooting with Lelus Method.
cmahendra said:
No. This tool does not extract BIN. But it extracts kdz into wab, fls, bin and wdb.
And at end, you get BIN file split into several parts which is used by LG Update Tool, which is useful for Rooting with Lelus Method.
Click to expand...
Click to collapse
and thanks, but this is already in op. For this i did that question, if there is also a method for extract bin..
@ OP, i followed the steps correctly, but i dont get any bin folder inside the kdz tool folder. i rather get a V20A_00 zip file. Inside this zip file i get dll and wdb files. I wanted fls file, so am i doing anythin wrong?
EDIT: nvm i found my way. I extracted the wdb file and got the BIN folder.
Gh0sT.RPG said:
@ OP, i followed the steps correctly, but i dont get any bin folder inside the kdz tool folder. i rather get a V20A_00 zip file. Inside this zip file i get dll and wdb files. I wanted fls file, so am i doing anythin wrong?
EDIT: nvm i found my way. I extracted the wdb file and got the BIN folder.
Click to expand...
Click to collapse
It always works on all kdz. Mostly ppl do mistakes in syntax.
Sent from my LG-P765 using xda app-developers app
useless tool!
KDZ flash tool has the feature
@all, I request all the contributors, keep doing your work. Dont worry about people who feel jealous or who just want to be famous by indulging into confrontations. Just look at their thanks meter and yours which tells whole story. Keep doing your work without expecting returns from it. It may help one person and that is enough. XDA is for everyone from noons to devs. Thanks "All".
I use this tool mainly for extracting BASEBAND quickly in single command. I made it for myself and worked for me everytime with every KDZ including V20D Hongkong P765. It extracts KDZ in various parts. How to use which part, for what purpose, its your wish.
Can't find BIN directory
cmahendra said:
This tool extracts KDZ in various parts.
Now open a new BIN folder created inside and find all your files there (including TEMP files LGP760 _AP
[*].bin, which you can delete, if you dont want.)
Click to expand...
Click to collapse
Jedi Master cmahendra: This does not work for me. I can't locate the BIN file. I am using 32 bit Windows 8.
dm146
dm146 said:
Jedi Master cmahendra: This does not work for me. I can't locate the BIN file. I am using 32 bit Windows 8.
dm146
Click to expand...
Click to collapse
And you should inform what error you got. Just by saying "does not work", you are not helping yourself. Send more information. What error you get? At what point? What is the file name of your kdz and what is the variant model you are trying?
If you have copied V20D_00.kdz file in folder and if it is LGP765 rom, then your dos command syntax will be something like this...
D:\KDZTOOL>PROCKDZ V20D_00 LGP765 V20D
Should work. Try again and inform. (I extracted folder in D Drive hence its showing command prompt as "D:\KDZTOOL>"
This can be run from any disk drive you choose.
======================
More info...
PROCKDZ Command Parameters:
<KDZFILENAME> = your original KDZ filename without KDZ file extension. Do not change filename on your own.
<DEVICE NAME> = your device variant, but enter as shown above starting with "LGP"
<SHORT VERSION NAME> = your own version but enter as shown above, only version
Type Space between each parameter
Hope this helps.
KDZTOOL
cmahendra said:
And you should inform what error you got. Try again and inform.
Click to expand...
Click to collapse
By the way, I should have said thanks for taking the time to reply.
These are the files I find when I extract the KDZTOOL zip file: 7z.dll; 7z.exe, LGExtract.exe, and PROCKDZ.bat
I put these in the KDZTOOL folder on my desktop, along with the V201A_00.kdz file
I run the following command:
C:\Users\user\Desktop\KDZTOOL\PROCKDZ V20A_00 LGP768 V20A
I get no errors.
This is the report at the end of the exercise: "Done! Open BIN file and find all your rom dissection files."
However, there is no BIN file in the C:\Users\user\Desktop\KDZTOOL directory, and I can't find a BIN on my computer that is related to the KDZTOOL.
I had tried it earlier on the C:\ directory, to similar effect.
I have looked at the contents of the batch file. I don't see where it creates a BIN directory.
@ECHO OFF
ECHO Please wait....Starting kdz dissection!
set kdzfile=%1
set device=%2
set version=%3
lgextract -kdz %kdzfile%.kdz
7z x %kdzfile%.cab
lgextract -wdb %version%.wdb %device%.dll
cd BIN
copy /B "%device%_AP[?].bin" + "%device%_AP[??].bin" "%device%_AP.bin"
cd ..
copy %version%*.* BIN
ERASE %version%*.*
copy %device%.dll BIN
ERASE %device%.dll
cls
Echo .
Echo .
Echo Done! Open BIN file and find all your rom dissection files.
I have tried creating a BIN sub-directory in the \KDZTOOL directory but this only results in the V20A.kdz being removed from \KDZTOOL to \KDZTOOL\BIN. There is nothing else there.
dm146
KDZTOOL working!!!!
cmahendra said:
And you should inform what error you got. Try again and inform.
Click to expand...
Click to collapse
I think that I have solved the problem. The 7-Zip tool in the package was not compatible with my operating system. I edited the batch file to use 7-Zip already installed on my computer. See:
@ECHO OFF
ECHO Please wait....Starting kdz dissection!
set kdzfile=%1
set device=%2
set version=%3
lgextract -kdz %kdzfile%.kdz
C:\"Program Files"\7-Zip\7z x %kdzfile%.cab
lgextract -wdb %version%.wdb %device%.dll
cd BIN
copy /B "%device%_AP[?].bin" + "%device%_AP[??].bin" "%device%_AP.bin" BIN
cd ..
copy %version%*.* BIN
ERASE %version%*.*
copy %device%.dll BIN
ERASE %device%.dll
cls
Echo .
Echo .
Echo Done! Open BIN file and find all your rom dissection files.
After the extraction the program still reports a syntax error, but I am not sure what that is. In any event, I have dissected the kdz file. Now onto editing it so that I can root.
Thanks again; as usual you are a great mentor!
dm146
KDZTOOL working perfectly (it seems)!!!
cmahendra said:
And you should inform what error you got. Try again and inform. (
Click to expand...
Click to collapse
I think I have located the cause of the syntax error. I had removed 7z.exe and 7z.dll from the folder. I thought they would not be necessary as I am using my own installation of 7-zip. I replaced them and now no more syntax error.
I now seem to be extracting the bin files OK.
dm146
dm146 said:
I think I have located the cause of the syntax error. I had removed 7z.exe and 7z.dll from the folder. I thought they would not be necessary as I am using my own installation of 7-zip. I replaced them and now no more syntax error.
I now seem to be extracting the bin files OK.
dm146
Click to expand...
Click to collapse
I am using same 7z.exe and 7z.dll on XP 32bit and Windows 7/8 64bit without any issue. I dont know why you say 7z is not compatible for your windows. 7zip should work all versions of windows without any changes.
Install 7ZIP for Windows found on their website and try again. May be some necessary old framework is missing from your pc. On FREEWARE website, there are only 2 files to download one for 32bit and another for 64bit. I am using 64bit 7ZIP right now or just try installing 32 bit for windows to recheck.
BTW click on the website link, It says "7-Zip works in Windows 7 / Vista / XP / 2008 / 2003 / 2000 / NT / ME / 98."
All is well that ends well. Using your guides I have been able to update the ROM and now I am able to disassemble the bin files. The next step is to edit the bin so as to root the phone.
Keep up the good work.
Sent from my LG-P768 using xda app-developers app
dm146 said:
All is well that ends well. Using your guides I have been able to update the ROM and now I am able to disassemble the bin files. The next step is to edit the bin so as to root the phone.
Keep up the good work.
Sent from my LG-P768 using xda app-developers app
Click to expand...
Click to collapse
To make it more suitable for all, I have copied 32bit version of 7z.exe and 7z.dll and repacked the folder, TESTED OK. Thanks for your query. Now should work on all win versions. It was 64bit version before with bit bigger filesize.
Why 7z did not work
cmahendra said:
To make it more suitable for all, I have copied 32bit version of 7z.exe and 7z.dll and repacked the folder, TESTED OK. Thanks for your query. Now should work on all win versions. It was 64bit version before with bit bigger filesize.
Click to expand...
Click to collapse
That explains why 7z.exe didn't work for me. I have a Window 32 bit operating system.
Keep up the good work.
Dm146

[HOW-TO] unpack/modify/repack/pack kernels for noobs

Hello, everyone!
This is intended for everyone who want to modify kernels they are using. Since I could not find tutorials on how to repack kernels for our Novathor devices, I decided to write my own tutorial. Maybe there are other ways, but this is how I do it and it is 100% failsafe. I took transcendence CM 1.1.6 kernel as an example in this tutorial. So, let's start!
Requirements:
- Flashtool
- Linux (Ubuntu preferable), you can also use builduntu if you don't want to install linux to your hard drive
- Files provided in attachment
- Not to close terminal in linux at any price
- Brains
STEP 1: Unpacking
First of all, you want to unpack the kernel. This is the easiest one.
Fire up Flashtool, select tools/extractors/elf
Easy, right? Now, click on those three dots and find kernel you wish to modify. Kernel MUST have .elf extension for this to work, so if you have "boot.img" at you disposal, please rename it to "kernel.elf" (without quotes). Once you loaded your kernel, just click unpack. Do not close Flashtool yet. In it you will see logs that kernel is unpacked. Please take a screenshot of that window as we will need that report later. Screenshot should look like this:
{
"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"
}
After you have saved screenshot somewhere, look in the folder where your kernel is, and you will find two or three files additional files, sometimes even four, depending on the kernel itself. They should be named this way:
kernel.elf.ramdisk.gz (very rarely, this file may be called kernel.elf.2)
kernel.elf.Image (sometimes this file may be called kernel.elf.1)
kernel.elf.3
kernel.elf.cmd
It depends on the kernel how much files you're going to have. Now, please rename them, so that you delete kernel.elf from names. Now they should be named like this:
ramdisk.gz
Image
3
cmd
Bolded files are needed for our modifications. Now to the next step!
STEP 2: Modifying
Now that we have needed files at our disposal, it's time to do the modifications.
Image file
This file is zImage of the kernel. This is the core of the kernel, where CPU frequencies, drivers, governors, etc. are stored. This file you cannot really modify but if you have built your own specific zImage, you can replace it. I don't recommend touching this file unless you know what you're doing (in other words, unless you're developer or programmer).
So, noobs: don't modify this file; pros: Go ahead
ramdisk.gz
You want to change that sweet boot image, that's why you want to unpack kernel in the first place? On how to create boot image, go here.
This file contains the rest of the tweaks developers apply to kernel. Here you will find CWM, bootsplash image, autoroot files, etc, all depending on kernel you are modifying. Now, hot to unpack this bloody file? some suggest to use 7zip, but this way you will break symlinks and your kernel will definitely not boot. Proper way of unpacking ramdisk.gz goes like this:
First of all, boot up linux (or load builduntu into virtual machine, your choice).
We want to set up working folders, right? Fire up terminal and enter following commands, one line at the time:
mkdir kernel-working
mkdir ramdisk-working
cd ramdisk-working
mkdir ramdisk-contents
cd ramdisk-contents
Click to expand...
Click to collapse
Don't close terminal, or I will break you fingers Now in your home folder you will find folders we've just created. Nice, isn't it? Remember those files we've unpacked earlier? copy them to these folders. ramdisk.gz goes to ramdisk-working folder, while the rest goes to kernel-working folder.
Download kernel_repack.zip from the attachment und unpack files which are in it to kernel-working folder.
Now we're all set up for modifying
Go back to the terminal. Copy and paste following command and run it:
gunzip -c ../ramdisk.gz | cpio -i
Click to expand...
Click to collapse
Again, don't close the terminal. This time I will break your legs if you do so Now ramdisk.gz is unpacked in ramdisk-contents folder (which is in ramdisk-working folder). There you will find bunch of files and folders. After you have done all your modifications, it's time to pack it up. To do so, run the following command in terminal:
find . | cpio -o -H newc | gzip > ../newramdisk.gz
Click to expand...
Click to collapse
In ramdisk-working folder you will find newramdisk.gz file, besides ramdisk.gz. Copy newramdisk.gz to kernel-working folder and rename it to ramdisk.gz.
Now all files for compiling new kernel are prepared. To the next and final step.
STEP 3: Packing kernel back
In terminal, run following commands (and yes, you run cd .. twice in a row):
cd ..
cd ..
cd kernel-working
Click to expand...
Click to collapse
Remember that screenshot we've took earlier? This is where we need it Told you so
And finally, here is the mother of all commands which neatly packs all of our files back into kernel, but don't use it just yet, I will explain why:
sudo python mkelf.py -o kernel.elf [email protected] [email protected],ramdisk [email protected],cmdline
Click to expand...
Click to collapse
Take a look at the my screenshot and you will see that each of the files have its own adress. For example Image is at the adress 0x00008000 and ramdisk.gz is at the adress 0x01000000,ramdisk and 3 is at the adress 0x00000000,cmdline. By writing proper names and adresses, I'm telling computer where to pack files inside the kernel. You will have to change adresses in this command according to your screenshot, because not all kernel have the same adresses for same files. This is the most important step because if you do this wrong, kernel will not properly compile!
If you did all the work correctly, in kernel-working folder you will find new kernel.elf file. If it was named boot.img before editing, rename it back, if it was named kernel.elf then leave as it is. If you want, you can test if you packed kernel properly by trying to unpack it in Flashtool. If flashtool reports that you have some files to unpack, than all is OK, if it reports nothing, then something went wrong.
Ta-da! Your kernel is finally packed and is ready to be flashed to your phone. Hopefully, if you didn't messed up something when you did your modifications and alterations to ramdisk.gz, it should properly boot.
You can flash kernel in your preffered way.
Final words:
I tried to make this tutorial as user-friendly as possible. It is pretty straightforward once you get into it.
I hope that I clarified some thing, and more importantly, that I helped you.
Cheers everyone, and happy, repacking/flashing/modifying
Not a bad guide! Keep it up!
Sent my Carbonised Xperia P
Nice! :good:
Another good reference for kernel unpacking is this: http://forum.xda-developers.com/xperia-u/general/tutorial-explaining-stock-boot-image-t2126924
Enviado desde mi ST25i mediante Tapatalk
great guide
I just have windows , so am i doomed ?? I just wanted to change my kernel to Candy instead of Sony
Johnt880 said:
I just have windows , so am i doomed ?? I just wanted to change my kernel to Candy instead of Sony
Click to expand...
Click to collapse
Run builduntu in virtualbox.
If i got a sony kernel that sorted with the word sony out that will do my phone ?Just a standard kernel
I didn't quite understand you, can you clarify a little?
kernel 4.4.2
is there a way to modify the kernel aosp 4.4.2. This method does not work
kosmos-2011 said:
is there a way to modify the kernel aosp 4.4.2. This method does not work
Click to expand...
Click to collapse
Try that > http://forum.xda-developers.com/showthread.php?t=2073775

Extract system.new.dat of Nougat and Marshmallow (easily)

IMP NOTE : Use " python-2.7.xx" ,latest version otherwise extractor will led to undesired output like this one https://forum.xda-developers.com/showpost.php?p=72165633&postcount=295 and extractor supports android 7.1.2(updated on 18-May-2017)
Extractor of system.new.dat of Marshmallow and Lollipop ROM's
​
{
"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"
}
DOWNLOAD
OLD
Extractor 1.0
or
Mirror
Extractor 2.0
Extractor 3.0
UPDATED
Extractor 4.8 (Updated on 18-May)
SOURCE
$GIT-HUB Contribute!
Changelog -> https://github.com/matriex/System_Extractor-WIN/commit/4b94cde74f63f6f1ff21b8c745b306326b15cb5a
Alternative of repack, if the repack script doesn't works with your system folder then try this script SCRIPT / GUIDE
How to
Extract ext4-Image files
Download Imgextractor.exe binary from the link
https://github.com/matriex/System_Extractor-WIN/blob/master/bin/Imgextractor.exe
1. Create a folder named ext and copy the binary to ext folder
2. Copy your image file ,say "system_1.img" to ext folder
3. Select the ext folder , hold the shift (right) click RMB
4. Select "Open command window here"
5. Then type this command on CMD
Code:
Imgextractor.exe system_1.img -i
6. The files will be in "system_" named folder.
NOTE:You should rename IMG file to system_1.img before doing anything
Extract *.DAT files
Users, The extractor works with nought 7.0.0 and 7.1.1 perfectly (tested with CM14.1-2016-12-12 & aosp_7.0_2016-09-19), If you encounter errors then please install python and then try extracting again
Method I
Download and run the extractor .
METHOD II (command line)
Use python 2.7.xx
1. Download zip and extract sdat2img.py binary from the link
https://github.com/xpirt/sdat2img/archive/master.zip
2. Create a folder "ext"
3. copy "sdat2img.py", "system.transfer.list" and "system.new.dat" to ext folder
4. Open cmd on "ext", (by selecting and holding shift , you will find "Open command window here")
5.Type this on command window
Code:
python sdat2img.py system.transfer.list system.new.dat system.img
6. After that you'll find system.img on that folder, that image file is ext4 image file and can be extracted by this guide
http://forum.xda-developers.com/showthread.php?t=2285831
END OF SUPPORT I DON'T HAVE ANY METHODS LEFT AND PLESE ASK PROBLEMS RELEATED TO ANDROID 6.0 ONLY
Repack *.DAT
/*Repack will or will not work, Don't panic if it not worked, You can still use folder =) */
For flashing xyz_ROM.zip with dat files , you need to modify updater-script
Script, "of some roms" , b'coz some roms contains a link b/w updateR-script
and system.transfer.list. The link includes following : There is a line in
updateR-script script called
Code:
if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "36,0,32770,......,307199") == "0b20303394271424267e36a0ce7573f1b62ddc0d" then
if you found this in
updateR-script then from here follow the guide Repack_INFO.txt otherwise
directly copy system.new.dat and system.transfer.list to ROM folder and
repack/zip it and flash it.
Repack ,select from script, then choose manually (option 1)
Copy all your ROM files/subfolders(bin ,app ,build.prop etc) to system folder
Everything is expalined in extractor, read it carefully
If you found "range_sah1()" on your updateR-script then continue below, else only you have to replace system.new.dat and system.transfer.list of "xyz_ROM"
CONTINUE ONLY IF YOU FOUND RANGE RANGE_SHA1
After repack a SHA1_VALUE of system.new.dat is generated and file is created as "SHA1_VALUE.txt" with "system.new.dat" & "system.transfer.list"
And follow this guide Repack_INFO.txt (attached end of this POST)
OR GIT ATTACHEDhttps://github.com/matriex/System_Extractor/blob/master/Repack_INFO.md
That's all if you need help feel free to comment
Thanks for using this method I can't say it will work , but what's wrong in trying , I tried 10 to 20 times to make it work
A LITTLE ADVICE
1. If the script failed to work ,please take a look at this post again I'm sure I've posted enough resource which will help you out in extracting and repacking .DAT files .
2. Please keep this thread clean.
3. Please don't quote whole thread(use tags).
4. I take no responsibility of repacking system.img!
5. For Linux users :https://github.com/matriex/System_Extractor-Linux/blob/master/README.md
6. Use Python 2.7.x or otherwise extractor will not work Do not use python 3.0 or update sdat2img.py binary!
Thanks to @xpirt for sdt2img
Repack_INFO.txt (GIT-HUB, clear view)
Any possible way to put it back?
? if possible Or why don't you flash it directly by folder
matrixex said:
Wait comming soon if possible
Or why don't you flash it directly by making some changes in updater-script
Click to expand...
Click to collapse
I am in no dire need of it right away, I am just asking for any future need.
nicesoni_ash said:
I am in no dire need of it right away, I am just asking for any future need.
Click to expand...
Click to collapse
Hi
I have successfully created repack script for system to dat , download it and reply worked or not
Deleted
Deleted
Works well on new Nutella OTA images. Thx
tweakradje said:
Works well on new Nutella OTA images. Thx
Click to expand...
Click to collapse
Cool please give me the link to android N OTA
Sure. Here you go http://developer.android.com/preview/download-ota.html
Cheers
tools not working broo
Source
Tools not working bro
Thanks. Tested and it worked.
v3ndul said:
Tools not working bro
Click to expand...
Click to collapse
Impossible i have tried it with marshmallow and Lollipop system.new.dat files several times(truly 4-5 ROMS more than 10times) it worked without any issues please be sure that you have copied your files as stated and also match the names as stated in extractor.
Don't copy whole post just use HIDE
v3 doesnt work. when I open it (with admin rights) I see the copyright and warnings then it closes and opens a new windows. it does that again and again sort of like a loop
Abaddon said:
v3 doesnt work. when I open it (with admin rights) I see the copyright and warnings then it closes and opens a new windows. it does that again and again sort of like a loop
Click to expand...
Click to collapse
same here
edit: solved using this version
View attachment 3692066
kenzolo said:
same here
edit: solved using this version
View attachment 3692066
Click to expand...
Click to collapse
Abaddon said:
v3 doesnt work. when I open it (with admin rights) I see the copyright and warnings then it closes and opens a new windows. it does that again and again sort of like a loop
Click to expand...
Click to collapse
I am really sorry this is because i converted bat file to exe file
Just uploaded a new version of v3.0 just download it
And you will get two things
1 bin
2 system_extractor.bat
Just run system_Extractor and enjoy
v3ndul said:
Tools not working bro
Click to expand...
Click to collapse
Don't quote the op.
Hi,
I've managed to extract, but repacking is giving the following error:
Found System FOLDER
Creating filesystem with parameters:
Size: 2147483648
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 8192
Label:
Blocks: 524288
Block groups: 16
Reserved block group size: 127
error: ext4_allocate_best_fit_partial: failed to allocate 584 blocks, out of space?
Click to expand...
Click to collapse
I double checked, and I haven't ran out of disk nor RAM.
Can you help me?
Thanks
pacacc said:
Hi,
I've managed to extract, but repacking is giving the following error:
I double checked, and I haven't ran out of disk nor RAM.
Can you help me?
Thanks
Click to expand...
Click to collapse
No bro you haven't ran out of disk or RAM :silly:
This problem persist due to size of your system folder i.e it must be greater than 2GB
Right?
Don't worry jusy edit my batch file code using notepad ++
Here which line you have to edit
Search this line
bin\make_ext4fs.exe -s -l 2048M system.img system
Now replace 2048M with 4096M
After that the line will look like
bin\make_ext4fs.exe -s -l 4096M system.img system
And after that save it.
Done
Reply it worked or not
EDIT ON 30/5/2016
Use new version 4.0 IT CAN CALCULATE SIZE AUTOMATICALLY NO NEED TO EDIT SCRIPT
thanks for sharing this
i'm done the following
1. unpack
2. editing system file content(replace & delete)
3. repack (without error)
4. copy 2 file (system.new.dat & sistem.transfer.list) through 7zip
is that the correct steps? i mean, after that i can flash it like other rom zip

Is it possible to change the default TimePicker dialog in Android?

I'm currently using Android Oreo (RevolutionRemix) and I really don't like the circular TimePicker dialog that's presented to me when I create an alarm in the default clock or when I make a new event in my calendar (Nine).
Currently I get a dialog like this:
{
"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"
}
But I really would like it more like this:
I found this link https://android--code.blogspot.com/2015/08/android-timepickerdialog-theme.html (where I got the above screenshots), and it seems like this is something that can be changed with a theme.
Is this a default that can be changed (or forced) system-wide? If so, how? FYI, I have root and I'd rather edit an XML file somewhere to get this done than download a whole theming app or something.
Thanks in advance!
raphidae said:
I'm currently using Android Oreo (RevolutionRemix) and I really don't like the circular TimePicker dialog that's presented to me when I create an alarm in the default clock or when I make a new event in my calendar (Nine).
Currently I get a dialog like this:
But I really would like it more like this:
I found this link https://android--code.blogspot.com/2015/08/android-timepickerdialog-theme.html (where I got the above screenshots), and it seems like this is something that can be changed with a theme.
Is this a default that can be changed (or forced) system-wide? If so, how? FYI, I have root and I'd rather edit an XML file somewhere to get this done than download a whole theming app or something.
Thanks in advance!
Click to expand...
Click to collapse
You should be able to do this easily by editing the theme in res/values/styles.xml. If you know how to decompile apps with apktool, this should be an easy ordeal. You will need to decompile framework-res.apk and edit Theme. Material.Light and Theme.Material
To avoid bootloop, do not resign the app once edited and recompiled! Open the new apk with winrar or 7zip and add in the original manifest and meta folder located in the "originals" folder when using apktool.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
You should be able to do this easily by editing the theme in res/values/styles.xml. If you know how to decompile apps with apktool, this should be an easy ordeal. You will need to decompile framework-res.apk and edit Theme. Material.Light and Theme.Material
To avoid bootloop, do not resign the app once edited and recompiled! Open the new apk with winrar or 7zip and add in the original manifest and meta folder located in the "originals" folder when using apktool.
Click to expand...
Click to collapse
I don't know how, but I'm going to learn it Where is this apk normally in the filesystem, in the same location as installed apps? And would it be in the same location on a custom ROM as RR, or would it possibly be a custom theme with a different apk? Also, I thought apk files were just renamed zip files, what needs to be decompiled exactly (if that has an easy answer, otherwise I'll google it)? Thanks!
You will need some tools. Apk files are similar to zip files, but there are some things that are hidden. You will need apktool, adb, Notepad++, and java jdk installed. Adb and apktool are simple files that I can provide for you. They run on the command line in windows. What I do is put the files associated with adb and apktool in the C:\Windows directory so that they are installed system wide, meaning you can open the command prompt from anywhere and use the tools. Java jdk you will have to download and install.
I'm pretty sure on remix it will be framework-res.apk and it will be located in /system/framework/ directory. Apktool you will use to decompile and recompile the app. Adb is just to make things faster. You can use it to push or pull files from computer to phone and vice versa, reboot the phone, etc. You will have to enable USB Debugging in the developer options. You can also use adb to open a shell. (Like terminal in linux) but for our purposes we probably won't get into that.
Here is a link to my basic modding tools. Extract the files out and copy them to C:\Windows\.
https://drive.google.com/file/d/1Ywa3SWd_420uO-nyi2-iqVWp1vu0V_D9/view?usp=drivesdk
You'll need to copy any app that might be in /system/framework. I'm not super familiar with remix but we will get through it. Most likely it will be framework-res.apk unless remix uses something like RRframework-res or something. You can check that out with a root file manager. You may also need your SystemUI.apk located in /system/priv-app/. This is just to install the frameworks into the apktool.
Once you get all of your tools in place, create a folder named workspace on your desktop or somewhere easy to get to. Copy the above mentioned apk files into that folder. Next hold shift and right click the mouse. You want to open a command window here. In the command window type
apktool if framework-res.apk (then hit enter)
This is how you install the frameworks for apktool the if means install framework. You may also have to do this with SystemUI.apk.
Now were ready to decompile our framework! Lol. In cmd type
apktool d framework-res.apk
This will decompile the app. After you make your edits, you will use
apktool b framework-res
To build the app. (If you have any errors decompiling/recompiling report here)
At this point hopefully your app is decompiled and we can make our edit. Open /res/values/styles.xml with Notepad++ (a great computer program for coding) You will want to scroll down to Theme.Material.Light and find the TimePickerDialog. Then scroll down to Theme.Holo.Light and find TimePickerDialog. Copy the attribute from Holo theme to Material theme. Save. Recompile app. The new app will be located in the "dist" folder. Open the app with 7zip and add in the AndroidManfiest.xml and meta folder from the originals folder to retain the app's stock signature. Now we need to move our new apk to the phone. Type
adb push (drag and drop apk into cmd window) /sdcard/
This should push the app to the phone.
You can also use
adb pull (path and file)
to pull files from the phone to your workspace.
Once you get your new apk file ready and pushed onto the /sdcard/, open root file explorer and rename it to framework-res1.apk. This is so we can copy it into /system/framework/ without immediately overwriting the original. Next use root file explorer to change app's permissions to 0644. Once the permissions are changed correctly you can rename it to framework-res.apk and overwrite the original. Then reboot and enjoy.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
(snip instructions)
Click to expand...
Click to collapse
Thanks for the detailed instructions, really appreciated! Seems clear enough that I won't have any problems, I'll try it tomorrow or so and report back.
Just one question remaining: how can one retain the original signature by copying manifest files back into the apk? Isn't the whole idea of a signature to prevent changes to the files in the package? Or is it a different kind of "signature"?
raphidae said:
Thanks for the detailed instructions, really appreciated! Seems clear enough that I won't have any problems, I'll try it tomorrow or so and report back.
Just one question remaining: how can one retain the original signature by copying manifest files back into the apk? Isn't the whole idea of a signature to prevent changes to the files in the package? Or is it a different kind of "signature"?
Click to expand...
Click to collapse
It prevents you from modifying the AndroidManifest.xml. If you changed anything in it you would have to resign... But then it's signature won't match the rest of the signatures in the OS, which causes bootloop. Copying the original manifest and meta folder is just a workaround to keep it's signature in tact.
Sent from my LG-Q710AL using Tapatalk
RealWelder said:
It prevents you from modifying the AndroidManifest.xml. If you changed anything in it you would have to resign... But then it's signature won't match the rest of the signatures in the OS, which causes bootloop. Copying the original manifest and meta folder is just a workaround to keep it's signature in tact.
Click to expand...
Click to collapse
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
raphidae said:
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
Click to expand...
Click to collapse
It could, but generally the signature issue is the main reason for bootloop. The xmls and png images are safe to edit. Be careful with images, if one has a .9.png extension it is a nine-patch file. They have a one pixel border around the image that lets android know where to stretch said image. They are black dots/lines. Make sure they stay black and not opaque at all.
Sent from my LG-Q710AL using Tapatalk
raphidae said:
OK, that makes sense, thanks! I noticed that a wrong signature can cause a boot loop, I'm guessing that other problems with this file can also cause a boot loop? If so, is there an easy way to bypass this file should that happen (safe more or something)?
Just FYI, I'm using full-disk encryption and TWRP can't decrypt the data partition, but I assume I can just put the original file back to the /system filesystem if necessary?
Click to expand...
Click to collapse
I would make a fresh backup with TWRP before doing any of this, just in case. It is pretty safe though. I've been tinkering with rooted phones for a few years doing this. My latest venture is in a way even more impressive. With the newer LG phones, they have a built in theme system. I've been able to create my own theme and apply it to the phone all without root.
Sent from my LG-Q710AL using Tapatalk

Categories

Resources