Posted by : Unknown
Wednesday, 9 October 2013
Guide only cover:
- De-compile & compile of .apk
- changing the .png file inside .apk
- Modifying tricky .9.png file.
- Modifying .xml file.
- Zip Align the .apk
What you need:
- Your phone must be ROOT and DEODEXED.
- CWM pre-install recommended, you can simply get this function by installing superatmos / Lucifr kernel.
- 7-zip - for replacing file inside .apk
- JRE (Java Runtime Environment) - required to run the APKtool
- Android-SDK - must install before APKtool & Zipalign work.
- APKTool Download the apktool & also apktool-install-windows.
Before Start:
- Always remember make a backup for any .apk file you plan to change or amend.
- Recommended make a flash-able version of origin not amend .apk in-case something went wrong, you can always flash back the original file via CWM. Example if you did something wrong in your systemUI.apk (for statusbar) it will probably make your phone nearly impossible access any part due to unstop FC.
De-compile & Compile of .apk
Why this step is required:
Why this step is required:
- You need to de-compile the .apk before you can correctly modified the tricky .9.png and also to see a readable .xml for amending.
- Install JRE (Java Runtime Environment) & Android-SDK.
- Download the apktool & also apktool-install-windows, extract the file and put inside your Windows Folder.
- Open command prompt (Start - Run - CMD)
- Before de-compile the .apk, make sure you copy out your current phone framework-res.apk & twframework-res.apk, lidroid-res.apk only required if you using lidroid-res.apk in your framework.Code:
apktool if [location of .apk] Example: apktool if D:\APK\framework-res.apk apktool if D:\APK\twframework-res.apk apktool if D:\APK\lidroid-res.apk
- Now, De-compile the .apkCode:
apktool d [filename.apk] [directory] Example: apktool d D:\framework-res.apk D:\De-compile
- If sucess, you will seen the following line in your CMD.
- The De-compile folder will be generate as seen below.
- Now you can amend whatever you like to amend, after done, proceed to following step.
- Compile back:Code:
apktool b [directory] Example: apktool b D:\De-compile
- Extra build folder will appear inside your De-compile folder, all file inside here already compile and can use later in your Android phone.
Changing/Replacing the .png file inside .apk
- Amending normal .png no need to de-compile, just extract the file and modified using any photoshop tools or simply replace the .png
- Just right click any .apk file and select 7-zip extract to, as seen below:
- Now go to the extracted folder and amend / replace any .png file you like to replace. (Remember .9.png file cannot just simply replace, check following post for instruction.)
Modifying tricky .9.png file.
What to do:
- The .9.png cannot just simply amend using any photoshop and put back, because by doing so, either the amend .9.png won't appear or just simply give you FC in your phone when running it.
What to do:
- De-compile the .apk.
- Below showing the different between before and after de-compile of .9.png, as you can seen on right image,they is extra 4 black dot + 1 black bar and surrouding with transparent bar, all this area must be keep and not amend during photoshop. The de-compile image will auto increase 1 x pixel + 1 y Pixel.
- Just amend without touching those area, save it and then put back to correct folder and compile back.
Modifying .xml file
- After you have de-compile the .apk, now all inside .xml is readable where you can make some changes on the color selection, clock position and etc. by just simply open with notepad and modified.
- Before de-compile, the .xml look like below which is not readable and understand by human.
- After de-compile, now the .xml is readable and understand by human.
- Now you can amend what ever you like, Google/Search XDA forum for which .XML to amend.
- Use this color code checker site for getting your desire color code.
- After done, don't forget, you must compile back the .xml before it is understandable by Android OS.
- Screenshot below showing modifying the sub text .xml to ICS blue color.
Change all
Code:
from android:color="#ffffffff to android:color="#ff3f9bbf
Zipalign the .apk
Why this step is required:
Step:
Why this step is required:
- You need to align the .apk to let the Android phone run the modified .apk perform much smoother and better, if you have more not align .apk file in your phone, it will eventually drag down your entire phone performance.
- This step is not necessary but recommended.
Step:
- Open command prompt at your Android-SDK Tools folder
- Type following command and runCode:
zipalign -fv 4 [filename.apk] [filename-new.apk] Example: zipalign -fv 4 framework-res.apk framework-res-new.apk
- A new Zipalign .apk will be generate as seen below, highlight in blue.
- Zipalign in batch, save following code in .bat and put in your folder that contains .apk file. It will batch running zipalign all .apk inside, this guide I found from user Grumpy Old Man post at RootWiki. Thanks for this easier method.
Code:
@echo off REM Batch file to recursively zip align *.apk files in a directory REM and its sub-directories. This is significantly easier and faster REM than manually zip aligning them. @echo Zip aligning now... for /R %%X in (*.apk) do zipalign 4 "%%X" "%%~dpX%%~nX.new" @echo Replacing non-aligned files with zip aligned files... for /R %%X in (*.new) do move /Y "%%X" "%%~dpX%%~nX.apk" @echo Zip aligning done, press any key to exit pause
Final Step
OK, done everything? now you need to put back to your phone with 2 method
Using CWM
Using Root Explorer
OK, done everything? now you need to put back to your phone with 2 method
- Flash via CWM - highly recommended
- Root Explorer - not recommended as it may not properly change for Statusbar theming.
Using CWM
- Make a flash-able .zip to flash at CWM
- Not sure how to do, let use a easier way, take any flash-able .zip, use 7-zip and choose open archive as seen below:
- Now just drag and drop all your modified .apk inside the .zip file, choose YES when ask "Confirm File Copy" as seen below:
- Copy the modified .zip to your root SDCARD and restart to CWM and install. Done!
Using Root Explorer
- Temporary copy your modified .apk to your /system/csc
- Right click choose permission and set as below:
- Move your current .apk to correct directory /system/app
- Done! This method is not recommended for framework-res.apk & systemUI.apk, better way still flashing via CWM.
is the only way to modify and edit apk files?
yup... is the basic theming