[TUTORIAL] How to easily THEMES .apk (for DEODEXED ROM only)

Search This thread

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
After few days surfing, asking & testing. I decide to make a easily tutorial for theming in Windows, I think as long you know to use computer, they is nothing much difficult to theming/modifying the .apk yourself.

My 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.
I also like to take this opportunity to THANKS the following user help, without them, all this is not possible. :)
  • ronhoover88
  • superatmos
  • tarunagg
  • Vertumus
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
De-compile & Compile of .apk

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.
Step:
  • Install JRE (Java Runtime Environment) & Android-SDK.
  • Download the apktool & also apktool-install-windows, extract the file and put inside your Windows Folder.
    6929778618_c891306489_b_d.jpg
  • 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:
    [B]apktool if [location of .apk][/B]
    
    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 .apk
    Code:
    [B]apktool d [filename.apk] [directory][/B]
    
    Example: apktool d D:\framework-res.apk D:\De-compile
  • If sucess, you will seen the following line in your CMD.
    6929730534_bd3fb5c176_b_d.jpg
  • The De-compile folder will be generate as seen below.
    7075808517_f9c2e74faa_d.jpg
  • Now you can amend whatever you like to amend, after done, proceed to following step.
  • Compile back:
    Code:
    [B]apktool b [directory][/B]
    
    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.
    7075821831_59c9950dc4_b_d.jpg
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
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:
    7075841387_d143991913_b_d.jpg
  • 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.)
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
Modifying tricky .9.png file.

  • 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.
    6929932892_b26cba2dc3_d.jpg
    6929932912_fd3e348153_d.jpg
  • Just amend without touching those area, save it and then put back to correct folder and compile back.
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
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.
    7075904187_a480aae051_b_d.jpg
  • After de-compile, now the .xml is readable and understand by human.
    7077344611_d127492c2d_b_d.jpg
  • 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.
    6928674204_ab34f945bb_z_d.jpg


    Change all
    Code:
    from android:color="#ffffffff to [B]android:color="#ff3f9bbf[/B]
    at zzz_tw_secondary_text_sub.xml
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
Zipalign the .apk

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 run
    Code:
    [B]zipalign -fv 4 [filename.apk] [filename-new.apk][/B]
    
    Example: zipalign -fv 4 framework-res.apk framework-res-new.apk
  • A new Zipalign .apk will be generate as seen below, highlight in blue.
    7075866863_9ec79e0147_z_d.jpg

  • 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
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
Final Step

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:
    7075942763_c4ef55fdc8_d.jpg
  • Now just drag and drop all your modified .apk inside the .zip file, choose YES when ask "Confirm File Copy" as seen below:
    7075946125_c5ff07bf04_z_d.jpg
  • 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:
    6910635966_ae50c32749_z_d.jpg
  • 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.

ENJOY HAPPY THEMES! ;)
 
Last edited:

Andrewtst

Senior Member
Aug 4, 2009
4,840
1,792
Johor
My Achievement ;)

Below is what you can get after themes. Enjoy!

6927206160_8a121cd12c_z_d.jpg
6928674204_ab34f945bb_z_d.jpg




-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FROM BELOW, NOT RELATED TO S II - i9100G

CENTER CLOCK for SONY XPERIA Z phone.
De-compile the SystemUI.apk, then change some code at status_bar.xml in /res/layout

Step 1 - Find
Code:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" 

android:gravity="left|center" android:id="@id/clock" android:paddingLeft="6.0dip" 

android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

Step 2 - Replace Step 1 code with
Code:
<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:layout_width="fill_parent" 

android:layout_height="fill_parent" android:gravity="center_horizontal|center" 

android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:singleLine="true" />

Step 3 - Then search for
Code:
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

and now cut Step 2 code and paste in bottom Step 3 code.

Step 4 - Lastly find
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/ticker"
and past following code beside it.
Code:
android:background="@drawable/status_bar_background"

Save the edited status_bar.xml

Sony Xperia Z Center Clock Screenshot.
8662266974_c4f4ac9ed2_z_d.jpg
 
Last edited:

fauzi_91

Senior Member
Nov 11, 2011
763
214
33
B.B.Bangi
Very nice tutorial!i'm too lazy to type/make a tutorial..lol its good for sharing the idea..:D:thumbup:

