[APK][Xposed] ResXploit : Theming your android the easiest way! No decompiling APKs! - Xposed Framework Modules

This would be my second public-released xposed module...
(A duplicate thread is also posted in the Android Themes Section, so user who are only interested in themes can also see this)
I did not expect that my WisdomSky Xploit would be a big hit.
I'm just an Amateur developer who just started delving into android development 3months ago and I didn't expect that much appreciation from my work... XD
But all of these would not be made possible if not because of sir @rovo89 and sir @Tungstwenty and their Xposed Framework, right? That's why I thank them a lot...
REQUIREMENTS
Xposed framework must be pre-installed before installing this.
What does the ResXploit do?
ResXploit has two parts:
the Removable part, terminal
and the main star, engine
The terminal is where you enter the commands(I'll discuss it later). These commands will then be interpreted by the engine and then passed to Xposed framework...
Flow:
TERMINAL >> ENGINE >> XPOSED FRAMEWORK
I have provided a variety of modules:
ResXploit (Terminal + Engine) (RECOMMENDED FOR NEWBIES)
ResXploit Terminal (Terminal Only)(DEPRECATED)
ResXploit Engine (Engine Only)
You might be wondering why I made one which has both terminal and engine... and other two which are separated...
ROM Chefs, Themers and some others would understand directly why...
All the commands are interpreted by the Engine right? so that would mean that once you have entered all the desired commands, the terminal will now end up as useless... so you will just delete so no one can touch the engine...
If you are a ROM Chef or a themer, you can theme all the apps you need to theme using ResXploit and then remove the terminal, so end-user interaction of the engine is prevented after you have released your ROMs to the world.
FOR NEWBIES!
I recommend you to use the ResXploit (Terminal + Engine)...
It is very smart..
I included 99% accurate error-checking system,
line numbering system,
and also Xposed module prioritization(which is first implemented on ResXploit for better module performance).
COMMANDS
We have four basic commands in the ResXploit, the apk, drawable, string, and boolean.
apk - A prerequisite command. This command is very vital whenever you using the ResXploit. This will define the target application by using the package name of the target application. You need to include this before you enter any command or else your command will not know which application is targeted and end up in lost island.
Code:
[B]format[/B]: [I]apk <package name>[/I]
[B]example[/B]: apk com.android.systemui
drawable(also drw) - The most often used command. The command which will change icons/images (png drawables) of an application. You can either overlay the existing image with your favorite color or completely replaced it with a .png image from your sdcard.
Code:
[B]format1[/B]: [I]drawable <target application's drawable name> <image path, no need to include /sdcard> <transparency, 0 to 255>[/I]
[B]example1[/B]: drawable status_bar_background bg.png 255
[B]format2[/B]: [I]drawable <target application's drawable name> <HEX RGB color code> <transparency, 0 to 255>[/I]
[B]example2[/B]: drawable status_bar_background #fff00ff 255
string(also str) - This command will change string(text) values of the application. The predefined string values are usually located in res/values/strings.xml of an application, but I guess they are not visible when you view the contents of an application using Archive managers like RootExplorer. But there is a way to identify them. I will include it later.
Code:
[B]format[/B]: [I]string <target application's string value holder name> <replacement string>[/I]
[B]example[/B]: string app_name My App
boolean(also bln) - This command will change boolean values of the application. The predefined boolean values are usually located in res/values/bools.xml of an application, but I guess they are not visible when you view the contents of an application using Archive managers like RootExplorer as well.
Code:
[B]format[/B]: [I]boolean <target application's boolean value holder name> <replacement boolean value, either [B]true[/B] or [B]false[/B] only>[/I]
[B]example[/B]: boolean allowNumberNotifications true
Some simple examples screenshots:
drawable and string commands in action
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ResXploit UI screenshots:
If you find my ResXploit module interesting,
Please hit THANKS!!! XD:angel:
UPDATES & CHANGELOGS:
ResXploit Engine 1.0.8 - added support to framework-res(android).(latest)
ResXploit 1.0.8 - updated engine(1.0.8).(latest)
NOTICE: ResXploit is now an abandonware.
My flash drive where I stored the sources of my android projects was corrupted unexpectedly.
And also, my phone was broken. I have no device to use to re-write everything from scratch... Sorry...

Tutorial and samples
System Apps Package Names:
SystemUI - com.android.systemui
Settings - com.android.settings
Mms - com.android.mms
Contacts - com.android.contacts
Launcher - com.android.launcher
Gallery - com.android.gallery3d
File Explorer - com.android.qrdfileexplorer
Framework-res - android
Tip: If you want to find the package name of a specific application(not on the list), you can open Root Explorer(download it from googleplay) and then browse the apk you want to check, open it and choose "view". You can find AndroidMaifest.xml file inside. Open it then find the package="xxxxxxxxxxx". The words or group of words inside the quotations separated by a period is the package name of that application.
Note: ResXploit is far safer(in terms of error awareness) to use than the ResXploit terminal. If possible, only use ResXploit. In the simple tutorials below, please expect that I'm referring to ResXploit only.
Changing Statusbar background color
let's say color red...
Code:
#!/
apk com.android.systemui
drawable status_bar_background #ff0000 255
Changing Notifications Panel background color into transparent
Code:
#!/
apk com.android.systemui
drawable notification_panel_bg #000000 0
Changing Notifications Panel background with an image from sdcard
let's say that the png image is located in /sdcard/my_img.png
Code:
#!/
apk com.android.systemui
drawable notification_panel_bg my_img.png 255
You might be wondering where i'd get the target application's drawable filename?
Actually, you can just open the root explorer and view the files inside the apk of the target application. under the /res directory(folder), you can find a variety of subdirectories prefixed with [drawable, like drawable-hdpi,drawable-mdpi and so on... Basically, all images inside those folders are under the scope of drawable command in Resxploit. And if you want to target a certain image in the drawable folders, you just need to get the file name without the .png or .9.png. That's it!
Adding "comments"...
Comments in programming are human-readable additional information. If you want to put notes somewhere in your script, you can put "#" before your statement. When the terminal find a "#" before a statement, the terminal will ignore it and skip it. However if you will enter a non-command information and is not started withcl a "#", the terminal will ofcourse read it as command and then throws an error message.
Code:
#!/
# my comment. my comment. my comment
apk com.android.systemui
drawable status_bar_background #ff0000 255
# the terminal will skip the command below
# because it started with a "#"
#drawable oh_no #ff00ff 255
Defining working directory path of your images
If you want to start theming and you already have the images you want to use stored inside a single folder, then you can tell the terminal where these images are located so you don't need to enter the path redundantly.
You can define it on the very first line of ResXploit, after the "#!/" you can add the folder name or path to the folder.
let's say we have our images put in a folder in sdcard named my_images or /sdcard/my_images, then you can define it like this.
Code:
#!/my_images
#we can start theming now
drawable hello some_image.png 255
drawable world next_image.png 255

great work dude...noypi are very smart of course,,

Very interesting. I've been interested in theming for a while now but haven't gotten my feet wet. I'll be waiting for your tutorials. Great work mate!
Sent from my Galaxy Nexus

Nice! I love to see Pinoys In-Action with the XDA community!
Will wait for the tutorial of yours repa!
@greedisgood99999 Please stop that bad-habit of quoting... It's quite irritating tropa...

Wait for the tutorial
Sent from my Xperia Mini Pro

So ... a scriptable general purpose module. This is a phenomenal idea. OK still requires digging into the apk but a whole lot easier than building a new module from scratch.
Mission: Get rid of Armv7 calls the FC apps on my old clunker (also need help buying a new phone--if I had it, would have reserved the edge already!). Google Now first tries to init the "off line" voice recognition engine. Minimum, want to simply disable this call. I use overlays to prevent other such calls. Maximal, to replace with the old "on line" voice recognition engine.
Capability in this yet?
Among the booleans?
what say you

Dovidhalevi said:
So ... a scriptable general purpose module. This is a phenomenal idea. OK still requires digging into the apk but a whole lot easier than building a new module from scratch.
Mission: Get rid of Armv7 calls the FC apps on my old clunker (also need help buying a new phone--if I had it, would have reserved the edge already!). Google Now first tries to init the "off line" voice recognition engine. Minimum, want to simply disable this call. I use overlays to prevent other such calls. Maximal, to replace with the old "on line" voice recognition engine.
Capability in this yet?
Among the booleans?
what say you
Click to expand...
Click to collapse
i don'think so... because ResXploit's scope is only the res or resource directory of the apk structure...
if a boolean value is defined in the res/values/bools.xml that will actually toggle controls then it would be great... but i think, in your case it is deeply hard-coded to work like that...

Framework.res?
Can you theme the framework.res using this?
package name is only 'android' no com. or anything..
EDIT: Tried and it seems to go through ok, but nothing seems to change. Rebooted several times, changed an image in my keyboard, checked it was ticked in Xposed framework, setup a folder in my internal storage, checked superuser granted access, pressed high priority in settings. Don't know
Here's a debug log (uploading tomorrow, pc occupied)

Will this work for non system apps? The unlock button on the PowerAmp lock screen drives me insane because it's the only thing I can't change and I absolutely hate green.

Metallijim said:
Can you theme the framework.res using this?
package name is only 'android' no com. or anything..
EDIT: Tried and it seems to go through ok, but nothing seems to change. Rebooted several times, changed an image in my keyboard, checked it was ticked in Xposed framework, setup a folder in my internal storage, checked superuser granted access, pressed high priority in settings. Don't know
Here's a debug log (uploading tomorrow, pc occupied)
Click to expand...
Click to collapse
I'm so sorry for that...
in exposed, framework-res(android) uses different method...
so i forgot to implement it fo support the framework-res...
thanks for your feed back. I'll add it up and upload it later...
Rokonacdc said:
Will this work for non system apps? The unlock button on the PowerAmp lock screen drives me insane because it's the only thing I can't change and I absolutely hate green.
Click to expand...
Click to collapse
Ofcourse! it will work with non-system apps too... XD

This looks very promising, thank you for your work!!

here's a Debug
Here's my Debug log
Xperia Z 4.2.2, Images in internal storage, Xposed priority set low, all other xposed modules that I have installed disabled

Metallijim said:
Here's my Debug log
Xperia Z 4.2.2, Images in internal storage, Xposed priority set low, all other xposed modules that I have installed disabled
Click to expand...
Click to collapse
sir l've already added support for framework-res, please check the changelogs for the download link...

Interesting, sounds like a concept similar to Ninjamorph.
A couple of quick questions:
Is this able to apply folders or just single png's?
Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
:good:

dully79 said:
Interesting, sounds like a concept similar to Ninjamorph.
A couple of quick questions:
Is this able to apply folders or just single png's?
Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
:good:
Click to expand...
Click to collapse
Unlike ninja morph, in resxploit, there is no permanent replacing of resources happened... which means you can deactivate, share, edit easily anytime....
Q: Is this able to apply folders or just single png's?
A: only single pngs... 1 drawable command = 1 png... but there is no limitation on how how many commands you can add
Q: Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
A: As what I've added on the title, "No decompiling APKs"... it means, no decompiling or extracting is involved in the process as what Xposed Framework aimed. You just need to put the image to replace inside your sdcard and just add a command to tell the engine "to replace that with this"... there is no permanent replacing of resources happened here... the image is just move into the /data partition and will be just overlapped to the target resource so there will be an impression of replacing of resources

I didnt mean does it decompile/extract full apks. I meant can you pull an resource/image out of the apk to apply.
I know it overlays instead of permanently overwriting the original resource, similar to Icon themer and XTheme engine.
Ninjamorph/ Metamorph unzips apks into folders so you can navigate through them and choose what you want to apply.
Example:
Choose target resource/image to change.
Choose apk to pull resource/image from.
Navigate and choose resource/image (extract if applicable) to apply.
This would be good if it also done the same. Although you could just unzip with an on board app like Zarchiver.
Basically it would make it a new and improved Ninjamorph/ Metamorph (dont tell Stericson i said that)
No offense, but looking at it from newbies point of view, it seems like a bit of a drawn out process if you were wanting to change numerous items.
I know it's early days and I'm sure this would be greatly improved with a GUI, if you decide to add one.
Personally speaking, i think this has massive potential and could be something very special. I applaud you, i wish i had your talent.#
Thanks.

I tried clicking on the changelog link, it gave an error "Invalid Attachment specified. This can happen for a variety of reasons-- most likely because the thread or post you are trying to view has been moved or deleted. Please return to the forum home and browse for another similiar post."
Not sure if its the file attached to the post that is the updated one or if the actual update got deleted. Please help me here

phanitej said:
I tried clicking on the changelog link, it gave an error "Invalid Attachment specified. This can happen for a variety of reasons-- most likely because the thread or post you are trying to view has been moved or deleted. Please return to the forum home and browse for another similiar post."
Not sure if its the file attached to the post that is the updated one or if the actual update got deleted. Please help me here
Click to expand...
Click to collapse
Oh sorry for that.. ill just upload it to a third party site and add the link...
thnx for reminding...
dully79 said:
I didnt mean does it decompile/extract full apks. I meant can you pull an resource/image out of the apk to apply.
I know it overlays instead of permanently overwriting the original resource, similar to Icon themer and XTheme engine.
Ninjamorph/ Metamorph unzips apks into folders so you can navigate through them and choose what you want to apply.
Example:
Choose target resource/image to change.
Choose apk to pull resource/image from.
Navigate and choose resource/image (extract if applicable) to apply.
This would be good if it also done the same. Although you could just unzip with an on board app like Zarchiver.
Basically it would make it a new and improved Ninjamorph/ Metamorph (dont tell Stericson i said that)
No offense, but looking at it from newbies point of view, it seems like a bit of a drawn out process if you were wanting to change numerous items.
I know it's early days and I'm sure this would be greatly improved with a GUI, if you decide to add one.
Personally speaking, i think this has massive potential and could be something very special. I applaud you, i wish i had your talent.#
Thanks.
Click to expand...
Click to collapse
thanks for the appreciation and to your suggestions...someone did suggest to me to add GUI...
I'm still a newbie in terms of androld... there's so much to learn first before I can fully implement whats on my mind...
My phone is also not that good for development... its so slow... XD
but if everything turns out good... then maybe I should reconsider...XD

WisdomSky said:
Oh sorry for that.. ill just upload it to a third party site and add the link...
thnx for reminding...
thanks for the appreciation and to your suggestions...someone did suggest to me to add GUI...
I'm still a newbie in terms of androld... there's so much to learn first before I can fully implement whats on my mind...
My phone is also not that good for development... its so slow... XD
but if everything turns out good... then maybe I should reconsider...XD
Click to expand...
Click to collapse
Which phone do you use?

Related

[TEAM XPOSED] [Guide]9/21/11: How to dissect a ROM and mod it to your satisfaction.

Hi guys, I'm back again with somewhat of a guide.
How to dissect, repackage, and flash a ROM to your satisfaction without a kitchen!
Don't let anyone else fool you. The awesome devs at XDA, one in particular dsixda have made making ROMs very easy with kitchens. But you don't need to go through the process of installing and using one to get a ROM the way you want it. If installing and working with a kitchen seems too cumbersome and/or hard, or you're tired of waiting for or asking your ROM chef to include/exclude/change a feature, then this guide is for you.
ROMs aren't scary things, they're actually quite simple in terms of structure. As long as they're built correctly from the get go, you will learn how to mod it to suit your needs.
Tools needed: (most of which will be included in this guide)
A base ROM (start with your favorite)
WinRAR (or any good archiver)
Notepad++ (Recommended or something that can handle files encoded in UNIX)
SignAPK/APK Manager/APKTOOL/smali/baksmali (optional/advanced)
Time
Patience
Common sense (can't stress this enough)
Step 0:
-Start with a clean working environment, such as a folder or partition dedicated to this task. Your desktop probably won't be very good if you have a lot of stuff on it already.
Step 1:
-Using the archiver of your choice, you will need to extract the ROM to the work environment you've set up in Step 0.
--Your final result will look something similar to this:
NOTE: I am using my ROM as a reference.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Most ROMs will follow this structure, with some utilizing the folders "sdcard" and possibly others, depending on how customized they are. But as long as you have the /system folder, you will be fine. It is where you will probably spend the majority of your modding time. Get a feel for how the folder structure is. Navigate through them (don't make any changes). This guide will focus mainly on removing and adding apps, the more advanced stuff such as editing text files (with the exception of build.prop) and apks may come later.
NOTE: Please keep the original archive, do not delete it after extracting.
Step 2:
Navigate to the /system folder, which again should look similar to this:
Step 3:
The first folder we'll focus on is app. This is one of the most important folders when customizing your ROM. It will look something like this:
This folder is important because it houses your 'system apps', which are included in your ROM and cannot be uninstalled by traditional means. Here you can remove or add your own apps you want to include as system apps. Remember that not all apps are capable of running as system apps--actually, apps that are placed in this folder receive a higher permission level than apps that are placed in /data/app, so use caution when adding your own here. I would also suggest creating a "removed" folder [in a different location] and move any apps you decide to take away to here so you'll have them in case you remove something that causes a side effect you weren't intending to cause. If you feel comfortable with your WinRAR or 7zip skills, most of the images in these apks can be simply overwritten (this is initially how themes are created, among other ways). Be careful not to overwrite any 9.pngs because they are a special format. You can simply explore (not extract) them with your favorite archive program and replace images as you find them, which will typically reside in the res/drawable and res/drawable-hdpi folders.
Step 4:
Next up is the bin folder. This folder is very tricky and I would advise caution against removing anything that's currently in here unless you get real familiar with the contents of this folder. It will look something like this:
Most ROMs will include all the necessary scripts you will need in this folder. However, it doesn't hurt to familiarize yourself with it. Scripts such as bash and even sometimes busybox, can be installed here. If you're working with a very stock ROM, and I mean stock as in the only thing that was changed is adding root, then it wouldn't hurt to add bash here, other than that, let's move on.
Step 5:
Here we have the customize folder. This folder is pretty important as well. It holds all of your first boot activities and pretty much sets your phone up after you've flashed and/or updated ROMs. It looks like this:
Things start to get more involved and interesting around here. You'll notice three sub-folders inside of here, which house various customization scripts. To be honest, I'm not even sure how many of these get ran, but I'm almost positive the ones labeled "default" do get ran. Here's where Notepad++ will finally start to come in handy! If you're looking to do quick editing, then you can open any one of these xml files in Notepad++ and poke around. (For advanced script editing, I would suggest looking at the appropriate Android documentation. I'll see if I can get a link to that up.)
NOTE: Be VERY careful of what you remove from these xml files, the syntax has to be perfect, otherwise the script won't get initialized. I would suggest copying everything you intend on editing to another folder of the same name, in a different location of course, so that you can have copies. True beginners should not attempt editing any files in here until you familiarize yourself with their syntax.
Folder structure:
-CID
--cidProfile1.xml: I don't think this file gets parsed. However, I do take the time to remove language settings that I will never use, just for my own OCD reasons.
--cidProfile2.xml: I don't think this file gets parsed. However, I do take the time to remove language settings that I will never use, just for my own OCD reasons.
--default.xml: Settings such as screen timeouts, IME language settings, etc gets parsed here. Nothing of too much importance. However, I do take the time to remove language settings that I will never use, just for my own OCD reasons.
-MNS
--default.xml: This is probably the single most important file in the customize folder. Here houses most, if not all the first boot settings that get parsed, such as widget placement, bookmarks, and a whole plethora of other settings. This is a very fun and interesting file to edit, but again i heavily caution you to edit this file if you're a beginner. One simple mistake can lead to nothing getting parsed here--a mistake I've made a few times because of incorrect syntax.
-resource: This is probably the second most important folder in the customize section. Here lies all of the thumbnails and wallpapers for Sense. If you are planning on removing Sense, you can safely remove all the files here with the exception of CCInfo.txt. You can also replace the images as well as boot/power down animations here.
Step 6:
Ah, the etc folder--you'll spend probably no more than five minutes in this folder unless you're truly advanced, which means this guide is probably meaningless to you. It houses a lot of useless epub (ereader) books and looks like this:
If you have time, you can definitely do some exploring of files in here with your favorite text editor (Notepad++) and see if anything is of significance. If you find something, please report back! So far, I don't think very much, if anyone takes advantage of the actual files in this folder (the folders are a different story)
Folder structure:
-bluetooth: nothing to see here. bluetooth configuration files. could be useful down the line.
-dhcpcd: looks like configuration files for dhcp/dns/internet. could be useful down the line.
--dhcpcd-hooks: same as above
-fakeserverxml: This folder looks strange, even has a strange name. I assume if you're removing Sense, this won't be needed either. I'm not even sure it's needed WITH Sense. Poking around revealed some configuration files for what appears to be HTC Hub and scenes, widgets, skins, and other things.
-firmware: I wouldn't touch anything in here unless you know exactly what you're doing.
-init.d: Finally, something that matters! A lot of ROM chefs make use of this folder because it initializes scripts in here upon system boot. You'll see various things in here from various ROMs including: zipaligning, overclocking, kernel stuff, apps2sd, and more. If you know what you're doing, you could even drop your on initialization scrips into this folder and have them boot with the system. Be careful what you do in this folder though. You want to make sure you are following the correct set of steps to either add or remove things. I would poke around with a text editor at those files to see any dependencies, etc.
-iproute2: Nothing here for the average user.
-permissions: If you're removing Sense, without any intent on having it return, remove the relevant files from this folder as well. Other than that, let's move on.
-ppp: Nothing here for the average user.
-security: Nothing here for the average user.
-slideshow: Safe to get rid of. Inside are pictures that Sense uses as a slideshow.
-soundimage: Nothing here for the average user. However, things in here look promising for sound enhancement!
-terminfo: Nothing here for the average user.
--l: Same as above
--u Same as above
-updatecmds: Nothing here for the average user.
-wifi: Nothing here for the average user. However, you may be able to replace the wpa_supplicant file with a modified one for WiFi improvements.
-wimax: Nothing here for the average user. However, the files in the sub-folders here may be used in the future to enhance or modify WiMAX.
--dhcp: Same.
--sequansd: Same.
Before we move on, if you're going to use any sort of adblocking, your preconfigured hosts file should go here. Downloading ad-free from the market will overwrite this file when updating hosts, but if you want to supply your ROM users with a hosts file already somewhat updated, you can place that here. Looking at the various .sh/txt/csv/cfg/* files in Notepad++ will show you some defaults you can change, if you're comfortable in your editing skills, take a look at some of them and see what you can do. Not even I have bothered to look through most of these.
Step 7:
In and out like a robbery for this folder, "fonts", which houses the default fonts that Android uses for various things. I like to replace the clocktopia (which is used on the aosp lockscreen as the clock font) with the honeycomb clock font. Other than that, fonts replaced in here must retain the Android naming structure:
Step 8:
The framework folder is very...sensitive aka dangerous. Deleting or modifying the wrong thing in here can render your system unbootable. Until you're more seasoned in modifying ROMs, I would steer clear of this folder. However, the framework-res.apk file can be used to modify a lot of images to change the look, or "theme" of your ROM. So again, if you feel comfortable, fire up that archive program and get to replacin', otherwise let's move on:
If you're anything like me (anal) then you will wanna remove anything from the framework folder that has anything to do with apps you've removed. For instance, there is a blockbuster file in here that you can safely remove if you've removed the blockbuster app. Again, be careful with what you modify or remove from here, because your system can quickly become unbootable which will leave you wondering what happened.
Step 9:
The lib folder, like the framework folder, is very sensitive aka dangerous. Deleting or modifying the wrong thing in here can render your system unbootable. Until you're seasoned in modifying ROMs, I would steer clear of this folder. However, there are a few things that can be done in here if you've deleted other apps:
Folder structure:
-bluez-plugin: nothing here for the average user.
-egl: nothing here for the average user.
-hw: nothing here for the average user.
-modules: This is where kernel modules for things like WiFi/WiMAX/TUN/CIFS/ETC go. If you are modifying a ROM, and are including a kernel, be sure to delete what's here, and add the modules that came with the kernel. Not doing so will more than likely make its associated parts not function. Example: Error starting WiFi can usually be traced to wrong modules in this folder after updating a kernel.
-plugins: This folder houses plugins for different preinstalled apps. For instance, the Adobe Flash plugin would be here, but if you remove Flash from your ROM (since you can get it from the market and may be more updated than what was included) you should remove its associated files. I wouldn't remove the flashlite plugin though.
-soundfx: nothing here for the average user.
The lib folder can be very overwhelming from the sheer number of files in here but the majority of them will have little of no value to the average user. BUT, you should definitely check here if you are removing any system apps for associated lib files. For instance, Swype is included on HTC's stock software, and if you remove it from the /system/app folder, you want to come here and remove its associated lib file. There won't be a lib file for every program you remove, but it's good to double check here afterward to make sure you get all traces of it gone.
Step 10:
The media folder, probably the easiest folder ever, and least time spent in here. This folder controls all the built in audio sounds such as notifications/ringtones/etc as well as any other media related files, like video clips, images that would indicate an animation, etc:
Folder structure:
-audio: parent folder for system sounds.
--alarms: self explanatory.
--notifications: self explanatory.
--ringtones: self explanatory
--ui: self explanatory
-GPU: nothing here for the average user. Not sure what it even is for.
-mms: nothing here for the average user. Not sure what it even is for.
-weather: This folder isn't really of any use, but it does contain weather animations that the HTC weather app uses. If by some reason you want to edit, replace, or modify those animations, here they are. I would suggest placing files of the same resolution in here.
Be sure to place the files you want in their respective folders, because they won't show up when you try and select them for things they aren't intended for. For instance, placing notification sounds in the ringtones folder will make them not show up when you go to choose a notification sound from within Android.
To be continued...
Now that this guide is progressing nicely, below you will find a list of items that I have removed or replaced. This list will be edited as I make further adjustments. For the sake of consistancy, I too am working with Freeza's rom FreEVO 3D 1.1, which can be downloaded from this same subforum. Please keep in mind that this list is based on my particular needs and is heavily dependent upon which custom rom you choose to modify.
-Here's what I've removed from /system/app
browser.apk
DCSStock.apk
DebugTool.apk
dms.apk
DockMode.apk
DSPManager.apk
EReader.apk
Flickr.apk
FriendStream.apk
GoogleQuickSearchBox.apk
HtcCarPanel.apk
HtcConnectedMedia.apk
HtcDirect.apk
HtcFacebook.apk
HtcFMRadio.apk
HtcGreader.apk
HtcHubSyncProvider.apk
HTCLivewallpaperStreak.apk
HtcMusic.apk
HtcMusicEnhancer.apk
HtcMusicMarkedItems.apk
HtcRecommends.apk
HtcRingtoneTrimmer.apk
HtcSoundRecorder.apk
HtcStreamPlayer.apk
HtcTwitter.apk
HTMLViewer.apk
JETCET_PRINT.apk
JETCET_PRINT_Resources.apk
LiveWallpapers.apk
LiveWallpapersPicker.apk
LMW.apk
MagicSmokeWallpapers.apk
Mail.apk
Mode10Wallpapers.apk
MyHTC.apk
picasapryramid.apk
PolarisOffice.apk
QuickLookup.apk
SetupWizrd.apk
SoundRecorder.apk
SprintZoneNC.apk
TrimIt.apk
VisualizationWallpapers.apk
VoiceDialer.apk
VpnServices.apk
Weather.apk
WeatherAgentService.apk
WeatherProvider.apk
WeatherSyncProvider.apk
WorldClock.apk
-Here's what I've removed from /system/customize/resource
hTC_bootanimation
hTC_downanimation
Sprint_bootanimation
Sprint_downanimation
-Here's what I've removed from /system/media:
-The entire /weather folder from /system/media .
-All unused ringtones (all but 2) from /system/media/audio/ringtones
-All unused notifications (all but 3) from /system/media/audio/notifications
-All unused alarms (all but 3) from /system/media/audio/alarms
I should also mention, not only can you remove these, you can also replace them with any .mp3 file you like. So in theory, you could remove every .mp3 from these folders and put your own .mp3 files in.
After removing all of the above contents from Freeza's rom, the flashable zip size has gone from 307MB to 168MB. This should just about conclude my list of removed .apk's and files from Freeza's rom. After a little more testing, I'll move the "to be tested" .apks into the list of safe to remove .apk's, and finally begin theming this thing
Congratulations on taking the first step towards customizing your rom. More information to follow as I further refine this rom. Happy flashing!
hockeyfamily737 said:
Nice tutorial. I'm sure lots of people will find it helpfull when it's finished.
Click to expand...
Click to collapse
You keep giving me good ideas lol
excellent! going to utilize this
Can't wait for this to evolve. I have been looking for a good place to start.
very cool, looking forward to this!
Thanks. About time for me to get into this)
Sent from my PG86100 using XDA Premium App
Thank you very much for this noobs like me will learn a lot
I'm gonna reserve my weekend to go through this once complete.
Thanks for your time and effort for the tutorial in advance.
Been waiting for a "how to" tutorial on this specifically.
looking forward to it..
Thanks...
Thank You! This will be awesome! Can't wait till its finished!
Post #2 has been updated with a quick little starting off point for those of you who are anxious to begin while Freeza's tutorial is still under construction. I will attempt to help Freeza with his guide and help to answer questions within the thread. However, this guide is completely Freeza's. Any information that I provide that might conflict with or contradict anything in the guide should be disregarded until such time as I can edit my posts.
I see that this is under the "EVO 3D" Section, But this seems like a general rom guide. Will it extend later into how to put only onto a EVO 3D? Curiosity is all.
edit;
As previously stated, this guide is a work in progress and it is aimed at the EVO 3D, but the general concept is the same across all Android devices. Please leave your feedback and thoughts for the dev.
Click to expand...
Click to collapse
Ooops :|
Page Bookmarked ..
I am a Desire user and have been playing with ROMS for months adding stuff and changing stuff and i look forward to checking this out once its complete.
Very hectic day. HAven't forgotten about it. I'm working on the guide.
freeza said:
Very hectic day. HAven't forgotten about it. I'm working on the guide.
Click to expand...
Click to collapse
Thank You! looking forward to this!!!
Lol this is exactly how I learned... I've never used dsixda's kitchen, or any kitchen, in my life. Good guide man, I'm sure many will find this useful.
Hey it got featured!
lets dive into playing around with the framework-res.apk next!!!
gREAT JOB iM USING AUTOSIGN RIGHT NOW BUT WILL LOVE TO BE ABLE TO EXTRACT THE ROM AND REMOVE THE FILES THAT WILL BE JUST GREAT i HAVE TRIED TO EXTRACT ROM BUT COULDNT ZIP THE FILE BACK SO THAT IT COULD BE FLASHED

[Advice/Reference/Guide] The Definitive APK Modding & Theming Thread... [12/08/13]

[Advice/Reference/Guide] The Definitive APK Modding & Theming Thread... [12/08/13]
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
XperienceD said:
This is why I love Virtuous Ten, as you can install multiple resources.
Click to expand...
Click to collapse
jacknb1ack said:
wow, i didnt know there is tools like that
Click to expand...
Click to collapse
After reading jacknb1ack's comment I felt compelled to re-write this whole thread to accommodate for the various PC Programs that you use to do all of your apk modding which can and do make things a hell of a lot quicker. I've wrote this as something I would have liked to have come across when I first joined because I know there is a lot to take in, and hearing you need to decompile, edit this or that xml, recompile, sign etc etc etc can be off putting for some especially if you struggle to get a program or apktool setup to begin with.
Knowing how to use command prompts will be beneficial in the long run so I've wrote a detailed guide below which covers it from start to finish along with how to Sign and Zipalign your apks, pulling them from the computer and so on. I've also covered some Theming basics with links to everything you're ever going to need, which will be extra handy if you're just getting started.
Minimum Requirements:
A Rooted Phone.
Java SE Runtime Environment
Java SE Development Kit
Any of the apk modifying methods below.
7-Zip or WinRar
Theming Requirements:
Notepad++
Photoshop, GIMP or any other image editing software.
Patience. :silly:
To avoid any java not found issues you need to set up the PATH for it in Environment Variables, you can find a short Guide on how to HERE. This is how mine looks...
Code:
[B]C:\Program Files (x86)\Java\jre6\bin;[/B]
I would advise that you also install the Android SDK but if you don't want to you can download this APK_Mod.zip that you can extract to a folder and place it anywhere you want on your Computer (I recommend C:\APK_Mod) and run any adb, apktool, zipalign or signing command prompts from it. You can find a more detailed guide for this method below.
But first off all here are some of the most common Programs that you can use to modify and theme your apks, and I'll start with one of the best...
Virtuous Ten Studio (VTS)
Virtuous Ten Studio (VTS) is the ultimate solution for the modification of android applications.
This program allows you to manage entire Android projects within an easy to use and familiar environment.
The intended group of users covers anyone from a themer over ROM devs up to the smali gods known for their awesome mods of existing apks.
The modifcation of smali code is one of the biggest features in VTS. You can easily decompile, edit and recompile any apk or jar file.
However, the application is not limited to smali files. You can edit almost any file found inside an apk or jar.
Virtuous Ten Studio is also the official successor to the highly important M10Tools released last year by the Virtuous Team.
You can easily edit any m10 file from Sense apps in order to resize or change them.
Additionally VTS brings support for un- and repacking of boot images (boot.img), a job that previously required a cygwin installation with the dsixda kitchen.
Since VTS' own implementation is a native windows solution, which means you don't need dsixda or cygwin anymore.
VTS has been designed to run on Windows, has been in development for nearly two years and has gone through many stages of testing.
Today VTS is a highly respected full blown Android IDE (Integrated Develoment Environment) suited for all your reverse engineering tasks.
Click to expand...
Click to collapse
- www.virtuous-ten-studio.com
AndroidSuite 2013
AndroidSuite 2013 what it does
Decodes and encodes Dex files
Decodes and encodes APK files (Previously bugged in APKManager)
Gives a console output
Flash boot.img (fastboot)
Flash update.zip (fastboot)
reboot/reboot fastboot mode
Sign unsigned apks
Click to expand...
Click to collapse
- (App) Androidsuite 2013 v117 (01/04/2013) Jelly Bean Support!
Tickle My Android 5.4
Tickle My Android, or TMA for short, is a command line tool for Windows that uses apktool to help you pull and decompile files from your Android phone or tablet.
But it can also:
change the battery icon,
change the WiFi icon,
change the signal icon,
change the emoticons,
change the notification toggles,
change the transparency of the statusbar (if the rom allows it),
add Ice-Cream Sandwich-style transitions
zipalign apk files,
sign new apk files,
sign recompiled apk files in the same way as the original,
deodex apk and jar files,
backup personal data and transfer to a brand new device,
resize and change boot animations,
change fonts,
add sounds from other devices,
create backup-generating flashable zip files
..and now comes in Portuguese and French!!
Click to expand...
Click to collapse
- [TOOL]Tickle My Android 5.4 - DE/RECOMPILE APPS, CHANGE ICONS...AND MORE!!!!
ApkManager V6.1
1. Based on ApkManager 4.9 by Daneshm90 (Big thanks to him)
2. Updated Apktool V1.5.2 by iBotPeaches & Brut.Alll
3. Updated Aapt v0.2
4. Default compression level set to “0?
5. 512Mo as default allowed heap size
6. 3 ready for use fake frameworks : “other\wanam1.apk”… (for Lidroid framework editing)
7. Add a “Decompile all files” feature (option 25)
Click to expand...
Click to collapse
- wanamlite.com
Command Prompt Editing​
Basically this is just manually doing what all of the programs above need to do in order to decompile, recompile, sign and zipalign apks so it's worth knowing how to modify apks this way for occasions when the above programs for whatever reason gives you issues.
Use Linux or a Mac?
See the following threads for more information on using apktool on other Operating Systems...
APK Manager for Mac OS X
[Linux][UTILITY][TOOL] APK Multi-Tool
[tutorial] decompiling,recompiling and signing in linux (27-01-2013)
How to install and use Apktool with Ubuntu
Getting APKs To Your PC​
You have two options here...
1. Use a file manager on your Phone to copy and paste files to your SD, then connect to your PC and use Windows Explorer to copy and paste to your desired location.
2. ADB. Open a command prompt window in the ADB folder (see below) and type/copy the following command...
Code:
adb pull /system/app/ Original_apps
...which will pull the whole app folder to your computer and create a new folder called Original_apps, which you can then simply copy apps to the main folder ready to be modified (keep the Original_apps folder as a backup). Then do the same for your framework folder...
Code:
adb pull /system/framework/ Original_framework
...want to pull your Phones whole system...
Code:
adb pull /system/ Xperia_Z_System
...you can rename "Xperia_Z_System" to whatever you want.
Further Information: [WINDOWS][TUT]ADB tutorial, setting up ADB, usefull commands, collecting debug info.
This is a zip of the apktool folder I currently use - APK_Mod.zip - which as said above also contains the ADB files needed to pull and push apps from your Phone, or you can check out the following links...
[Tool] ADB Fileexplorer
[TOOL][WINDOWS] Android Apktool
Installing Resources​
For apktool to work you need to install the resources needed by your apks for de and recompiling, and those resources are other apks, the first apk regardless of your Phones manufacturer is going to be your framework-res.apk. The second apk you need is dependent on the manufacturer so you need to check your framework folder for another apk such as twframework.apk or SemcGenericUXpres.apk, in some cases it might even be the SystemUI.apk but you would need to check if you have issues with the other two. Put those two apks in the APK_Mod folder to begin with then open a command prompt window. The easiest way for me is holding the shift key then right clicking the mouse and selecting Open command window here, but if you're not able to do that then click your Start button and search for Command Prompt, then open it. You then need to point it to the relevant folder, so type cd then copy and paste the location of the folder (cd C:\APK_Mod) and hit enter.
The install commands are...
Code:
[B]apktool if[/B] framework-res.apk
...and for the second...
Code:
[B]apktool if[/B] SemcGenericUXpres.apk
Decompiling​
The command for decompiling is...
Code:
[B]apktool d[/B] framework-res.apk
...and so on for each individual apk you want to modify. A new folder will be created that is named after the apk you are modding, then you can edit xmls, smali files and .9png images. You'll notice that there are a lot more folders when you decompile an apk, that's normal as those folders are from the resources.arsc and where you'll find the xml files you may need to edit to make the changes you want.
Recompiling​
When you've done editing it's time to recompile, using the command...
Code:
[B]apktool b[/B] -insert folder name-
...and if you've edited your files correctly then it should compile with no errors and create a folder named dist in the decompiled folder along with a new apk.
Signing​
Before using the new apk you will need to sign it, to do this you need to extract (open the apk and simply drag and drop them to the dist folder) from the original apk the resources.arsc (only if you haven't changed anything in the values folder, the AndroidManifest.xml and META-INF folder (if it exists), then copy them into the new apk. In WinRar it will give you the option to choose the compression method, and it's vital that you choose Store as the compression method because if you don't then you WILL BOOT LOOP after restarting your Phone!
NOTE: If you have edited anything in the values folder then extract the resources.arsc from the new apk and copy (drag and drop) it back in the same manner described above.
Alternatively you can use the following command...
Code:
[B]java -jar signapk.jar testkey.x509.pem testkey.pk8[/B] framework-res.apk.apk framework-resS.apk
...notice the extra "S", the output name has to differ from the input name otherwise it will give an error, if done right it will create a new apk called framework-resS.apk, just remember to rename it back to the original before using it on your Phone.
Signing For The Play Store​
If you plan on Publishing a Theme or any other app/apk to the Play Store then using the above method to sign your apks just wont work because you need to give it an individual signature that is unique to you, thankfully @AndroidGraphix has written a great guide that will show you how, it's a bit more fidgety than the above method but simple enough to follow...
AndroidGraphix said:
Click to expand...
Click to collapse
- Noobs guide to signing an APK with a Private Key
Zipaligning​
DISADVANTAGES OF UNALIGNED APKs
Quite understandably, situation would be reserved for unaligned application packages. Resource reading would be slow and memory usage would be on the higher end of the spectrum. It would also depend on how many unaligned applications are present. For example, if less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
Click to expand...
Click to collapse
- SOURCE
The command for zipaligning is...
Code:
[B]zipalign -v 4[/B] framework-res.apk ZAframework-res.apk
...notice the "ZA", again that can be anything you want so long as it differs from the original name, I use ZA for an obvious reason, and again don't forget to rename it before using on your Phone.
Getting apks back to your Phone​
It's just a reversal of how you got them off your Phone to begin with, use a file explorer and put your apk on your SD Card, then move it to the Phones System folder and change it's permissions to rw-rw-r, then move and replace it with the original. Most apps should continue to work but if you change your framework-res or SystemUI you will most likely need to reboot. Or you can use adb to push and install them. Check the previous link for the commands.
If all the above has worked correctly you should now have your modified apk installed with the changes you've made displayed on your Phone.
Theming & Modifying​
This is where the fun begins, once you've got setup to decompile your apks then obviously you're going to want to mod them, so here's a few pointers to clear up what seems like a daunting process to new comers...
To start with you'll probably just want to start with replacing images, so if that's all you want to do for now then here's a quick tip, you DON'T need to decompile or sign your apks!, simply edit and rename your replacment images on you computer, preferably using the same or similar dimensions then drag and drop them back into the right folders in the apk, always using Store as the compression method, but PLEASE NOTE; .9 pngs can be replaced in the same way, but if you want to edit them in Photoshop for example then you need DO need to decompile them.
A few things to note...
Smali code is real Developer territory, it's Matrix code to me , thankfully there's usually a guide to follow so you can simply copy and paste code without having to fully understand how it works, so don't fret about this.
.9pngs are simply png images with a 1 pixel border. You can edit anything within that border but anything on or over will give errors when building. Unless you're creating an image from scratch then you can leave the border as it is, it's that simple! Sure there's a bit more to .9png editing but you can find a few links below that go into more detail about .9s and how they work.
xmls are relatively simple and edited with Notepad++, much simpler to understand than smali and again, there's usually a guide to be found for most mods you may want to make yourself, but if you're feeling brave you can experiment with it when you have a basic understanding of how it works.
Restoring modified files if you mess up is easier and quicker with a CWM.zip, especially if you're modifying any framework apks! Just because an apk might build with no errors doesn't mean it won't give you any when installed to the Phone.
.9png Editing​
I hope after reading this explanation you're left wondering what all the fuss is about, as it really is quite simple. I'll use the following two images, btn_default_pressed_holo.9 & status_bar_close_off.9 to illustrate the basic point of the borders...
Decompiled .9pngs:
Recompiled .9pngs:
Those borders control which part of the image is stretched, and we'll use Draw 9-patch which is for editing the borders of decompiled .9pngs and lets you see how the image, when stretched, will be displayed on the Phone. Notice that the borders are different sizes, well that's because I only want/need a certain part of the image to stretch to get the desired look on the Phone.
...in the image below the left side shows the stretched image and desired effect should look on the Phone and the right side shows how it would look if I had edited the borders incorrectly or used none at all...
You can get away by not using a border but you would need to edit your image to specific dimensions to accommodate for the stretching, for example it might look fine for a simple OK button but it might not look right if you used the same .9png for a screen press which stretches the whole length of the screen, so you're better off just using them to begin with, plus you'll more than likely get errors down the line while decompiling or recompiling your apk.
The use of the border is made even more clear when you add text to an image. For my status_bar_close_off.9 I've filled all four sides of the image (except for an empty pixel in all four corners as that is the max amount of border you can use) as I need it to stretch the image just how I've edited it...
...but if I used the same sized left side border as the btn_default_pressed_holo.9 then this is how it would look on the Phone...
...which is obviously not the look I'm trying to achieve, as the left side border is causing the image to stretch incorrectly.
So that's basically it, depending on the image you're editing you can usually leave the borders alone but if you create one from scratch then you might need to play about with them if your images doesn't look quite right when used on the Phone. Here's a few links that will assist you further, especially the batch editing...
How to edit .9.pngs
[TUTO] Create your 9.png !
[UTILITY][TOOL] 9patchPngSuite [Windows&Linux]
How to draw NinePatch images with Photoshop - .9.PNG
[TOOL][Multi-Platform][.9.png][ALL DPIs] Android Resizer Tool
[Tutorial][Commentary] How To Batch Edit .9PNG/PNG Images
Xposed Framework​
rovo89 said:
In this thread, I'm presenting a framework which gives you the possibility to modify your ROM - without modifying any APK (developers) or flashing (users)!
...
Advantages:
No need to modify any APKs. This means:
No need to decompile, change things in smali, compile, sign, ...
It will work for odexed and deodexed ROMs.
Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Hell, it will probably even work with different ROMs.
Multiple mods can be installed at the same time, even if they change the same package. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.
It does its magic at runtime. That means you can implement options to let the user decide if they prefer the bikeshed to be painted in red or blue. Or you can have some extra logic for certain ROMs without building different mod versions.
It can be disabled easily without having to reflash.
It's open source.
Click to expand...
Click to collapse
- [FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs
[Guide] Porting XTheme themes
[Guide] Xposed Framework/TabletUI (Noob-Friendly)
[INDEX][WiP] List of APPs & MODs that use XPOSED Module
[MOD][XPOSED][4.0+] XThemeEngine beta5 - Theme engine for any rooted phone
CyanogenMod Theme Chooser​
Annex1 said:
CM10.1-THEME_BOOK
Theme book was created by Annex and Ebs512. I've been asked alot of questions from how to get started? what do I need to get started? to What Graphics program do I use? etc. We made a real simple theme guide to help get you started. This is in Layman Terms.. Nothing fancy.
ONLY THING FANCY IS MY FLASH BOOK
YOU MUST HAVE A FLASH PLAYER INSTALLED TO VIEW THIS!!!
Click to expand...
Click to collapse
- [GUIDE] HOW TO THEME CM10.1 - Animated Book
[Tool] [Theme Creator] [CM/Avatar] Theme creator tool
[Tool] nhnt11's XML Generator Revived V2+Extended UPDATED!
[DEV/GUIDE]Creating APKs for use with TMobile Theme engine
[GUIDE] T-mobile theme engine for the faint at heart (non-linux users)
[1/30/2013] Mega 4.2.1 BlackBean Theme Template [XXHDPI/XHDPI/HDPI/TVDPI]
-·=»‡«=·-[JB][CM10] Theme Engine Template Updated To V4 [8-7-12][XHDPI/HDPI]-·=»‡«=·-
See a few post below for more...
thnaks
thank you so much
very hepful guide
looking for dis
Thank you so much,
This should be sticky!
Make a noob, into a senior user.
Sent from my Anzu using xda premium
Flashable Clockwork Mod (CWM) zip​
ClockworkMod Recovery zips are used for flashing individual files to whole ROMS and can be a life saver if you push a badly edited apk to your Phone that results in a bootloop. There's also a few programs that can assist you with that too, but if all you're doing is replacing a few files all you really need is a template, then it's just a matter of creating the Phones folder setup in the zip which is simply creating folders: system\app - system\media\audio etc then dragging and dropping your files into it. A basic understanding of the updater script is essential, a ROM.zip will more than likely wipe your Phone whereas a Theme.zip may just replace files but it might delete some also.
See below for a CWM.zip Template but first some helpful links...
ERRORS encountered in CWM Recovery
[Tool]easy flasher v4 (ur own update.zip)
[TUT] [for NOOB] editing updater-script for noobs!
[TUTORIAL] Making Flashable ZIPs, EDIFY Script, ZIP Signing & Key Creation
[Utility-Tool][DEVandThemers]CWMflashpack.zipCreatorV1{TheCollective}w/EdifyScripting
This is my Theme_CMW_Template.zip which is set up so you can add your own files to the framework and apps folders in the main system location, but you can easily add other folders to it if you want to add things like fonts, tones or anything else, just remember to add folders within folders if that's where the files you want to include are such as tones, media\audio\alarms for example.
If you navigate to META-INF\com\google\android you will find the updater-script which controls how the zip works and the text you see when you run it in CWM. As this zip is just for basically over writing files you don't need to edit anything except for a few lines...
...this is how I've edited it for my Ice Green ResMods theme...
...so just edit it using Notepad++ to your liking.
When adding files to your zip add them using Normal as the Compression Method...
...and that's pretty much it. Remember to remove the text files I've added otherwise they will be flashed to your folders too.
Deodexing​
The first thing I do when installing the latest firmware is Deodex it, mainly because having a deodexed ROM is easier to modify and you'll find a lot of the modifications that are are in the Themes And Apps sections require you to have a deodexed ROM. I use the dsixda's Android Kitchen to deodex and @pankaj88 has written a great guide here - [GUIDE] How to DEODEX stock ODEXED ROM using dsixda's kitchen - so you can do it yourself, or you can give the following tools a try.
philos64 said:
The differences between Odex and Deodex Files...
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space The odexed file structure works well as an optimization tool. Since these .odex files contain preliminary load information about each system app, the OS knows what to expect when it’s booting up, and consequently, loads all these apps faster.
On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
For instance, on a non-rooted device you’ll find
system/app/Phone.apk ===> as well as ===> system/app/Phone.odex
Click to expand...
Click to collapse
- [GUIDE] - The differences between Odex and Deodex Files
[TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]​
abcdjdj said:
Hi everyone,
Alokbina and I have created a tool which allows users to very easily deodex apks from a rom. This tool is very useful for Rom developers too. For now only windows is supported but we will try our best to make the same tool for linux too and make the tool as user friendly as possible. And, please don't forget to thank alokbina too.
NOW EVEN ON XDA PORTAL - http://www.xda-developers.com/android/deodex-all-the-things-with-universal-deodexer/
Requirements:-
--->Java installed on your PC
--->system/framework folder from your rom
--->apks from that SAME ROM with the respective .odex file
--->Patience and a calm head (common sense included)
You can watch this video for setting up and using the tool -
Click to expand...
Click to collapse
[FIXED][UPDATE - V3][TOOL][WINDOWS]Universal Deodexer[ALL DEVICES!!]
adityaf said:
CARBONITE TOOL
Features
1)Deodex your stock ROM (android 2.x 3.x 4.x)
2)This tool automatically pull your apps from phone to PC
3)One click deodexer,
4)Just click Deodexer_from_phone
5)All apps and framework will be deodexed.
6)Automatically makes .zip file flash from CWM.
BUGS
Sometimes it does not deodex androidpolicy.jar just run script once again!
Click to expand...
Click to collapse
- [TOOL]CARBONITE TOOL [Dedeoxder tool][All devices]
And that's pretty much it, the only way you're really going to learn is by reading then putting into practice what you've read and picking stuff up along the way, fortunately this far into the history of Android there are numerous guides for numerous mods and tools to help with a variety of tasks and the following links are going to be a big help...
U.I Modding
Tutorial :- Changing App Icons
[TUTORIAL]How to Theme Your MMS
[How-to] Edit the "About Phone" display
How To Colorize Lock Screen Clock in Jellybean
[TUTORIAL] How to add various framework/Settings mods
[TUTORIAL] Where to find the colors for making a theme
[TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie!
[TUTORIAL][ICS][GB][JB]How to change Android's black background
Text...
Text Color Guide
[GUIDE][REF]Changing System Text Settings
Statusbar...
[MOD][TUT] Merge The WiFi And Signal Icons
[GUIDE][MOD][SYSTEMUI] How to add 0.0K/s meter on statusbar ICS/JB
[TUT] How To Center The Clock On The Statusbar..And Move Other Icons As Well!
[How-To]Removing Battery Percentage, Adding Toggles,Battery Circles to Statusbar
Misc...
Some Extra Theming and Moving the Power Widget Down
[HOWTO] Integrating/Adding applications to the settings menu
[GUIDE] How to get Transparent App Drawer [Launcher2.apk or Trebuchet.apk]
[GUIDE][Mods][All Devices]How to add/ Change Clocks to Analog/ Digital with Seconds
Various Tools...
[TOOL][BETA]Miui Theme Converter/Convert apk Themes!!!
[TOOL][JAVA]"The Rom Fumbler" aka "The Battery Icon Creator"[V29.0]
[TOOL]Boot Animation Factory-Create,Preview and Manage Boot Animations
Useful Links
findicons.com
colorschemer.com
[GUIDE] Tips for themers
Ultimate Online Theme Kitchen
[GUIDE] Want to learn how to theme?
[GUIDE] Smali coding guide for beginners
General Questions about Themes GO HERE!!!!!
[Guide] How to port themes to T-Mobile Theme Chooser
[Collection] ICON SETS | Over *750* different Icon Packs
[TOOL] Remote Theme Injector - theme your favorite paid apk
[TEMPLATE] Icon Packs/Themes for Apex, Nova, Holo, ADW, and more!!
[INFO] Custom framework-res.apk resources.arsc using vendor overlays
If you feel something more should be added to this thread please feel free to suggest it.
Credits & Thanks:
@_calum_
@Diamondback
@ebs512
@Rizal Lovins
@Ticklefish
@wanam
@rovo89
@Annex1
@ebs12
And not forgetting @iBotPeaches and @Brut.all for making it possible with - [UTIL][Feb 02 2013] Apktool v1.5.2 - a tool for reverse engineering apk files
one query
after i decompile the apk,i edit the my xmls in project folder....then what to do next?
EDIT:- I figured it out
abhisheak.bansal said:
one query
after i decompile the apk,i edit the my xmls in project folder....then what to do next?
Click to expand...
Click to collapse
Continue editing or recompile and test your changes.
Wow!! It should be sticky. Really usefull guide, it explain so much things... thanks again
Useful Guide, Thanks
soooo happy u came out with this
will u add how to make it a theme that someone else can flash?
keep up the good work
zainthesnipe said:
soooo happy u came out with this
will u add how to make it a theme that someone else can flash?
keep up the good work
Click to expand...
Click to collapse
Thanks, glad to see it's helping some People, and I will add that yes.
zainthesnipe said:
will u add how to make it a theme that someone else can flash?
Click to expand...
Click to collapse
Done.
Could you make a short guide to show
how to zipalign using dsixda's Android Kitchen
When I select zipalign all...
It says no working folder found...
what does it mean...?
Kajendran said:
When I select zipalign all...
It says no working folder found...
what does it mean...?
Click to expand...
Click to collapse
You haven't set up the folder. http://forum.xda-developers.com/showpost.php?p=5626300&postcount=3
Updated.
Thx For Guide:laugh:
when i try to install the resources i get this error:
Code:
'java' is not recognized as an internal or external command,
operable program or batch file.
i have java installed, what am i doing wrong?
Setup the path for it. See an "adb for noobs" guide for setting the path up.
Sent from my CM9'd Arc
XperienceD said:
Setup the path for it. See an "adb for noobs" guide for setting the path up.
Sent from my CM9'd Arc
Click to expand...
Click to collapse
i already did that, maybe i did it wrong, ill check again.
---------- Post added at 09:55 AM ---------- Previous post was at 09:51 AM ----------
ok i did it wrong, now i fixed it and it still doesn't work
any ideas?
i just need to sign a zip
OverLo4d said:
any ideas?
i just need to sign a zip
Click to expand...
Click to collapse
I'd remove Java then reinstall it, add your path then try again.

[APP][ENGINE][2.3.6+][Xposed] Resflux - A powerful and very easy to use per-application theming module.

[APP][ENGINE][2.3.6+][Xposed] Resflux - A powerful and very easy to use per-application theming module.
Resflux
--------------------------------------------------------------------------------------------------
Do you want to THEME your phone easily, without learning how to do it?
Then you are in the right place!!!
Resflux is very straight-forward. It's very easy to use. You don't need to learn anything just to get started. All you need is your common sense. Once you launch the application, you will see very big buttons with one-word description of what that button will do.
And I forgot to tell you that Resflux supports Gingerbread 2.3.6 and up! yeah you heard it right!
Just use the ported version of xposed installer for gingerbread users...
What else can I do with Resflux?
Tons! All you need is the idea!
- Theming an app or all of your apps.
- Replacing icon and name of your apps.
- Translating app from one language to another
- Overriding default settings inside frameworl-res.apk, settingsprovider.apk and systemui.apk
- and many more posibilities!
Laboratory
The laboratory is where most things will happen. It is where you start theming resources of a specific package. You can theme as many as packages if you want.
After you have selected the target package, Resflux will redirect you to the Experiment area where you can see five buttons namely "Drawable", "String", "Color", "Boolean" and "Integer" though you can only see their icons.
When you click a tab, the list will be populated with the corresponding resources and their current values are even shown so you can tell if it is what you are looking for and trying to replace.
Drawable Tab
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the Drawable tab, previews of every drawables are shown and by clicking the selected drawable, you can replace it with a new one.
This is replacement drawable chooser dialog
String Tab
In the String tab, you can take a look at the list of all string resources in an apk. The current value is shown in each string resource and you can replace the value with a new one if you want by clicking it.
Color Tab
In the color tab, all the color resources are listed and the preview of each color is also shown. You can replace it with a new color using the HoloColorPicker dialog.
Boolean Tab
In the boolean tab, you can see all the boolean resources of an apk. Boolean is type where its value is only true or false. You can also change it anytime just like the other resources.
Integer Tab
The integer tab is new in Resflux, since the old Resxploit only supported Drawable, String, Color and Boolean.
Export
If you plan to distribute your work or do a back-up or share it to your friend, then you can export it anytime. You can select which packages you want to export and which are not to be included.
From there, you can also completely, remove all modifications made to a specific package by long-pressing the target package.
Import
If you have exported a mod or got it somewhere and you want to upload it into your Resflux, then all you need to do is to put the zip file inside /sdcard/Resflux. By putting it inside /sdcard/Resflux, Resflux will quickly find it, but you can still leave it in other directories as Resflux will also search the other directories inside your sdcard.
Download Link:
http://repo.xposed.info/module/com.iwisdomsky.resflux
Please leave FEEDBACKS or SUGGESTIONS
And don't forget to hit Thanks if you find it useful!
Change logs:
Code:
1.6.1
- Replaced AAPT with ResourceFileParser library
(This will fix resflux compatibility issue with Kitkat and Lollipop. Marshmallow is yet to be tested. This change also causes resflux mapping of resources to becoming 2-10x faster than before)
[B]REMOVE:[/B]
[COLOR="Red"]1.7
- support for kitkat and above.
- faster mapping of resources (the mapping of resources will be done in the cloud)
- requires internet connection.
- 3x lesser apk file size.[/COLOR]
1.6
- Disabled xposed installed check on app start.
1.5
- UI updates.
1.4
- fix for colors not working issues.
- fix for double "#" on color resource's values.
- minor ui updates.
1.3
- The scroll position will remain and will not jump to the top when resetting/restoring a resource's value.
- Resflux Compiler link
1.2
- Fixed the resource name bug where an exclammation mark will appear before the modified resource's name.
- Forced the screen orientation of the Experiment area to stay in Portrait mode to avoid crashes when accidentally changed your phone's orientation.
- Added a possible fix for crashes on Import area.
- Increased the minimum width of dialogs to occupy some extra space on phones with bigger screen.
- Added labels to the tab buttons in the Experiment area.
- Updated the modified resource high-lighting feature for better visibility.
- Fast scroll enabled. Useful when you are trying to find a specific resource in the list quickly.
- Hold press a modified resource to restore its original value back.
- Clear cache action. If an installed app has received an update, it is a good practice clear the package's cache in Resflux so all changes to the resources to the updated app will become visible to Resflux.
- Added ability to supply a specific hex value to the color picker dialog as requested by many.
- Drawable picker dialog has been completely removed and replaced with an image chooser intent which will open the Gallery by default.
- When on drawable tab, you can change the drawable image preview's size by pressing the MENU key of your phone. Take note, this will not actually reflect to the final result but only to the previews.
- Other few minor UI changes.
1.1
- resource caching system for faster consecutive access.
- high-lighting of the modified resources to distinguish changes.
- added large heap attribute to the application element inside the android manifest file.
- empty package mods cleaner for the packages directory of Resflux.
1.0
- Initial release
Disclaimer
Though Resflux can modify any application, it is not guaranteed that it is can successfully modify all applications.
XDA:DevDB Information
Resflux, Xposed for all devices (see above for details)
Contributors
WisdomSky
Xposed Package Name: com.iwisdomsky.resflux
Version Information
Status: Stable
Current Stable Version: 1.5
Current Beta Version: 1.0
Beta Release Date: 2014-06-22
Created 2014-06-22
Last Updated 2014-08-03
How to use:
STEP 1: First, open Resflux then click Laboratory.
STEP 2: Next you need to choose the application you want to modify from the list and then click it.
STEP 3: Once you have clicked an application, Resflux will start mapping it's resources, you need to wait until it is finished before you can start.
STEP 4: If the mapping of resources has finished, you can now start changing any resource from the list. They are actually categorized as Drawable(Images), String(Texts), Color, Boolean(Switch) and Integer(Number)
STEP 5: Once you're done, you need to reboot your phone in order for the changes to take effect.
Sample Scripts
Disables Low Battery Warning notification
http://upfile.mobi/575226
System Font color changer (you need to extract the zip first then choose the zip of your fave color)
http://upfile.mobi/575213
NOTE: To install the scripts, you need to put all of them inside /sdcard/Resflux folder in your sdcard and then open Resflux and select Import and choose the file.
Reboot your phone afterwards to apply changes.
Resflux is proven working on these devices:
Motorola Moto G running Stock KitKat 4.4.2
S4 i9505 LTE running C-RoM 7.1 KitKat 4.4.4
Samsung Galaxy Y S3560 running Hyperion 8 GM Final Gingerbread 2.3.6
Cherry Mobile Flare S running Stock JellyBean 4.1.2
Cloudfone Thrill 430x running Stock JellyBean 4.1.2
Samsung Note Pro 12.2 tablet
HTC M8 running GPE KitKat 4.4.3
Samsung Note 2 running Touchwiz KitKat 4.4.2
Samsung S4 Mini
Xolo A500 running IceCreamSandwich 4.0.4
If Resflux is working on your device, please post your phone brand and model. thanks!
Special Thanks
I would like to thank everyone especially @rayjr13 for keeping the Resflux thread alive and answering all questions of other resflux users. Thank you very much! :good::good::good:
I would also like to thank all who donated! Please send me your names.
Source Code
Link.
Paypal Donations
If you have a very nice heart and want to make my wish come true, please don't hesistate to send your donations to my paypal account: [email protected]
Scripting
(For themers and programmers)
Apart from the Laboratory where users are provided with user-friendly interface, there is an another way to make modifications and that is by using the scripting feature of Resflux.
Soon, I will be focusing on adding more features to it. One is providing support for layouts. Not the whole layout, but to the components inside defined with an id.
When you export packages mod in Resflux, you will be given a zip file. And when you look inside it, you will actually find atleast a Resflux.ini file. And when you look inside the Resflux.ini file, you will see how Resflux turn everything into series of keys, sections, comments and how they are arranged.
The structure of the Resflux.ini complies with of an INI file as defined here:
http://en.m.wikipedia.org/wiki/INI_file
From the INI File wiki page, you can learn about which one is a key, section or comment.
From it, you may start studying how to write your own.
If you are a programmer, you may find it very easy to understand on how it works. And you can see that you are like dealing with objects. For now, we only have drawable, string, color, boolean, integer, layout, resflux and ini.
Rules
Resflux have rules in when it comes to syntax, grouping and arrangement.
RULE 1: The Resflux.ini can contain only keys, sections, comments and blank lines(with space or not) and should follow their corresponding syntax and must occupy a line therefore two keys in a single line is not honored.
For comments:
Code:
# [any text here]
; [any text here]
For sections:
Code:
[package.name.here]
For keys:
Code:
object.property_name = value
object.property_name : value
For blank lines:
A an empty line or composed of whitespaces.
If an invalid syntax is found, resflux will return error status 0
RULE 2: All resflux.* must be grouped together and must be placed before sections and any other keys except comments.
When this rule is violated, Resflux will return Error Status 1 during an attempt of importing it.
Rule 3: ]: All ini.* must be grouped together and must be placed after resflux.* and before sections and any other keys except comments.
When violated, it returns error status 2.
Rule 4: Before starting defining a key, you must have atleast defined a section. A section is composed of a opening square bracket "[", followed by the package name of the target app, and then a closing square bracket "]".
For example:
Code:
[com.my.app]
Rule 5: Each key must follow their respective value's format.
For drawable:
it could be a PNG image relative path like:
Code:
drawable.ic_launcher = icon.png
# or it could be also a color hex code:
drawable.ic_launcher = #ffff0000
For color:
color can have a single possible format for its value.
Code:
color.bg_color = #ff0000
For boolean:
boolean can only have two choices, the value could be either true or false.
Code:
boolean.enable_nothing = true
boolean.enable_nothing = false
For string:
string can have any value.
Code:
string.app_name = anything you want!!!
# enclosing value with quotes is also fine and work with all types of keys
string.app_name = "!want you anything"
OMG! the first themeing engine for gingerbread! many thanks sir! much appreciated it! :good:
i'm gonna try it soon & report back.
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
GermainZ said:
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
Click to expand...
Click to collapse
Thnx for the reminder sir...
I've uploaded it to the Xposed Repo.
I'm also planning to make it open sourced, but I still need to fix some things up. XD
Excelent work.
Enviado desde mi LG-D802 mediante Tapatalk
Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...
EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?
GermainZ said:
Two quick questions:
Will you upload this to the Xposed repo?
Do you plan on making the source available?
Thanks
Click to expand...
Click to collapse
mattdm said:
Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...
EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?
Click to expand...
Click to collapse
It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...
I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...
WisdomSky said:
It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...
I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...
Click to expand...
Click to collapse
Yeah, I let it go even longer, and it finally finished. I'm on an S4 Mini, which only has a dual-core Snapdragon 400.
Now my other problem is that when I look in the drawables of Dialer or Camera, there doesn't seem to be any launcher icon in the list. (I'm running an AOSP-based rom, FYI)
mattdm said:
Yeah, I let it go even longer, and it finally finished. I'm on an S4 Mini, which only has a dual-core Snapdragon 400.
Now my other problem is that when I look in the drawables of Dialer or Camera, there doesn't seem to be any launcher icon in the list. (I'm running an AOSP-based rom, FYI)
Click to expand...
Click to collapse
I believe the Camera is part of Gallery.apk and the Dialer is on Phone.apk
WisdomSky said:
I believe the Camera is part of Gallery.apk and the Dialer is on Phone.apk
Click to expand...
Click to collapse
Ohhhh, right. Now I feel dumb. This is an awesome module, I'm gonna have fun with it!
I'd like to offer a UI suggestion if I may though. Some of the lists are very long, and they scroll very slow on my phone. How about enabling a draggable scroll bar on the lists, so we can jump down to the bottom quickly?
mattdm said:
Ohhhh, right. Now I feel dumb. This is an awesome module, I'm gonna have fun with it!
I'd like to offer a UI suggestion if I may though. Some of the lists are very long, and they scroll very slow on my phone. How about enabling a draggable scroll bar on the lists, so we can jump down to the bottom quickly?
Click to expand...
Click to collapse
someone actually granted your wish already...
http://forum.xda-developers.com/xposed/modules/mod-force-fast-scroll-force-listviews-t2785006
WisdomSky said:
someone actually granted your wish already...
http://forum.xda-developers.com/xposed/modules/mod-force-fast-scroll-force-listviews-t2785006
Click to expand...
Click to collapse
Oh, nice! Thanks for pointing that out.
New problem...I changed the Hangouts launcher icon, but it's not actually changing after I restart. Any idea why this might be?
mattdm said:
Oh, nice! Thanks for pointing that out.
New problem...I changed the Hangouts launcher icon, but it's not actually changing after I restart. Any idea why this might be?
Click to expand...
Click to collapse
have you check the resflux in the xposed installer?
are you using samsung's default launcher?
coz I think it caches the packages' icon that's why u can't see the changes...
WisdomSky said:
have you check the resflux in the xposed installer?
are you using samsung's default launcher?
coz I think it caches the packages' icon that's why u can't see the changes...
Click to expand...
Click to collapse
Yes, I have it checked in the Xposed Installer. No, I'm using the Google Now Launcher (running SlimKat). The xSuite module also has trouble changing the Hangouts icon...there must be something different about it than other apps.
Great
Enviado desde mi unknown mediante Tapatalk
mattdm said:
Yes, I have it checked in the Xposed Installer. No, I'm using the Google Now Launcher (running SlimKat). The xSuite module also has trouble changing the Hangouts icon...there must be something different about it than other apps.
Click to expand...
Click to collapse
does resflux works fine with the other apps?
WisdomSky said:
does resflux works fine with the other apps?
Click to expand...
Click to collapse
Actually, I'm not sure. It's taking me quite a long time to test...I haven't been able to find a launcher icon to try to change in Phone, Dialer, Camera, Gallery, or Chrome. And each time I try a new app, it takes 5 - 10 minutes to map the resources. I'll find a small app to try and let you know...
EDIT: Ok, I just tried changing the icon of Buildprop Editor, and it worked perfectly.

