Im not trying to re-engineer an app, but I simply want to check out an apk to look at the placement of a certain line of code. When i open up the files within the apk though, i get a bunch of nonsense. How do I edit the files within the apk...i know theres a way, or else we wouldnt have custom roms.
Apktool (or some wrapper like Apk Manager). It's quite outdated, so you won't be able to decode some newer apks though.
Brut.all said:
Apktool (or some wrapper like Apk Manager). It's quite outdated, so you won't be able to decode some newer apks though.
Click to expand...
Click to collapse
gahh, i was hoping there would be an easier way than that xP...I experimented with apktool, but it wasnt recognizing the .apk i was typing in...i just suck with command prompt stuff
....thanks anyway though
schwartzman93 said:
gahh, i was hoping there would be an easier way than that xP...I experimented with apktool, but it wasnt recognizing the .apk i was typing in...i just suck with command prompt stuff
Click to expand...
Click to collapse
Brut.all also mentioned APK Manager in his post which is a script wrapper for his apktool that automates much of the process. It's available at the link I gave for both Windows and Linux. All you should need to do is run the script, place your apk in the appropriate folder created by the script, have the script decompile your apk, then you can find the decoded xml file(s) of interest.
thanks guys
i was having a bit of trouble with apk mananger, i couldnt get it to do anything with this one app, i would tell it an action and it just closed the script
EDIT: I figured it out
Hi guys, i'm using APK Manager and i was able to change the xml without having any trouble by decompressing the apk. I'm wondering what i need to do in order to resign the APK. I have already tried to compress the apk and then sign it, but streight away after I installed the apk i got in boot looping.
The file i'm talking about is the framework-res.apk
Any suggestion?
Thanks in advance.
Edit/
Solved.
Basically i was trying to sign framework-res.apk, instead i have found the solution in this forum that actually worked fine for me:
Code:
1. Place your original "framework-res.apk" into "\place-apk-here-for-modding\" folder
2. Run "script.bat"
3. Set Project (22) and choose the "framework-res.apk" (1)
4. Decompile (9)
5. Place or overwrite new Xmls and PNGs in "\projects\framework-res.apk\res\drawable or drawable-hdpi"
5. Recompile (11)
6. Answer "Yes" when it asks wheter it is system file
7. Answer "Yes" when it asks "would you like to copy over any additional files...?"
8. Script is paused => (don't press a key)
9. Go to the "keep" folder (it's in the same folder than "script.bat")
10. In this "Keep" Folder,
- delete "resources.arsc" file
- delete originals "stat_sys_battery.xml" and "stat_sys_battery_charge.xml" from the "keep\res\drawable" folder
- delete all originals PNGs that were meant to be edited
11. Go back to "script.bat" and press a key to let him finish the job
12. Your new "framework-res.apk" has been created in the "\place-apk-here-for-modding\" folder. It's called "unsignedframework-res.apk".. but he's not working yet.
13. Unzip all the content of the "unsignedframework-res.apk". You should have 5 objects (3 folders, 2 files).
14. Zip these files with Winrar/Winzip (whatever) but you must choose "No compression" method to zip it.
15. Rename this zip into "framework-res.apk".
15. Put it into an update.zip and it should be OK to flash trough the recovery mode.
Thanks anyway!
I love all the beautiful modified skins of Thypancy's intial theme. Is there a post where we could learn to mod these themes. too. I have 4 in mind that I would like to make or have modified, but i would rather learn how to do it myself. Can someone point me in the right direction.
Hi,
I am not a PRO at this... but i would just explain you the procedure:
1) extract/Decompile the .apk file you want to MOD or make changes to. Use m10 editor for this.Select the option "decomplie all"
2) Minimize the m10 editor, and open the folder where you m10 editor is installed. There you would find a folder with the name of the .apk file you just decomplied. Go to folder assests>"base theme name">drawble>shared folder.
3) now select the .png files you want to edit. Install Paint.net, and edit with them, it was easy process for me. Remeber to "flip image vertical" after you are done with editing.
4) now go back to m10 editor, and Save the file.
5) You should have AndroidSDK installed.If not, do it. Then go to the folder where you have installed it. open the "autosign" file. It will open command prompt. There select the option to sign the file manually. Give the path for the file. It will sign it then. Exit from that program.
6) you are done, you can install it now.
Well, this is the basic idea for modding, and it would work if you have a little bit knowledge. I have been taught all this by "laletsehgal21", who has a good thread of his MODS... you can ask him for a detailed help.
Happy Modding
mathrania said:
Hi,
I am not a PRO at this... but i would just explain you the procedure:
1) extract/Decompile the .apk file you want to MOD or make changes to. Use m10 editor for this.Select the option "decomplie all"
2) Minimize the m10 editor, and open the folder where you m10 editor is installed. There you would find a folder with the name of the .apk file you just decomplied. Go to folder assests>"base theme name">drawble>shared folder.
3) now select the .png files you want to edit. Install Paint.net, and edit with them, it was easy process for me. Remeber to "flip image vertical" after you are done with editing.
4) now go back to m10 editor, and Save the file.
5) You should have AndroidSDK installed.If not, do it. Then go to the folder where you have installed it. open the "autosign" file. It will open command prompt. There select the option to sign the file manually. Give the path for the file. It will sign it then. Exit from that program.
6) you are done, you can install it now.
Well, this is the basic idea for modding, and it would work if you have a little bit knowledge. I have been taught all this by "laletsehgal21", who has a good thread of his MODS... you can ask him for a detailed help.
Happy Modding
Click to expand...
Click to collapse
Thanks for the Info!!!
mathrania said:
Hi,
I am not a PRO at this... but i would just explain you the procedure:
1) extract/Decompile the .apk file you want to MOD or make changes to. Use m10 editor for this.Select the option "decomplie all"
2) Minimize the m10 editor, and open the folder where you m10 editor is installed. There you would find a folder with the name of the .apk file you just decomplied. Go to folder assests>"base theme name">drawble>shared folder.
3) now select the .png files you want to edit. Install Paint.net, and edit with them, it was easy process for me. Remeber to "flip image vertical" after you are done with editing.
4) now go back to m10 editor, and Save the file.
5) You should have AndroidSDK installed.If not, do it. Then go to the folder where you have installed it. open the "autosign" file. It will open command prompt. There select the option to sign the file manually. Give the path for the file. It will sign it then. Exit from that program.
6) you are done, you can install it now.
Well, this is the basic idea for modding, and it would work if you have a little bit knowledge. I have been taught all this by "laletsehgal21", who has a good thread of his MODS... you can ask him for a detailed help.
Happy Modding
Click to expand...
Click to collapse
cool man.....
Jst one thing attach the base file that one must use to decompile so that he does not have errors while re-compiling
In de-compiled files changes have to b made in three places.
1. Androidmanifest.xml (name of package).
2. Res\values\strings.xml (name of theme).
3. Assets\shared(change this to theme name)
Now compile and then edit
lalitsehgal21 said:
cool man.....
Jst one thing attach the base file that one must use to decompile so that he does not have errors while re-compiling
In de-compiled files changes have to b made in three places.
1. Androidmanifest.xml (name of package).
2. Res\values\strings.xml (name of theme).
3. Assets\shared(change this to theme name)
Now compile and then edit
Click to expand...
Click to collapse
I tried this but instead of pngs, i'm getting dat files in the "\\\drawable\shared" folder? Is anyone else having this problem?
keedog said:
I tried this but instead of pngs, i'm getting dat files in the "\\\drawable\shared" folder? Is anyone else having this problem?
Click to expand...
Click to collapse
no after using m10 editor u'll play with dat files only best part is inverted
lalitsehgal21 said:
no after using m10 editor u'll play with dat files only best part is inverted
Click to expand...
Click to collapse
What???? I'm way confused by that last sentence.
keedog said:
What???? I'm way confused by that last sentence.
Click to expand...
Click to collapse
he means, that the images you would like to EDIT would be inverted(up side down kind of) already...... the way it looks in your android phone...it wd be inverted
keedog said:
I tried this but instead of pngs, i'm getting dat files in the "\\\drawable\shared" folder? Is anyone else having this problem?
Click to expand...
Click to collapse
In the m10 editor, on the second tab "m10files", select "decode images". And then start the process.....
I have attached an .apk file. Install it on your sensation, apply the theme to your mobile. Observe the stuff. Then try to decompile the same file, and edit the images to your choice. It will help you to recognize what files you should change to get your desired result.
mathrania said:
I have attached an .apk file. Install it on your sensation, apply the theme to your mobile. Observe the stuff. Then try to decompile the same file, and edit the images to your choice. It will help you to recognize what files you should change to get your desired result.
Click to expand...
Click to collapse
Thatz a pretty nice one, and i like how u pointed out all the pages with text. thanks again.
mathrania said:
Hi,
I am not a PRO at this... but i would just explain you the procedure:
1) extract/Decompile the .apk file you want to MOD or make changes to. Use m10 editor for this.Select the option "decomplie all"
2) Minimize the m10 editor, and open the folder where you m10 editor is installed. There you would find a folder with the name of the .apk file you just decomplied. Go to folder assests>"base theme name">drawble>shared folder.
3) now select the .png files you want to edit. Install Paint.net, and edit with them, it was easy process for me. Remeber to "flip image vertical" after you are done with editing.
4) now go back to m10 editor, and Save the file.
5) You should have AndroidSDK installed.If not, do it. Then go to the folder where you have installed it. open the "autosign" file. It will open command prompt. There select the option to sign the file manually. Give the path for the file. It will sign it then. Exit from that program.
6) you are done, you can install it now.
Well, this is the basic idea for modding, and it would work if you have a little bit knowledge. I have been taught all this by "laletsehgal21", who has a good thread of his MODS... you can ask him for a detailed help.
Happy Modding
Click to expand...
Click to collapse
I have all the pngs replaced and the its back in a apk, but now I don't see a autosign file in the sdk folder. am I looking in the wrong place?
This is the Android-sdk (along with java jdk) that i downloaded. I can't find a autosign file anywhere.
i found the autosign bat fle. but now im getting errors.
question: how/where do i change these?
In de-compiled files changes have to b made in three places.
1. Androidmanifest.xml (name of package). how do u change this?
2. Res\values\strings.xml (name of theme). how/where do u change this?
3. Assets\shared(change this to theme name) h0w/where do u change this?
---
also when I replaced the background image, and he skin png, they resorted back to the original and didn't keep my background image nor skin pmg.
Sorry to hijack, but how would I change the dock/nav bar?
Sent from my HTC Sensation Z710e
If you are not having problems compiling SystemUI.apk with no problems then this is not for you
WARNING:
You should not attempt to do this on a device that does not have a recovery, because if something goes wrong you may have to reinstall your rom (not very likely though). You should probably back up SystemUI.apk You should also have some experience modding and some experience using Apktool and Linux.
INTRO:
If your having problems modding SystemUI.apk on JB then this thread is just for you. I recently found out how to mod the Jelly Bean SystemUI. Jelly Bean has made it very difficult to mod. Yes it is still easy to replace images, but if you want to do some major changes to the UI such as a 100 percent battery mod or changing the status bar color then you will need to know exactly how to do it. For example, if you get the UI decompiled without errors and you recompile it without errors YOUR RECOMPILED SystemUI.apk WILL NOT WORK and your status bar will disappear etc... There is a special way to get everything working and I will show you how.
STEP 1:
LINUX>>
Before we start I recommend that you have File Roller: one of the most popular archive managers for Linux (Ubuntu comes with it). If your distribution uses a Debian package manager (most popular ones do) then all you have to do is go into the terminal and type:
Code:
sudo apt-get install file-roller
Now you will have File Roller. You also will need java installed. Check if you have java by typing:
Code:
java
in the terminal. If you dont have java and your using a Debian package manager then type:
Code:
sudo apt-get install openjdk-6-jre
or download from the java website and install it.
WINDOWS>>
Before we start, you will need 7zip and java. Just search and you will find the programs to install
STEP 2:
Now we will install APKTOOL. You may already have it installed BUT your version will probably not work. I have ran around the internet for a modified apktool that wont give you errors (If you follow my directions). I came across a great thread. check it out and download all the tools their (dont forget aapt) http://forum.xda-developers.com/show....php?t=1755243. If you are in Linux rename the jar file to apktool.jar and move the the jar plus aapt to /usr/local/bin. You will need root. If you are in Windows rename the jar to apktool.jar and move it and aapt to your WINDOWS directory. You also need zipalign http://powerpoint45.webs.com/android/zipalign(I think this one is only for linux so if ur on windows either test this one or get zipalign from android sdk)move it to your WINDOWS dir/bin dir. You need one more thing. It is from the apktool websitehttp://code.google.com/p/android-apktool/. According to your os download either apktool-install-linux-r04-brut1.tar.bz2 or apktool-install-windows-r04-brut1.tar.bz2. Extract the contents. You only need one file from the archive. In linux move apktool (not apktool.jar) to /usr/local/bin. In Windows move apktool.bat to your WINDOWS directory. Dont jump ahead and say "Now that I got apktool set up, I know what to do", because it gets a lot more difficult than you are used to using apktool.
STEP 3:
Now that you have apktool set up, you need to know how to mod SystemUI.apk. Get SystemUI.apk from /system/app within your device onto the computer. Now make a backup of SystemUI.apk on your computer because we will NEED it later. So you need two SystemUI.apk files on your computer. You could name one “backup” if you'd like. So now now we need to decompile the apk. Go into the terminal/cmd and cd/chdir into the directory you have SystemUI.apk. Now type
Code:
apktool if SystemUI.apk
It will then install frameworkneeded.Then type:
Code:
apktool d SystemUI.apk
It will decompile the apk. It will take a bit of time for it to fully decompile. The decompiled code will be in a folder in your current directory called SystemUI. If It had errors decompiling, (IT WILL FOR MOST NEXTUS 7 ROMS) you will need to install framework manually. Download framework here:http://db.tt/Rpc6zskQ and place the two APK files into apktool framework folder (replace the old framework files). In Linux it is located at /home/yourusername/apktool/framework and in windows it is something like C:\\Documents And Settings\yourusername\apktool\framework. After that delete the SystemUI folder that was made by the bad decompiling proccess and repeat the decompile command.
STEP 4:
This is the part where you start modding. You can make many customizations to the UI this way as you probably know. I will just show you how to make a 100 percent battery mod. You need to go into the decompile folder (SystemUI) using a file manager, Then from SystemUI, go delete res/drawable/stat_sys_battery.xml and replace it with http://powerpoint45.webs.com/android...ys_battery.xml (to download that file right click on link and click something like "save link as"). Now you need to move to a new directory: /res. In that folder you need to look through all the directories that start with the word drawable. For example drawable-mdpi. There is one directory that your device uses for images but you may not know which one. Your device might be MDPI but use drawable-sw600dp from the UI instead of drawable-mdpi. So if you dont know or you want to be safe then search through the drawable folders and if their are any battery icons then remember you will need to add 100 battery icons to each one of the folders with battery icons. The battery icons are the ones named something like stat_sys_battery_0.png. So if you need to add 100 icons they need to be named in numerical order from stat_sys_battery_0.png to stat_sys_battery_100.png. Dont worry though, you wont need to rename 100 icons. Their ar many battery mods online that you can get them from, but I have some images you can download: http://powerpoint45.webs.com/android...RY_BLUE.tar.gz. Download it, extract it and copy all the images into all the drawable folders that contain battery icons. Now your ready for compiling; The step that is different than how we have always done it before Jelly Bean existed. keep in mind that some images can not be changed or edited at all durring this step because it will result with many errors durring compiling. You would have to add images to the archive after its compiled
STEP 5:
Like I said at the end of step 4, this step will be different than you have seen before. This is also the step where you will be using File Roller/7zip. To build the apk make sure you are in the terminal in the directory where SystemUI exists and type:
Code:
apktool b SystemUI almostdone.apk
almostdone.apk is the output file. Once it is done building you need to open the backup apk you made at the beginning with File Roller /7zip. Also open almostdone.apk with File Roller/7zip. From inside the backup.apk drag meta-inf folder & androidmanifest.xml to allmostdone.apk. Now all you need to do is zipalign the apk. Lets say your backup apk is named backup.apk. Go into the terminal at the directory you are working
in and type
Code:
zipalign -v 4 allmostdone.apk done.apk
This will optimize the apk. The output is done.apk.
STEP6:
Now you install the apk. Their are many meathods of installing the apk, here are a couple. Transfer done.apk to your device and rename it to SystemUI.apk. Now use a root browser or terminal app to replace the other SystemUI.apk on your system at /system/app. And make sure you give it the same permissions as all the other apk's in the system/app directory. Then reboot. Or you could make a flashable zip to install it.
So as in my earlier thread I have moved back to eagles blood 4.0.4 AOSP rom. One of the drawbacks is that the hdpi drawable folder in my systemui does not have 1% icons. I've read a few tuts on how to make my own....or add them from a downloadable zip.
My question to those who are more knowledgeable about development is this: will opening the drawable hdpi folder from my systemui.apk with 7-zip and replacing all my stock sys_batt PNG images with the custom 1% images and then saving those to the folder and pushing the systemui.apk back to my phone do the trick?
Sent from my LG-P999 using xda premium
Pain-N-Panic said:
So as in my earlier thread I have moved back to eagles blood 4.0.4 AOSP rom. One of the drawbacks is that the hdpi drawable folder in my systemui does not have 1% icons. I've read a few tuts on how to make my own....or add them from a downloadable zip.
My question to those who are more knowledgeable about development is this: will opening the drawable hdpi folder from my systemui.apk with 7-zip and replacing all my stock sys_batt PNG images with the custom 1% images and then saving those to the folder and pushing the systemui.apk back to my phone do the trick?
Sent from my LG-P999 using xda premium
Click to expand...
Click to collapse
Should add long as those are referenced (I think in the xml, but then, I have never done this myself). Would need a nandroid for sure .
-- The noob says:
From first-hand experience, a smartphone is incapable of making you smarter!
Nope, they're not. I have to manually reference them in the sys_bat icon XML file located in drawable folder. Then I have to swap in the images in the drawable hdpi folder once they're referenced. However, I'm having issues. Once I extract the files from the apk with 7zip, specifically the drawable folder to get to the sys_bat icon XML file, I cannot open it in notepad++ to edit it. I'm getting an error. Any ideas mansa?
Edit- LOL nandroid was the first thing I did!
Now I have to crank out this stupid paper for class so I can continue tinkering with my Android lol
Sent from my LG-P999 using xda premium
Ok, So I've come to learn that in order to edit XML files within the APK, that the APK needs to be decompiled with APK Tool, not simply extracted using 7zip. I downloaded APK tool and set everything up according to this tut----> http://forum.xda-developers.com/showthread.php?t=1989533
I have the APKTOOL folder placed on the root of my C:/ drive. Inside that folder I have placed the following aapt (the apktool exe or application file), apktool (batch file), apktool.jar, and my framework-res.apk (I know I need to use systemui.apk, I'm just using this as I follow the tutorial on how to get this program working before I try anything on my own files). When I get to the command c:\apktool>apktool if system.apk to install the APK on my system so I can decompile I get an error saying it's not a recognized command. Any ideas dev-friendly users?
So I realized I didn't have the JDK installed on my pc since I did a system wipe on it the other day. Reinstalled it but it's still not working. Very frustrating. I'm also using win 8 if that means anything.
Giving up on apktool as I cannot seem to get a way around the error. However, apk manager seems much more user friendly and have seen tuts using the program specifically for ics roms. I've only seen tuts for apktool using jelly bean roms so maybe that's the issue. I won't be home until late tonight as I have class. If anyone has any tips/suggestions please let me know.
Sent from my LG-P999 using xda premium
Not that many people are in here anyway but I figured I'd give it a shot. So I went to use apk manager instead of apk tool which seemed to be a much more "newb friendly" program. I can successfully decompile my framework-res.apk but cannot decompile my systemUI.apk afterward. I get an error....here's my log if anyone can help me with it:
EDIT- deleted log as I was able to decompile systemUI with a different apk program. That was a huge headache getting it to decompile. Now editing the XML should be no problem, along with swapping out the PNG's. Recompiling on the other hand will most likely be another headache!
please help me how can i extert .apk and resize png??
Hello @ImRm
To do the following you'll need two types of tools. One being a reasonable image editor and the other being an .apk decompiler.
Firstly you need to know what you want to decompile, where this is a system resource or an average app. Go ahead and download an apk decompiler. There are many on xda but I use Quickmod as its the simplest.
Link to thread to download tool - http://forum.xda-developers.com/showthread.php?t=2536073
Once you've downloaded it, open the tool and installed the required framework and files for it to decompile and compile properly.
Once done, decompile the apk and head into the projects resource folder. It's labelled as "res".
You will then have to find the image you are looking to edit, using an image editor open the .png file and select the full image. Then just make the image larger with the small points at the end. And then just reposition the image into the center. Also you may need to refine the image after the resizing of it as pngs are used for transparency like images.
Sent from my Nexus 5 using Tapatalk