[GUIDE] Deodex any app on android N with phone - Nexus 6P Themes and Apps

This guide we will use systemui as an example for deodexing.
Download androblacks apktool below. Install.
Open apk and update it when prompted. go into settings. Make sure you tick "root" option at the bottom. Close the app.
Use any root file browser and create a folder on SD card called "apktool."
Go into system/privapp and copy over systemUI.apk and systemui.odex into apktool folder on SD card. Go back to system/framework and Copy over framework-res.apk to apktool folder on SD card.
Open apktool app and click on internal storage. Select apktool folder. Click on framework-res and in select install as framework. When its done select systemui.apk and also install as framework.
Once completed click on systemui.odex and select decompile for android N. When finished long press on the decompiled odex folder and select recompile. It will create a systemui.dex file. Click on the systemui.dex file and select "add to apk" option. The dex file will now be added to the original systemui.apk. to make sure it worked click on the apk file in your root browser and select view, inside you will see a classes.dex file. Use apktool to now decompile the original systemui.apk and you will now have a decompiled smali folder.
I used this method to deodex my systemui in order to make the necessary mods for 3minit battery mod.
Link to andro Black's apktool:
https://www.androidfilehost.com/?fid=817550096634742560

Hi thanks for sharing this. It seems really cool but when would this be needed? Is this supposed to be for odexed roms and what does deodexing really do anyway? Or is this just because it's possible. Thanks

Odexed applications cannot be decompiled and edited to the same level that a deodexed application can. I'm not going to go into the detailed differences between odex/deodex, a simple google search will clear that up. Odex apks are bifurcated, with odex file containing optimized code readily available for the system to use.
Anyone wishing to modify an apk, especially theming, will need to deal with deodexed files, no odex.

Pain-N-Panic said:
Odexed applications cannot be decompiled and edited to the same level that a deodexed application can. I'm not going to go into the detailed differences between odex/deodex, a simple google search will clear that up. Odex apks are bifurcated, with odex file containing optimized code readily available for the system to use.
Anyone wishing to modify an apk, especially theming, will need to deal with deodexed files, no odex.
Click to expand...
Click to collapse
Oh okay that makes sense whenever I've modified apks they've been deodexed but I've never really looked at odexed files as I'm always on a custom ROM. Thanks

Sorry for noobish questions. When finished do you recompile the SystemUi_src? Also if doing other apps do you need to install each apk as framework? The system/framework only gets done once, but if moving on to others do I need to delete the other apk that was installed as framework?

Delete

Related

[REQ] Captivate Stock AT&T Theme

I would like to flash a new ROM but i like the stock captivate theme the best.
is there any update.zip packages of the default theme floating around? i want to wait until i know i can do it before i flash. Also, is there any way to "rip" the theme from my ROM? because then i can just do that
I posted a request for this a few weeks back and got really no help.... What I did was unzip the framework.apk's from the theme I wanted and from the JH7_OTA that's floating around here somewhere and compared the images in the drawbale-hdpi folder. I think there are some files in tw-framework.apk that need to be changed if you want to change the pull down menu.
Hope this helps
The themes are mostly inside framework-res.apk, which is very ROM-specific. You can't just install them randomly inside one another.
If you'd like to port a theme, you can either replace the image files using 7-zip, WinRAR, etc. or decompile the .apk using APK Manager for more extensive changes (things like battery mods, etc.).
MikeyMike01 said:
The themes are mostly inside framework-res.apk, which is very ROM-specific. You can't just install them randomly inside one another.
If you'd like to port a theme, you can either replace the image files using 7-zip, WinRAR, etc. or decompile the .apk using APK Manager for more extensive changes (things like battery mods, etc.).
Click to expand...
Click to collapse
what he said ^^^^
but as a beginner's guide, you will need to pull your FRAMEWORK-RES.APK and TWFRAMEWORK-RES.APK from /system/framework folder
For this, you will need to use either ADB or an app like ASTRO or ROOTEXPLORER
when you copy these two apk's to your computer, you will need to open it up (NOT extract it) and simply replace the images inside with those from a stock FRAMEWORK-RES.APK & TWFRAMEWORK-RES.APK
The images you want to change are going to be in res/drawable-hdpi folder
Don't just replace everything, you will need to see which one's are different.. if there is something you want to change and don't know what .png file it is, just post it back up here and I will help you out

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.

Mods please delete this thread. Thank you.