[THEMES][TOOLS] Apps Assets Generator Custom Samsung Themes ~ by crayonyes ~

I made this windows batch script for generating 3rd party apps asset
so you can include them in Custom samsung Themes / XDA samsung themes. Enjoy!
If you use this tool in your theme, I'm expecting a free download of that theme for me personally,
that's a mutual share, right ? LoL :good::laugh:
Please don't post this tool on new thread or claim it. If you want to mod it let me know.
background:
One of samsung theme weakness is, you can't theme the notification panel freely,
themes on samsung theme store have white notification panel with black text.
We can color the notif background with overlay, or custom theme, but still can't change notif text color.
Even substratum still can't color the notif text.
There are ways to achieve this tho * @envy~ is preparing the guide, will replace this with link LOL *
and this thread / tool is about the custom samsung theme way, using 3rd party app assets.
Because all apps included in samsung theme assets will get themed following that theme color rule.
We can also put custom overlay in the 3rd party apps asset, so the Theme is richer !
So what does this tool do ?
- it is a windows batch script, so you'll have to run it in your windows computer/ laptop.
- it will generate ready to compile apk folders, then you compile them and put the APKs in your theme assets
it will also generate assets.txt, you can copy the content and paste it to themes.json file
- list of apps to be generated will be in attached file applist.txt
Please contribute to this project by posting apps package names that you added.
HOW TO USE
- download attached file ThemeAsset.zip and applist.txt
- put them in same folder, unzip then you'll have this in 1 folder = app_template (folder), generate_apps.bat , applist.txt
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
- run generate_apps.bat
- you'll get assets.txt and apps folder, ready to compile.
Still confuse ? Ask your Themer to use it instead. LoL
==================================================
What is this ?
https://forum.xda-developers.com/ga...y-overlays-t3604341/post73336824#post73336824
To make it get along with substratum:
https://forum.xda-developers.com/showpost.php?p=73580652&postcount=60
...
Show Cases
This Tool has been used in following Projects :
- [THEME] C o f f e e ~
apps list as of 11/23/2017
300+ apps and counting ...
air.RunPee
air.com.redcodelabs.RadareRO
air.com.sgn.familyguy.gp
au.com.shiftyjelly.pocketcasts
bbc.iplayer.android
blibli.mobile.commerce
ch.protonmail.android
com.Slack
com.UCMobile.intl
com.acmeandroid.listen
com.adguard.android
com.adguard.android.contentblocker
com.aftership.AfterShip
com.alibaba.aliexpresshd
com.amazon.dee.app
com.amazon.kindle
com.amazon.mShop.android.shopping
com.amazon.storm.lightning.client.aosp
com.amazon.venezia
com.amc
com.americanexpress.android.acctsvcs.uk
com.android.chrome
com.android.egg
com.android.phone
com.android.providers.downloads
com.android.server.telecom
com.android.vending
com.andtek.sevenhabits
com.appaholics.keyboardswitch
com.appeffectsuk.bustracker
com.appeffectsuk.bustrackerpro
com.arlosoft.macrodroid
com.asana.app
com.audible.application
com.azure.authenticator
com.backdrops.wallpapers
com.barclays.android.barclaysmobilebanking
com.barclays.bca
com.bbm
com.bca.sakuku
com.bitmango.go.wordcookies
com.blanja.apps.android
com.bloomberg.android.plus
com.booking
com.brisk.jpay
com.brit.swift.samsung
com.bsb.hike
com.bskyb.skygo
com.btpn.dc
com.bukalapak.android
com.calea.echo
com.chase.ccs.ink
com.cherrypickgames.myhospital
com.cinemark.mobile
com.citymapper.app.release
com.com2us.smon.normal.freefull.google.kr.android.common
com.coremobility.app.vnotes
com.cubicdreams.feedmesh
com.deliveroo.orderapp
com.digibites.accubattery
com.dinomarket.app
com.directv.dvrscheduler
com.dmp.android.joule
com.dropbox.android
com.dunkinbrands.otgo
com.dvd.kryten
com.ea.game.simpsons4_row
com.ebates
com.ebay.mobile
com.espn.score_center
com.estrongs.android.pop
com.estrongs.android.pop.pro
com.etsy.android.soe
com.evernote
com.facebook.katana
com.facebook.lite
com.facebook.mlite
com.facebook.orca
com.fgsinfotama.skytrade.neo
com.fitbit.FitbitMobile
com.foxnews.android
com.freevpn.vpn_master
com.freshmenu
com.fusionmedia.investing
com.gettaxi.android
com.glasswire.android
com.globalegrow.app.gearbest
com.gojek.app
com.goodmooddroid.gesturecontrol
com.google.android.apps.access.wifi.consumer
com.google.android.apps.books
com.google.android.apps.docs
com.google.android.apps.fireball
com.google.android.apps.inbox
com.google.android.apps.magazines
com.google.android.apps.maps
com.google.android.apps.ondemand.consumer
com.google.android.apps.paidtasks
com.google.android.apps.photos
com.google.android.apps.plus
com.google.android.apps.tachyon
com.google.android.apps.translate
com.google.android.apps.wallpaper
com.google.android.calendar
com.google.android.gm
com.google.android.gms
com.google.android.googlequicksearchbox
com.google.android.music
com.google.android.ogyoutube
com.google.android.talk
com.google.android.youtube
com.gsamlabs.bbm.iconpack1
com.gsamlabs.bbm.pro
com.handmark.expressweather
com.harvestapp
com.ideashower.readitlater.pro
com.imo.android.imoim
com.india.foodpanda.android
com.infonow.bofa
com.instagram.android
com.internet.speed.meter
com.jamworks.easyhome
com.kabouzeid.gramophone
com.kakao.talk
com.keramidas.TitaniumBackup
com.kila.addnotification.lars
com.kms.free
com.lara.android.youtube
com.lastpass.lpandroid
com.lazada.android
com.lenovo.anyshare.gps
com.locationlabs.sparkle.yellow.pre
com.mega.cast
com.microsoft.office.outlook
com.microsoft.skydrive
com.microsoft.xboxone.smartglass.beta
com.mins.tracker.activity
com.mins.tracker.express.activity
com.my.mail
com.myfxbook.forex
com.nam.fbwrapper.pro
com.netflix.mediaclient
com.newsblur
com.nextradioapp.nextradio
com.nianticlabs.pokemongo
com.ninefolders.hd3
com.nll.acr
com.nng.igo.primong.igoworld
com.nowaitapp.consumer
com.oasisfeng.greenify
com.olacabs.customer
com.opera.browser
com.opera.max.global
com.opera.max.oem
com.paul.icon
com.paybyphone
com.paypal.android.p2pmobile
com.pinterest
com.plexapp.android
com.priceline.android.negotiator
com.privateinternetaccess.android
com.publicobject.shush
com.pushbullet.android
com.quoord.tapatalkHD
com.quoord.tapatalkpro.activity
com.samsung.android.app.notes
com.samsung.android.app.reminder
com.samsung.android.app.scrollcapture
com.samsung.android.app.simplesharing
com.samsung.android.app.spage
com.samsung.android.app.watchmanager
com.samsung.android.beaconmanager
com.samsung.android.gearfit2plugin
com.samsung.android.gearoplugin
com.samsung.android.incallui
com.samsung.android.oneconnect
com.samsung.android.personalpage.service
com.samsung.android.spay
com.samsung.android.themestore
com.samsung.kick
com.samsung.knox.securefolder
com.samsung.oh
com.samsung.tmowfc.wfccontroller
com.sec.android.app.SmartClipEdgeService
com.sec.android.app.launcher
com.sec.android.app.samsungapps
com.sec.android.app.sbrowser
com.sec.android.app.sbrowser.beta
com.sec.android.app.shealth
com.sec.android.app.voicenote
com.sec.android.easyMover
com.sec.android.easyMover.Agent
com.sec.android.mimage.photoretouching
com.sec.android.soagent
com.sec.app.screenrecorder
com.sec.ims
com.sec.imsservice
com.sec.spp.push
com.sec.sprextension
com.sec.sprextension.phoneinfo
com.sec.sprint.wfc
com.sepulsa.android
com.shopback.app
com.shopee.id
com.skype.raider
com.snapchat.android
com.snapfish.mobile
com.snoggdoggler.android.applications.doggcatcher.v1_0
com.spotify.music
com.sprint.care
com.sprint.zone
com.squareup.cash
com.srin.indramayu
com.starbucks.mobilecard
com.supercell.clashofclans
com.tatemgames.dreamgym
com.tencent.mm
com.textra
com.tinyco.familyguy
com.tinyco.futurama
com.tmobile.pr.mytmobile
com.tmobile.tuesdays
com.todoist
com.tokopedia.tkpd
com.topjohnwu.magisk
com.tumblr
com.turner.pocketmorties
com.twitter.android
com.ubercab
com.ubercab.driver
com.ubercab.eats
com.ubisoft.dragonfire
com.upc.myupc.ro
com.urbandroid.sleep
com.urbandroid.sleep.addon.generic.samsung
com.utorrent.client.pro
com.viber.voip
com.vkontakte.android
com.vokal.fooda
com.walmart.android
com.wf.wellsfargomobile
com.whatsapp
com.xda.labs
com.xda.labs.play
com.yahoo.mobile.client.android.fantasyfootball
com.yahoo.mobile.client.android.mail
com.yahoo.mobile.cliient.android.sportacular
com.yelp.android
com.yelp.android.biz
com.zegoggles.smssync
com.zing.zalo
de.axelspringer.yana
de.axelspringer.yana.zeropage
de.motain.iliga
de.orrs.deliveries
dev.ukanth.ufirewall
dev.ukanth.ufirewall.donate
ekawas.blogspot.com
eu.chainfire.supersu
eu.darken.bluemusic
fi.polar.polarflow
fi.rojekti.clipper
flipboard.app
hu.tagsoft.ttorrent.pro
io.friendly
it.mvilla.android.fenix
it.mvilla.android.fenix2.preview
jd.cdyjy.overseas.market.indonesia
jp.gocro.smartnews.android
jp.jskt.launcher
jp.naver.line.android
mega.privacy.android.app
mobi.lockdown.weather
nalic.app.wifishare
net.darksky.darksky
net.slickdeals.android
net.webis.informant
nextapp.fx
org.blokada
org.blokada.origin.alarm
org.fdroid.fdroid
org.kman.AquaMail
org.mozilla.firefox
org.mozilla.firefox_beta
org.mozilla.focus
org.rojekti.clipper
org.skvalex.cr
org.skvalex.cr.unlock
org.telegram.messenger
org.telegram.plus
org.vndnguyen.phoneinfo
ovo.id
project.vivid.themesam
projekt.substratum
ro.activesoft.ziarecom.ziareapp
ro.bino.noteincatalogparinte
ro.dcgavril.calendarortodox
ro.eon.myline
ru.forpdateam.forpda
ru.fourpda.client
ru.freeman42.app4pda
ru.ok.android
substratum.piereligio.bst
taxi.android.client
uk.amazon.mShop.android
uk.co.centrica.hive
uk.co.ee.myee
video.player.videoplayer
xyz.klinker.messenger
zaka.com.amperemeter
Boom! new toy for ya
LONG STORY SHORT, THIS THING WILL MAKE YOUR THEME WITH DARK/BLACK NOTIFICATIONS TO HAVE A FIXED LIGHT COLORED TEXT.
F*CK i mean FAQ:
Q: What's this all about?
A: It's about injecting 3rd party apps to a Samsung theme for it to have a fixed Notification colors.
Q: To what is this for?
A: It's for a Samsung theme that HAVE A NOTIFICATION TEXT COLOR MODIFICATION ON ITS COLORS.XML with these codes:
notification_title_color
notification_text_color
notification_info_color
with a light colored values, eg:#ffffffff
*only several of custom themes have this
Q: Why do I need this?
A: Because you chose to have a black notification color background, and you cannot see its text clearly and you want a fix for it.
Q: Why it's not integrated to all the themes?
A: Because clearly no other themes from the store has black notifications, only here on XDA.
Q: So where are those themes?
A: Boston public market
Q: Why Substratum cannot theme the text properly? Only the notification background?
A: Explanation and theory here: link
-it's simply because that Substratum overlays are a collection of standalone app/apk that can only be installed separately so it's not affected by the framework notif text modifications where in Samsung Themes it's installed together as a same package/app with Samsung signature at the same time of applying (framework fix + all the asset apk inside the theme)
Q: These are all Chinese to me, but I still want to have a perfect black notification colors.
A: these are not meant for you, it's for theme developers whos doing custom Samsung Themes.
Q: I said I still want to have it!
A: Assuming you already got black notification background with unreadable texts, and If you're willing to DIY, try to Learn stuff is the best answer, have a basic knowledge about decompiling and recompiling of apk, I suggest you to use TICKLE MY ANDROID *it's an all in one apktool that does magic.
Very Thanks @Ticklefish
Q: I have a favorite Samsung Store themes and I want them to have a black notifications as well, is there any guide somewhere to integrate this?
A: The OP is your very guide, understand its purpose.
ANTI-GUIDE:
1. Decompile your preferred theme: it's located inside on:
/data/app/com.themename.blabla folder
and it's called "base.apk"
*do not touch the other theme folders (.home .wallpaper and .appicon) only the base.apk of the one that has the theme name folder ONLY.
2. Once decompiled, check the files and look inside the "assets" folder
ASSETS FOLDER= there you have the collection of apks that has the specific modifications for that theme.
3. What you need to do now is to COPY ALL THE APK FILES generated by this tool (3rd party apps) inside that assets folder. *I said apk files not app folders
4. Now look for the theme.json file and edit it (using Notepad++)
5. COPY ALL THE LINE OF CODE/ASSET APK NAMES generated also by this tool (assets.txt) SOMEWHERE IN BETWEEN the already available app code names. *this will prevent you to mess up the .json file) if you don't do this and you fcked up the "comma" on the codes. Prepare for theme FC and Master theme package broken error.
** be sure that the amount of 3rd party apps apk you put on the Assets folder are also the same exact amount of code names you inject on theme.json file.
6. Recompile the theme again and re install it to your device by deleting the previous version first.
*IMPORTANT* once you modify a Samsung Theme from the store regardless if it's paid or not, it will be converted to a TRIAL THEME VERSION so you must do the drill, sorry to say.
Q: I'm not rooted will I still be able to grab the theme base.apk?
A: Yes try to use ES file Explorer, or any other File manager that has a feature to view files inside root/device directory, just make a copy of it to somewhere you have access to *remember to rename the base.apk to the theme name to avoid confusion
Q: Why the heck I'm still having a dark text color even though I did all this stuff?
A: Because you restarted your phone or it came from a dead battery and you open it.
So YOU MUST RE-APPLY THE THEME EVERY AFTER REBOOT
*proper reapplying of theme: After reboot apply Default theme first then your modified theme again.
Q: How to prevent the this from happening?
A: lessen your reboots, there is no prevention for this, as it's just a workaround to fix it.
Q: Workaround? why?
A: Coz it's just soft coded and not having a Samsung signature for those apps and not included to the AndroidManifest file of the theme.
Q: It's too technical for me and I'M ROOTED anyway is there another simpler method for doing this?
A: There sure is! I called it the Framework Fix but you still need to learn how to edit APK. And you can forget everything what's posted on here if you do this.
MORE INFO: LINK
----
example of a theme with perfect dark notification colors:
(shameless plug)
@envy~ i thought u're gonna start new thread for the guide.
I think it will be better and u can put all links in op
REMEMBER :
your theme must have a notification text color modifications on colors.xml for all of these things to work, so you must do it first.
migrate and complete these codes to the color.xml of your theme's ...COMMON.APK
notification_title_color
notification_text_color*
notification_info_color*
to a light colored hex value like #ffffffff (pure white)
---------- Post added at 10:24 AM ---------- Previous post was at 10:21 AM ----------
crayonyes said:
@envy~ i thought u're gonna start new thread for the guide.
I think it will be better and u can put all links in op
Click to expand...
Click to collapse
I think no need,lol
I conclude that the only target market for doing this trick is only the ones who care enough to put that 3 code modifications on colors.xml of common apk ?
@envy~ does that mean you will be updating your theme sir?
Sent from my SM-N950U using Tapatalk
bigmase01 said:
@envy~ does that mean you will be updating your theme sir?
Sent from my SM-N950U using Tapatalk
Click to expand...
Click to collapse
I'm always updating, I'm just not releasing
I'm just so occupied with my work schedule.
(working on a ship for almost 12hrs a day with broken sked)
envy~ said:
I'm always updating, I'm just not releasing
I'm just so occupied with my work schedule.
(working on a ship for almost 12hrs a day with broken sked)
Click to expand...
Click to collapse
Please release new updates for your themes on xda bro. Cause the ss at the bottom of the guide looks awesome.
@crayonyes
Hello
just one thing i don't understand.
How do you compile folder generate by your script ?
Because with TMA it doesn't work. It tells me Error! No App's Found Within "_working" Folder!
Thanks for help
kramer04 said:
@crayonyes
Hello
just one thing i don't understand.
How do you compile folder generate by your script ?
Because with TMA it doesn't work. It tells me Error! No App's Found Within "_working" Folder!
Thanks for help
Click to expand...
Click to collapse
Generally you can compile it using apktool command.
I've never tried TMA and android studio tho ... I usually used Apk Studio,
but then I made batch script to compile, sign and zipalign folders :good::laugh:
crayonyes said:
Generally you can compile it using apktool command.
I've never tried TMA and android studio tho ... I usually used Apk Studio,
but then I made batch script to compile, sign and zipalign folders :good::laugh:
Click to expand...
Click to collapse
ok i just find this method to compile
Usually i use TMA but i find APK Easy Tool here
https://forum.xda-developers.com/android/software-hacking/tool-apk-easy-tool-v1-02-windows-gui-t3333960
so i create first a fake apk empty txt file
for example with tapatalk
1 create com.quoord.tapatalkpro.activity.txt and change extension txt to apk
2 put this file in the in folder
3 put the folder creates by your script in working folder
4 then compile it and voila !!
more simple than apktool command
thanks so much for your batch script ! very very helpfull :highfive:
@crayonyes
Hello
I tried to mod Samsung Music (change some colors and images) but it doesn't work . May be you know why
Else you can add in your list these apps
com.riteshsahu.SMSBackupRestore
keepass2android.keepass2android
jackpal.androidterm
mega.privacy.android.app
com.samsung.android.weather
com.samsung.android.bluelightfilter
org.adaway
envy~ said:
Q: I'm not rooted will I still be able to grab the theme base.apk?
A: Yes try to use ES file Explorer, or any other File manager that has a feature to view files inside root/device directory, just make a copy of it to somewhere you have access to *remember to rename the base.apk to the theme name to avoid confusion
Click to expand...
Click to collapse
I have tried every file explorer I could find and none grant root access to the data folder. Tried using an apk extractor as well as a few back up apps none provide the apk I need. Any other way or could someone with root download and grab the apk for me :fingers-crossed:. The theme is called Blue Glow in the Samsung theme store and it is a free theme.
Hi guys,
This thread will be very useful, i think. I have some question about theming. Anyone have problem with viewing bmp file in samsung app drawable. Could you share any software or solution for that.
osuki9x said:
Hi guys,
This thread will be very useful, i think. I have some question about theming. Anyone have problem with viewing bmp file in samsung app drawable. Could you share any software or solution for that.
Click to expand...
Click to collapse
@crayonyes @envy~
Any help? Please share your experience.
^bmp and spr files are pain in the ass on Samsung apks, Im just guessing those drawables when making my custom ones, I never got a way to crack those, But there's a tool here on xda that convert qmg files to png, I case you don't know about it.
May we get a guide for creating theme asset apk which changes appicon? which xmls needs to be edited etc?
Would be awesome =)
Maybe one example app which u create
I tried this program with envy themes but it didn't work.
can you help me ?

