Recompile APK help - Captivate Q&A, Help & Troubleshooting

I'm a noob at this... I searched the forum but couldn't find any information.
Could someone more knowledgeable explain to me how to decompile and recompile apk's?? More specifically the framework-res??
I read that you can't simply unzip and then rezip... so what do I have to do?

The apk's are zip files that contain the resources (icons, bitmaps, sounds, etc.) as well as the code compiled in a classes.dex file. You can replace the resources after deodexing, but I don't think you will be able to change the compiled code in classes.dex unless you have the source code.
Sent from my SAMSUNG-SGH-I897 using XDA App

So for instance... if I have a clockwork flashable battery mod... and I unzip that... and edit colors of icons in the framework-res.apk, then can I just save the files, recompress and it will still flash properly?
And another thing.. if you have a clockword flashable .zip how do you change it so that you can flash via stock recovery? I know that simply renaming it to update.zip and trying via stock will not work. Is it a hard process, do I need a special program on my pc??

make your life easier..
search xda for Apk Manager

jslee1020 said:
So for instance... if I have a clockwork flashable battery mod... and I unzip that... and edit colors of icons in the framework-res.apk, then can I just save the files, recompress and it will still flash properly?
And another thing.. if you have a clockword flashable .zip how do you change it so that you can flash via stock recovery? I know that simply renaming it to update.zip and trying via stock will not work. Is it a hard process, do I need a special program on my pc??
Click to expand...
Click to collapse
I am not sure about editing apk's. To create a flashable zip file through stock recovery, you need to have the META-INF folder correctly created with a working updater script and the manifest and certificate files that you get by signing the zip file. Look into playing with the HTC android kitchen on the chef central section here to automate that process.

Related

[Q] Repackaging an existing theme

This is sort of a 2 part question.
I've taken a theme I like which is compatible with my current rom and I have made many edits to image files in the framework apk file.
The theme came as a clockwork flashable zip file. I extracted it and then extracted some apk files to make edits in the graphic design.
My question is how do I put it all back together into the flashable zip, and how do i repackage the apk files I extracted to edit?
Thanks in advance
If you could post the files in a .zip, I can make you an update.zip that can be flashed. Or shoot me a PM and let me know what you need help with (update script, packaging, ect.) and I'll walk you through it.

framwork-res.apk modifying

Hi,
i'am searching for a guide how to manipulate correctly the framework-res.apk.
All ways i have tested fails.
I would modify some symbols in Notification bar (battery 1%) but all Time the my Phone run into bootloop or all Application Crashes after Startup.
I've tryed Apk Manager 4.9 / and Manualy with apktool.
Help plz .....
what i did :
1-extract apk (i use 7zip/WinRAR)
2-edit/replace image file(s)
3-repack with zero compression level ('store' level)
4-sign the apk
5-replace file using apk or create flashable recovery zip.
regards.
signing the framework-res.apk will not work.. will make the device go into bootloop
what you need is extract the framework-res.apk using apktool and edit the things you want and then compile it again using apktool .... now open the original framework-res.apk and replace the file resources.arsc with the edited compiled one..
this way you will retain the signature of the original framework-res.apk
PapaDocta said:
signing the framework-res.apk will not work.. will make the device go into bootloop
what you need is extract the framework-res.apk using apktool and edit the things you want and then compile it again using apktool .... now open the original framework-res.apk and replace the file resources.arsc with the edited compiled one..
this way you will retain the signature of the original framework-res.apk
Click to expand...
Click to collapse
But when i add some new Files and Edit some XML the Sign will be Corrupted ?
no it won't...
You need to do two copies.. the original file and the moded one...
1. make a backup of the original file
2. extract the original file using apktool
3. edit and modify anything you like
4. compile the edited file
5. rename the compiled file to framework-res.zip and take the modified resources.arsc
6. using winrar or 7zip open (to view not extract) the backed up framework-res.apk
7. place the moded resources.arsc into the backed up framework-res.apk
by doing this you retain the original signature of the backed up file and not breaking it..
Thx, will test it ;-)
kowalski99 said:
But when i add some new Files and Edit some XML the Sign will be Corrupted ?
Click to expand...
Click to collapse
Android system, signs system apk's on boot, you shouldnt sign them
Sent from my Desire HD using Tapatalk
My signed apk just work well.
AFAIK, we only cant re-sign htc's apk.
PapaDocta said:
signing the framework-res.apk will not work.. will make the device go into bootloop
what you need is extract the framework-res.apk using apktool and edit the things you want and then compile it again using apktool .... now open the original framework-res.apk and replace the file resources.arsc with the edited compiled one..
this way you will retain the signature of the original framework-res.apk
Click to expand...
Click to collapse
The right approach always depends, what you want to change. There is no need to decompile, if you only change a few standard png. If you change xml in values folder like color, styles or arrays, you can certainly not delete resources.arsc - resources have nothing to do with the signature anyway. So if you want to play safe, you should insert the original Meta-Inf (signature) and Android Manifest after compile. It is also recommended to zipalign the final apk in order to reduce RAM usage.
thanks he_stheone64 for the clarification.. i reached that conclusion based on my own research on the net and yeah i used to change the XML files to add language support and that the only way that worked with me..
And be sure to have a working and up-to-date sdk before trying to use apktool...
First, using a old sdk release i got a partially working result (few graphics bugs and strange reboots), then with a badly updated sdk on top off the old i got apktool making many errors. Finally, re-installing the last sdk from start i got apktool and my resulting apk working correctly.