Mods please delete this thread. Thank you.
Looks awesome, would be great if there were a Mac/Unix/Linux version.
Actually this doesn't look too hard, I might be able to help you code this for Mac
pianoplayer said:
Actually this doesn't look too hard, I might be able to help you code this for Mac
Click to expand...
Click to collapse
Linux too please...
Yea thats fine. I'd probably be able to port it to linux but I don't know anything about Mac
wildstang83 said:
Place your com.htc.resources.apk and framework-res.apk into the apktool folder and run the program INSTALL MY FRAMEWORK. You will notice a new folder called framework appear in the apktool folder. Dont ever delete this folder unless you need to install a different set of framework files. The program will automatically delete com.htc.resources.apk and framework-res.apk from the apktool folder for you after install.
Click to expand...
Click to collapse
What I do is:
1. Install a framework with apktool
2. Create a blank text file in the framework folder with a label for the framework (i.e. e3d, inc2, etc)
3. When I need to use a new framework, I change the directory's name from "framework" to "_<tag>_framework" (where <tag> is what the blank text file in the directory says; ex. "_e3d_framework")
4. Install the new framework, and repeat. Rename as needed.
wdfowty said:
What I do is:
1. Install a framework with apktool
2. Create a blank text file in the framework folder with a label for the framework (i.e. e3d, inc2, etc)
3. When I need to use a new framework, I change the directory's name from "framework" to "_<tag>_framework" (where <tag> is what the blank text file in the directory says; ex. "_e3d_framework")
4. Install the new framework, and repeat. Rename as needed.
Click to expand...
Click to collapse
Thanks WD, figured for now this was just simple enough to get people started with apktool atleast so they know how easy it is once you get started. I do plan on adding in a tags option later. I understand some people like myself need to be pulling from this Rom and putting in that Rom and everything else. It could get confusing for someone not paying attention.

[INFO]Editing system files (smali,dex,apks)

NOTE: If you want to edit framework-res.apk or systemui.apk, follow this guide, it's the best available:good:
http://forum.xda-developers.com/showthread.php?t=2086771
Now, lets start
smali, dex....whaaat?
It's simple our odexed ROMs have .apk which use .odex files which contain cache. When the ROM is deodexed the .apk contains classes.dex which now contains information present in the .odex files!:good:
Smali is nothing but disassembled .dex file! The .dex file is disassembled into java code which can be edited via Notepad ++( simple notepad works too)
WHY?
Why do you need to edit classes.dex !
For me, i was trying to make CRT on/off animation which required editing classes.dex in service.jar!
More edits where classes.dex inside services.jar is needed
- Changing status bar clock color
- Changing text color in notification bar
- More? Tell Me!:highfive:
HOW?
Requirements: Java SDK!
I have APK Multi Tool, although it decompiles .apk and .dex files inside the apk, it doesn't provide option to decompile a separate classes.dex!
Still it's best software for decompiling apks and more!
Smali-Me 1.0
Download and Instructions:
http://www.wrapcode.com/android/baksmali-smali-dex-files/
ROM Tools by iamareebjamal - More noob friendly
http://forum.xda-developers.com/showthread.php?t=2163286
Once you have decompiled classes.dex, you'll get various folder with various files. Edit the files required and then recompile!
So after generating new classes.dex, put it back to services.jar by opening the file in winzip!:good:
ONE MORE THING
Make your own flashable zip
The recompiled systemui.apk or framework-res.apk, when pushed via root explorer give lot of force closes. This is normal, however if u wish to avoid it u can create a cwm flashable zip for the same!:good:
I'm attaching the sample.zip here and u can add your files in the specified folders. For more details read the source forum:
http://forum.xda-developers.com/showthread.php?t=1721680
Reserved- for more stuff!
Subscribed.. will see what it is later
Hey, add this to your guide, i far more easier and nice to look at too than smali me
http://forum.xda-developers.com/showthread.php?p=40435351#post40435351

[HOW-TO] Theme TouchWiz to be AOSP!