Sent from my GT-I9100G using Tapatalk 2
 
  • Like
Reactions: Andrewtst

fauzi_91

Senior Member
Nov 11, 2011
763
214
33
B.B.Bangi
Mybe u can add a lil bit intro/tutor about uot kithen too if u want..can introduce to people out there who never used it b4..they also can get so many icons in there..:D

Sent from my GT-I9100G using Tapatalk 2
 

fauzi_91

Senior Member
Nov 11, 2011
763
214
33
B.B.Bangi
Oh, I never try before that, wait I try first, before I can add-in. :)

Uot kitchen is the easier way to make a theme as long as we know how to use it..there are a lot of option there..n we juz need to upload the systemui.apk n framework-res.apk..but for contact,phone etc will remain stock..that one we can use ur tutor to modify..:D

Sent from my GT-I9100G using Tapatalk 2
 
  • Like
Reactions: Andrewtst

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    After few days surfing, asking & testing. I decide to make a easily tutorial for theming in Windows, I think as long you know to use computer, they is nothing much difficult to theming/modifying the .apk yourself.

    My 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.
    I also like to take this opportunity to THANKS the following user help, without them, all this is not possible. :)
    • ronhoover88
    • superatmos
    • tarunagg
    • Vertumus
    10
    My Achievement ;)

    Below is what you can get after themes. Enjoy!

    6927206160_8a121cd12c_z_d.jpg
    6928674204_ab34f945bb_z_d.jpg




    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    FROM BELOW, NOT RELATED TO S II - i9100G

    CENTER CLOCK for SONY XPERIA Z phone.
    De-compile the SystemUI.apk, then change some code at status_bar.xml in /res/layout

    Step 1 - Find
    Code:
    <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" 
    
    android:gravity="left|center" android:id="@id/clock" android:paddingLeft="6.0dip" 
    
    android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

    Step 2 - Replace Step 1 code with
    Code:
    <com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:layout_width="fill_parent" 
    
    android:layout_height="fill_parent" android:gravity="center_horizontal|center" 
    
    android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:singleLine="true" />

    Step 3 - Then search for
    Code:
    xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

    and now cut Step 2 code and paste in bottom Step 3 code.

    Step 4 - Lastly find
    Code:
    <LinearLayout android:orientation="horizontal" android:id="@id/ticker"
    and past following code beside it.
    Code:
    android:background="@drawable/status_bar_background"

    Save the edited status_bar.xml

    Sony Xperia Z Center Clock Screenshot.
    8662266974_c4f4ac9ed2_z_d.jpg
    8
    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.
      7075904187_a480aae051_b_d.jpg
    • After de-compile, now the .xml is readable and understand by human.
      7077344611_d127492c2d_b_d.jpg
    • 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.
      6928674204_ab34f945bb_z_d.jpg


      Change all
      Code:
      from android:color="#ffffffff to [B]android:color="#ff3f9bbf[/B]
      at zzz_tw_secondary_text_sub.xml
    7
    De-compile & Compile of .apk

    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.
    Step:
    • Install JRE (Java Runtime Environment) & Android-SDK.
    • Download the apktool & also apktool-install-windows, extract the file and put inside your Windows Folder.
      6929778618_c891306489_b_d.jpg
    • 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:
      [B]apktool if [location of .apk][/B]
      
      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 .apk
      Code:
      [B]apktool d [filename.apk] [directory][/B]
      
      Example: apktool d D:\framework-res.apk D:\De-compile
    • If sucess, you will seen the following line in your CMD.
      6929730534_bd3fb5c176_b_d.jpg
    • The De-compile folder will be generate as seen below.
      7075808517_f9c2e74faa_d.jpg
    • Now you can amend whatever you like to amend, after done, proceed to following step.
    • Compile back:
      Code:
      [B]apktool b [directory][/B]
      
      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.
      7075821831_59c9950dc4_b_d.jpg
    7
    Modifying tricky .9.png file.

    • 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.
      6929932892_b26cba2dc3_d.jpg
      6929932912_fd3e348153_d.jpg
    • Just amend without touching those area, save it and then put back to correct folder and compile back.