[Q] Framework Jar File

I am trying to create a reboot option for my galaxy tablet. I am in the proccess of using smali/baksmali to edit some files...the problem is when I adb pull the framework jar there is no classes file in the zip. The only thing in there is the META-INF obviously and a file called preloaded classes...this is considered just a file, not a class file. Should I not have a .class file?
EDIT-------------------------------------------------
I looked, what I mean is that there is no classes.dex file
Thanks
Found the problem. I am using a stock rom that hasn't been deodexed. I had to use baksmali to deodex the framework.odex file. Of course if you do this you have to have the right bootclasses in the folder or the file will not decompile right, and from what I have read you need that to happen in order to compile it back into a odex file. I should deodex the whole rom, but I am still new at this and don't want to create a boot loop
-Peace

[Q] Create flashable framework ZIP?

I have simple question, so I hope for simple answer:
how to create flashable zip containing the original framework-res.apk? I can pull original framework file and if something goes wrong, I want to have CWM flashable ZIP to push it back.
How can I do that? Simply ZIP original framework.apk with 7ZIP or there is another method? Thanks.

Help.

Holla amigos...
I need help........again.
See, I'm creating my own rom and my base uses blackhawk. I want to change this to firekernel. I searched xda and Google but I couldn't find anything. All they talk about is how to flash another kernel. I want to know how to include it in rom before flashing. And also, could someone tell me the .XML that is used for Modding the lock screen.
Sent from my GT-S5830 using xda app-developers app
Inside the flashable zip (any flashable zip) you'll find several folders and files. To see where each file gets flashed to, look inside the META-INF folder and search for a file called "updater script".
Its the updater script the one that indicates where each part of the zip will be flashed, so open it with a text editor, take notes where each file ends up, and copy them to their location inside your rom.
dxppxd said:
Inside the flashable zip (any flashable zip) you'll find several folders and files. To see where each file gets flashed to, look inside the META-INF folder and search for a file called "updater script".
Its the updater script the one that indicates where each part of the zip will be flashed, so open it with a text editor, take notes where each file ends up, and copy them to their location inside your rom.
Click to expand...
Click to collapse
And at the start, through dsixda kitchen updater script was converted into update script. Is it the same? Okk. And what about including scripts, I want adrenaline engine. I downloaded the zip. Ignored the Meta -inf and copied the system folders inside the system folder of the working project....Am I right?
Sent from my GT-S5830 using xda app-developers app
If you're using the kitchen its OK, you can add any flashable zip that way, copying the files and folders to their respective location inside your Project. Checking the updater script is only necessary when in doubt of where each thing goes.
Don't use kitchen's updater script and binaries.They won't work,could even brick the device.To change kernel,download firekernel and replace the boot.img in that pack with the one in your rom.Boot.img is the kernel.Scripts go in init.d
Prawesome said:
Don't use kitchen's updater script and binaries.They won't work,could even brick the device.To change kernel,download firekernel and replace the boot.img in that pack with the one in your rom.Boot.img is the kernel.Scripts go in init.d
Click to expand...
Click to collapse
Hey. Thanks for that. Please help me out here: http://forum.xda-developers.com/showthread.php?p=28891130#post28891130

Categories

Resources