How To Theme TouchWiz Based ROM to look like AOSP!!​
Ok guys I decided to share my theming method with you guys. This is mainly intended for all developers and or ROM developers!
If you have TouchWiz based ROM (Some devices below) you can theme it to have an AOSP feel to it.
Devices:
Galaxy SII
Galaxy SIII
Galaxy Note
Galaxy Note II (Tested by Me )
Some others as well...
Whats Needed:​*APKTool DOWNLOAD HERE
*JAVA DOWNLAOD HERE
*7-ZIP DOWNLOAD HERE
*TouchWiz Base ROM
*SystemUI.apk (in system/app) **FROM TOUCHWIZ ROM**
*SystemUI.apk (in system/app) **FROM AOSP or CM10 ROM**
*Framework-res.apk and TWFramework-res.apk (in system/framework) **FROM TOUCHWIZ ROM**
*Zipalign tool
*Root Explorer App (Get from Google Play Store)
*Holo Launcher (Also get from Google Play Store)​
Lets Get Started:​Follow all of the steps below carefully and you should have an AOSP Themed TouchWiz ROM in no time ​
1. Download the Holo Launcher from the Google Play Store.
(When you run the launcher you will see that you will have an AOSP themed launcher and you will have AOSP system icons [messaging, phone, settings, ect..])
2. You need to install APKTool next. (If you already have this installed then skip this step)
*Download the APKtool files (link above)
*Put the files into your C drive. Make a folder in the root of your C drive called apktool.
*All of your files should go inside that folder (apktool)
*Go to CMD or Command Prompt and type in
Code:
cd C:\apktool
*That should redirect you to the apktool. If it worked then lets move on...
3. Get the framework-res.apk and TWFramework-res.apk (in system/framework) and place it in the apktool folder.
4. In the Command Prompt you will need to direct CMD to the APKtool folder. Then you must install the framework files by doing:
Code:
apktool if framework-res.apk
and
Code:
apktool if twframework-res.apk
Now your framework files are successfully installed. If you have an error in the CMD window then you must check your JAVA.
5. Now get your systemui.apk files from both AOSP (CM10) and TouchWiz ROM. Rename the AOSP systemui.apk to systemuiaosp.apk (so you dont get the touchwiz and aosp systemui's mixed up)
6. Make a backup of the TouchWiz systemui.apk in another folder called "Backup" ****YOU WILL NEED THIS LATER*****
7. Now you should have both systemuiaosp.apk and systemui.apk in the apktool folder. Now you must decompile both files by using these commands:
Code:
apktool d systemuiaosp.apk
and
Code:
aptkool d systemui.apk
You should have 2 more folders (systemuiaosp and systemui).
8. Here comes the actual theming of the systemui. Open both systemuiaosp and systemui folders side-by-side. And now you need to navigate to the drawable-xhdpi folder in both.
***FOLLOW THESE NEXT STEPS CAREFULLY OR YOU WILL HAVE AN ERROR***
9. Find the files you want to replace. They should all be PNG files. DO NOT JUST ADD PNG FILES FROM THE SYSTEMUIAOSP TO THE SYSTEMUI. YOU WILL GET ERRORS WHEN COMPILING THE FILE!! There are XML files (we will not edit in this tutorial) that use those PNG files with those extension names. So you can't just add files from one to another. For example:
If you have an icon you want to change but its only for that AOSP then it wont run on the TouchWiz. If you have a WiFi icon that has a name of AOSP_Wifi_1 and on the other systemui it says TOUCHWIZ_Wifi_1 you cant just delete the one that says TouchWIZ_WIFI_1 and replace it with the AOSP one. The XML files dont tell it to run the AOSP_WIFI_1. So you must ONLY REPLACE FILES WITH SAME EXTENSION NAME!!
10. You can go ahead and transfer files from the SystemuiAOSP to the systemui. Note what i said above!! If you have lets say 6 wifi icons for systemuiAOSP and 6 icons for systemui (touchwiz) you can rename the AOSP PNG files to match the TouchWiz ones so the XML files will know what to run.
I personally suggest only transferring Wifi Icons, Battery Icons, and Signal Icons. These are your most important ones to transfer! You can also transfer the Bluetooth and Airplane mode icons also.
11. After you have transfered the files over and you feel like you have done it correctly then you can go ahead and Compile the SystemUI folder by using this code:
Code:
apktool b systemui semidone.apk
12. If you did all the steps correctly above then apktool will build the apk file with no issues. If you have errors then you did not pay attention carefully. (You may want to try another CM10 ROM to get icons from).
13. Now here is where 7-Zip and your backup file comes into play. Open 7-Zip twice (2 windows). In the first window direct 7-zip to the semidone.apk file. And the second one to your backup file which should be SystemUI.apk (in the backup folder).
14. In the SystemUI.apk click on the RES folder and then find the Drawable-xhdpi folder. Delete the entire Drawable-xhdpi folder. Now in the other window (semidone.apk) go to RES and then transfer the entire Drawable-xhdpi folder into the SystemUI.apk window.
15. Now your SystemUI.apk in the Backup folder is your new modded one. But before you can use it you must zipalign it using any zipalign tools out there. I just use DSIxda's kitchen to do it since I make ROMs with it.
16. Now you can go ahead and transfer the SystemUI.apk onto your phone's SD card.
17. Download Root Explorer. Now go ahead and navigate to your SD card and click the SystemUI.apk file and then click copy or move. (whichever one you like).
18. Now navigate to your system/app folder and paste and overwrite the original one. (You will need to set root explorer to Read/Write). Now you can go ahead and reboot your device.
If you did everything correctly you should now have a themed launcher and a themed status bar with AOSP Icons!​
I don't ask for donations so if this tutorial helped you then please hit that Thanks button!​
MINE
Mine AGAIN
I was just looking for a thread like this... not sure if i have enough time and will to do it but i am very glad you post it!
thanks a lot!!!
ExcaliberX said:
I was just looking for a thread like this... not sure if i have enough time and will to do it but i am very glad you post it!
thanks a lot!!!
Click to expand...
Click to collapse
Your welcome. I hope it works for you!
So are there any screenshots showing exactly what changed? I'd like most of the UI to have an AOSP feel to it not just some parts. Does this theme all or just bits and pieces?
Shmi117 said:
So are there any screenshots showing exactly what changed? I'd like most of the UI to have an AOSP feel to it not just some parts. Does this theme all or just bits and pieces?
Click to expand...
Click to collapse
Well as said above it themes the launcher (holo) and the status bar icons are aosp.
thanks I was hoping to see where you find the blue background bars in the S2 in the settings menu SecSettings.apk or trframework or framework or systemUI I have looked everywhere and changed colors of .9pngs forever and it never phased them. obviously I never found the right one to change. would you happen to know and could you post here or pm me thanks. have a decent ROm that doesnt really need blue gray bars dominating the screen.

Categories

Resources