[MOD] Change apps' icons - system and user apps everywhere

Hello,
i'd like to share instructions for a mod that lets you use custom images (.png) as icons for apps system-widely (in recents menu, in launchers, included One UI home) in stock-based samsung roms.
This works fine on Android Pie 9 rom (it might work also on Android 10 Q if the engine hasn't changed).
Story:
I was searching a way to get rid of adaptive icons (i hate small icons inside white circles, i simply can't find my apps) and get back freeform legacy icons. Unfortunately OneUI home launcher does not allow custom icons, while using third-paty launchers only lets you change icons on the launcher side and not in the whole android system.
Samsung has created a great theme engine but they like to protect their things from personal use too (seriously: who's still making money from theming nowadays?).
Basis:
You need to edit the theme_app_icons.xml file in framework-res.apk from system/framework folder and the only way I found is by replacing framework-res.apk with a modded one (ROOT needed).
I made several attempts to create a working overlay (root-less) for this particular file in framework-res but it seems that strangely this file cannot be overlayed using the Resource Overlay framework (Samsung restrictions? So far it seems that other themers could not find a way, too).
So, for ROOT-LESS users, you can only customize predefined samsung/google apps icons (apps listed in theme_app_icons.xml).
INSTRUCTIONS:
1) decompile framework-res.apk (i used TickleMyandroid https://forum.xda-developers.com/showthread.php?t=1633333)
2) go to decompiled res/xml folder, open and edit theme_app_icons.xml adding new entries for the apps you want. For editing you can use Notepad++, avoid Windows notepad.
You need to add the package name of the app and an ic_xxxxxx custom icon name you'll use later.
For example, if you want to customize the icon of the XDA app you'll add this line:
Code:
<ThemeApp className="com.xda.labs" iconId="ic_xda" />
3) save, recompile (for recompilation errors you need to look in the error log and delete duplicate entries in styles.xml similarly to what is described here https://forum.xda-developers.com/showpost.php?p=78541190&postcount=838 )
Then drag and drop the theme_app_icons.xml FROM the recompiled apk TO the original framework-res.apk, because if you use directly the recompiled apk you might have bootloop (apktool problem with res folders, happens also for other system apks)
4) now -directly replace- or -system-lessly replace using a Magisk module- the framework-res.apk with the modded one and reboot
5) Open the Galaxy Theme store, download a random icon pack but DO NOT APPLY IT, export the apk (you can find it in data/app folder), decompile it and replace and add icons in res/drawable-xxxxdpi folder with your custom PNG icons (you can also replace default .qmg files with .png ones).
Now recompile the modded icon pack apk and replace the downloaded one on the phone with the recompiled pack
(you can A- directly install it over the original one if you have the "Core Patch" edxposed module/Smali patcher signature mod magisk module or B- uninstall the original pack using the terminal command "pm uninstall packagename" and immediately install the recompiled one.
The same concept can be used to install custom themes, for example these or using the "Custom Themes Installer for OneUI Pie" app )
6) Finally apply the icon pack using Galaxy theme store and you are done.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(my freeshape/touchwiz style drawer)
NOTES:
-The modded icon pack might disappear from the personal list in Galaxy theme store after a reboot, but the icons will stay there (and also the installed icon package).
-Every app still has its legacy icon in res/mipmap folders, so you can extract and use it in your icon pack
- you can adjust the icon size using the "icon_scale_size" integer inside the icon pack (max 100)
Hope you enjoy, i've been experimenting a lot during this lockdown time. I'll try also to answer the questions and give help.
This looks promising! is there anyway that the icon shape can be changed too?
Archmag3 said:
This looks promising! is there anyway that the icon shape can be changed too?
Click to expand...
Click to collapse
Thanks,
Do you mean this ? :
https://source.android.com/devices/tech/display/adaptive-icons#implementation
I have tried everything and any 3rd app and nothing worked (hex themed part of the apps) , coffee app doesn't work at all , hope this method will work on Android 10 , will try later.
ninestarkoko said:
Thanks,
Do you mean this ? :
https://source.android.com/devices/tech/display/adaptive-icons#implementation
Click to expand...
Click to collapse
Yes, more or less on those lines. I personally hate the squarecicle icons, can something like rounded rectangle be achieved? something that miui, huawei etc has
ninestarkoko said:
Hello,
i'd like to share instructions for a mod that lets you use custom images (.png) as icons for apps system-widely (in recents menu, in launchers, included One UI home) in stock-based samsung roms.
This works fine on Android Pie 9 rom (it might work also on Android 10 Q if the engine hasn't changed).
Story:
I was searching a way to get rid of adaptive icons (i hate small icons inside white circles, i simply can't find my apps) and get back freeform legacy icons. Unfortunately OneUI home launcher does not allow custom icons, while using third-paty launchers only lets you change icons on the launcher side and not in the whole android system.
Samsung has created a great theme engine but they like to protect their things from personal use too (seriously: who's still making money from theming nowadays?).
Basis:
You need to edit the theme_app_icons.xml file in framework-res.apk from system/framework folder and the only way I found is by replacing framework-res.apk with a modded one (ROOT needed).
I made several attempts to create a working overlay (root-less) for this particular file in framework-res but it seems that strangely this file cannot be overlayed using the Resource Overlay framework (Samsung restrictions? So far it seems that other themers could not find a way, too).
So, for ROOT-LESS users, you can only customize predefined samsung/google apps icons (apps listed in theme_app_icons.xml).
INSTRUCTIONS:
1) decompile framework-res.apk (i used TickleMyandroid https://forum.xda-developers.com/showthread.php?t=1633333)
2) go to decompiled res/xml folder, open and edit theme_app_icons.xml adding new entries for the apps you want. For editing you can use Notepad++, avoid Windows notepad.
You need to add the package name of the app and an ic_xxxxxx custom icon name you'll use later.
For example, if you want to customize the icon of the XDA app you'll add this line:
Code:
<ThemeApp className="com.xda.labs" iconId="ic_xda" />
3) save, recompile (for recompilation errors you need to look in the error log and delete duplicate entries in styles.xml similarly to what is described here https://forum.xda-developers.com/showpost.php?p=78541190&postcount=838 )
Then drag and drop the theme_app_icons.xml FROM the recompiled apk TO the original framework-res.apk, because if you use directly the recompiled apk you might have bootloop (apktool problem with res folders, happens also for other system apks)
4) now -directly replace- or -system-lessly replace using a Magisk module- the framework-res.apk with the modded one and reboot
5) Open the Galaxy Theme store, download a random icon pack but DO NOT APPLY IT, export the apk (you can find it in data/app folder), decompile it and replace and add icons in res/drawable-xxxxdpi folder with your custom PNG icons (you can also replace default .qmg files with .png ones).
Now recompile the modded icon pack apk and replace the downloaded one on the phone with the recompiled pack
(you can A- directly install it over the original one if you have the "Core Patch" edxposed module/Smali patcher signature mod magisk module or B- uninstall the original pack using the terminal command "pm uninstall packagename" and immediately install the recompiled one.
The same concept can be used to install custom themes, for example these or using the "Custom Themes Installer for OneUI Pie" app )
6) Finally apply the icon pack using Galaxy theme store and you are done.
View attachment 4989669 (my freeshape/touchwiz style drawer)
NOTES:
-The modded icon pack might disappear from the personal list in Galaxy theme store after a reboot, but the icons will stay there (and also the installed icon package).
-Every app still has its legacy icon in res/mipmap folders, so you can extract and use it in your icon pack
- you can adjust the icon size using the "icon_scale_size" integer inside the icon pack (max 100)
Hope you enjoy, i've been experimenting a lot during this lockdown time. I'll try also to answer the questions and give help.
Click to expand...
Click to collapse
This is interesting. I just found that theme_app_icons.xml and tried to make an overlay to target it and failed. Then do a bit research lead me to this post. But I still want to find out why the overlay method didn't work. So could you share your steps and method that you use to overlay target that xml? I have a thinking that maybe the level of priority of the overlay is the issue.
well theres 2 minutes im not getting back. -_-
osuki9x said:
This is interesting. I just found that theme_app_icons.xml and tried to make an overlay to target it and failed. Then do a bit research lead me to this post. But I still want to find out why the overlay method didn't work. So could you share your steps and method that you use to overlay target that xml? I have a thinking that maybe the level of priority of the overlay is the issue.
Click to expand...
Click to collapse
I simply edited one of the stock overlays you can find in /vendor/overlay folder. Tried fiddling a bit but was unsuccessful.
Please let me know if you find a solution (as far as i know not even professional themers so far have found the right way)
ninestarkoko said:
Hello,
i'd like to share instructions for a mod that lets you use custom images (.png) as icons for apps system-widely (in recents menu, in launchers, included One UI home) in stock-based samsung roms.
This works fine on Android Pie 9 rom (it might work also on Android 10 Q if the engine hasn't changed).
Story:
I was searching a way to get rid of adaptive icons (i hate small icons inside white circles, i simply can't find my apps) and get back freeform legacy icons. Unfortunately OneUI home launcher does not allow custom icons, while using third-paty launchers only lets you change icons on the launcher side and not in the whole android system.
Samsung has created a great theme engine but they like to protect their things from personal use too (seriously: who's still making money from theming nowadays?).
Basis:
You need to edit the theme_app_icons.xml file in framework-res.apk from system/framework folder and the only way I found is by replacing framework-res.apk with a modded one (ROOT needed).
I made several attempts to create a working overlay (root-less) for this particular file in framework-res but it seems that strangely this file cannot be overlayed using the Resource Overlay framework (Samsung restrictions? So far it seems that other themers could not find a way, too).
So, for ROOT-LESS users, you can only customize predefined samsung/google apps icons (apps listed in theme_app_icons.xml).
INSTRUCTIONS:
1) decompile framework-res.apk (i used TickleMyandroid https://forum.xda-developers.com/showthread.php?t=1633333)
2) go to decompiled res/xml folder, open and edit theme_app_icons.xml adding new entries for the apps you want. For editing you can use Notepad++, avoid Windows notepad.
You need to add the package name of the app and an ic_xxxxxx custom icon name you'll use later.
For example, if you want to customize the icon of the XDA app you'll add this line:
Code:
<ThemeApp className="com.xda.labs" iconId="ic_xda" />
3) save, recompile (for recompilation errors you need to look in the error log and delete duplicate entries in styles.xml similarly to what is described here https://forum.xda-developers.com/showpost.php?p=78541190&postcount=838 )
Then drag and drop the theme_app_icons.xml FROM the recompiled apk TO the original framework-res.apk, because if you use directly the recompiled apk you might have bootloop (apktool problem with res folders, happens also for other system apks)
4) now -directly replace- or -system-lessly replace using a Magisk module- the framework-res.apk with the modded one and reboot
5) Open the Galaxy Theme store, download a random icon pack but DO NOT APPLY IT, export the apk (you can find it in data/app folder), decompile it and replace and add icons in res/drawable-xxxxdpi folder with your custom PNG icons (you can also replace default .qmg files with .png ones).
Now recompile the modded icon pack apk and replace the downloaded one on the phone with the recompiled pack
(you can A- directly install it over the original one if you have the "Core Patch" edxposed module/Smali patcher signature mod magisk module or B- uninstall the original pack using the terminal command "pm uninstall packagename" and immediately install the recompiled one.
The same concept can be used to install custom themes, for example these or using the "Custom Themes Installer for OneUI Pie" app )
6) Finally apply the icon pack using Galaxy theme store and you are done.
View attachment 4989669 (my freeshape/touchwiz style drawer)
NOTES:
-The modded icon pack might disappear from the personal list in Galaxy theme store after a reboot, but the icons will stay there (and also the installed icon package).
-Every app still has its legacy icon in res/mipmap folders, so you can extract and use it in your icon pack
- you can adjust the icon size using the "icon_scale_size" integer inside the icon pack (max 100)
Hope you enjoy, i've been experimenting a lot during this lockdown time. I'll try also to answer the questions and give help.
Click to expand...
Click to collapse
I installed an icon pack from galaxy themes store, but the only thing I see in data/app folder is SystemUI.apk, Is it supposed to be SystemUI.apk? what am I missing?

Categories

Resources