An Introductory Guide To Theming Miui
Much like CM7’s theme chooser, Miui has it’s own powerful theme engine. If you’ve ever wanted to create your own theme or have a theme that you like, but want to make some personalized changes; then this guide’s for you. This guide is intended as a supplement to Team D3rp’s thread; [Guide][Reference] An Intro to Themeing. Please keep all questions, comments, and suggestions in this thread Miui related also feel free to hit us up at #miuithemes on the IRC. General theme questions, image editing questions, xml editing questions, or anything of that nature should be asked in the afore mentioned thread. Before we begin it’s necessary to thank scott951 and bigrushdog for there past, present, and future work on this rom. In addition, thanks to toastcfh & Cayniarb for they’re work on the AOSP kernel, to bliind for his ongoing IRC support, tips & tricks, and lastly thank you to Team D3rp (il Duce, ranger61878, thoughtlesskyle, vanessaem, dkdude36, jdeloach, and pstevep), all the old HeroC guys, the many talented themers, and everyone else on XDA and IRC who continue to advance my knowledge of the Android Operating System.
To begin your adventure into the world of Miui theming you will need some tools, listed below:
7zip or similar archiving program
Notepad ++ or similar text editor
gimp or another image editor of your liking
Root Explorer (or your prefered file manager with root access)
Patience, patience, patience
Time, time, time
A willingness to bork your theme over and over again until you’re satisfied with how it looks
Recommended knowledge of adb and/or Android Commander- not required but may save you the time of having to restore a nand.
Table Of Contents: for your convenience in finding specific areas of help.
Lesson 1: File Structure
Lesson 2: Beginning Your Theme
Lesson 3: Lockscreens
Lesson 4: Changing Icons
Lesson 5: SystemUI
Lesson 1-File Structure
Before you can actually theme anything, you need to learn and understand the basic file structure used by Miui. Themes are compressed into zip files with a .mtz extension and are applied by the Miui theme engine at “run time”, meaning you can change almost any aspect of your theme on the fly, without a reboot. Download my intro.mtzfor use along with this guide. This is the default Miui theme with a simple lockscreen included that you will have to edit (It works but you will have to edit it per my instructions for it to look good), and a generic android boot animation / boot audio file. If you currently have a theme that you are generally happy with and would prefer to edit that more to your liking, you may do so by opening the Miui theme engine, select customize, scroll down to the bottom of the page and select “Backup Theme” After the backup finishes running, navigate to /sdcard/Miui/theme/backup and move the “backup.mtz” to your computer. Now let’s extract our .mtz and have a look at what’s inside. Right click on the intro.mtz, select 7zip from the popup window, and then select extract. Now navigate to the extracted intro.mtz folder and have a look inside. You should see the following:
“boots” folder
“preview” folder
“ringtones” folder
“wallpaper” folder
“com.android.launcher” zip file
“description” xml file
“icons” zip file
“lockscreen” zip file
The folders can be opened as any normal non-compressed document folder, the zip files (although their extensions are nonconventional can be extracted with 7zip, and the xml file can be edited with notepad ++.
Lesson 2 – Beginning Your Theme
Decide what you want your theme to be called and create a new folder for it somewhere that’s easily accessible.
Open up the description xml with notepad ++ and edit it to reflect your theme name on this line: <title>Default</title> (Change default to the name of your theme), edit this line: <author>MIUI</author> (Change MIUI to your name), and edit this line: <version>1.0</version> (from 1.0 to whatever version # you would like to call your theme). Save your changes and move the document to your newly created theme folder.
Now, if you so desire, in your theme folder create a sub-folder entitled “boots”. Place any boot animation & boot audio files in there that you would like to use, and make sure they are named correctly (bootanimation.zip & bootaudio.mp3).
Create a “preview” sub-folder next. This is where you’ll put screenies of your theme as you continue to develop it. Make a note of the file names and sizes in our original preview folder, also if you look you’ll see that some of the photo’s are jpegs and some are pngs. I’m not sure as though it matters, but I’ve developed a habit of keeping the extensions the same.
Now you can create an optional “ringtones” subfolder and assign rintones, notifications, and alarm sounds, by default when applying your theme. Use any mp3 you like so long as the files are named alarm.mp3, notification.mp3, and ringtone.mp3.
Create a “wallpaper” sub-folder within your theme folder next. This will be the home of your theme’s default wallpapers. Again look back at the intro.mtz and notice the size of the wallpapers in that folder and the file names. When you put your jpegs in this folder make sure they are named exactly default_lock_wallpaper & default_wallpaper.
Congratulations, you’re now on your way to making your own custom theme. Now that we have the simplest things covered and out of the way, we can really start to dig in and do some theming!
Lesson 3 – Lockscreens
Skipping over icons for a moment, lets jump to the lockscreen. As you know by now our Evo 3D’s QHD displays don’t play nice with a lot of lockscreens. So lets have a look at what we can do to fix some lockscreens. Please keep in mind that depending on which lockscreen you want to use they will require varying degrees of changes to work properly. The lockscreen I included with the intro.mtz functions, but looks terrible so now we’re going to fix it.
{
"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"
}
Extract the “lockscreen” file that you downloaded. Inside you’ll see an advance folder.
Open the advance folder. This is where the lockscreen magic happens. In this folder are all of the lockscreen png’s and the manifest.xml
Let’s start with the png’s.
-Resize bg to 540X854
-Resize bottom to 540X178
-Resize bottom_batterylow to 540X178
-Resize bottom_batterylow_light to 540X240
-Resize charging_bg to 540X178
-Resize charging_bg_mask to 540X178
-Resize status_bar to 540X40
-Resize time_bg to 540X107
Feel free at this time to edit and/or replace any of the png’s in here, as you see fit, but be sure to keep the icon names correct and watch out for the .9png’s (there are none in this lockscreen, but if you’re using a different one beware).
Now that the png’s have been fixed let’s have a look at the manifest.xml, shall we? Our images are all the proper size, but if we loaded the lockscreen now the icons and text would all be shifted to the left of the screen. In addition to making positional adjustments in this file we can change font sizes, font colors, time & date format, even which apps the lockscreen will launch. Go ahead and open that xml file now with notepad ++.
Find the two lines that begin with <DateTime. On these lines you can change the x & y locations to get the proper spacing from the edge of the screen. (x is the horizontal plane, y is vertical x0,y0 being the top left corner of the screen). You can change the text color (#FFFFFFFF) to whatever you like, the font size (size="22"), and the date format (format="EEEE, MMM d")
Now, work your way down through the xml file making any adjustments you want to make to text sizes, colors, and the necessary x shifts to get your lock screen lined up and centered. If by chance you get stumped, compare your manifest.xml with my manifest_edited.xml.
*hint, I usually use a pencil and paper to draw out the screen, then calculate how big of a left margin I want, add the image widths, to figure how big of a change to make. For example x20 + 480 png width=500 (leaving a margin of 40 on the right). Now if I change to x30 + 480 png width = 510 (leaving me a margin of 30 on both sides).
Once you’re done editing the .xml save it (keeping the original of course to refer back to)
Back out of the advance folder now and right click on it. Select 7zip from your popup window and “add to archive”. When prompted, save as “lockscreen.File”, set your file type as .zip and save your lockscreen to your theme folder. After it saves delete the .File from the name. Windows will prompt you that this may make the file unusable, click ok.
Navigate to your theme folder and select all of the contents inside of it (boots, preview, etc…). After selecting all of your theme components, right click again, select 7zip, and add to archive. Save your theme as “whatever_name”.mtz again choosing .zip as the file type.
Place your newly created theme on your sd card in /sdcard/MIUI/theme
Apply your theme and enjoy. If you’re happy with your lockscreen take a screenie to add to your preview folder when you make your next edits. Remember if you do something that breaks your lockscreen you can unlock by pressing back & volume up, or you can use adb to delete lockscreen from /data/system/theme and push a good lockscreen back.
Lesson 4 – Changing Icons
Changing your desktop and folder icons is a great way to enhance your theme. Miui’s theme manager makes this a relatively simple process. You can edit the default system icons with your image editor, or take your favorite icon collection and resize them to 90 X 90 pixels if you wish to keep the default Miui icon size. Lets begin!
Navigate to your intro.mtz and use 7zip again to extract the icon.File
Inside your extracted icon folder you’ll find all of the icons for the default system apps.
Changing system app icons
Find the icon that you want to replace in the folder. Let’s use the browser for example.
Find the icon you want to replace it with and rename that icon to com.android.browser
Copy your new browser icon into the icon folder, overwriting the existing one.
Adding icons for user installed apps is a little more involved but worth the extra time to make your theme complete. Here is where it’s handy to have Root Explorer.
Let’s say we want to add an icon for dropbox
To do this we need to know the process name. There’s a couple of ways we can figure this out. Since every app installed creates a data folder we can use Root Explorer to look in /data/data for the package name of dropbox.
If the package name didn’t jump out at you, don’t worry there’s another way to do this. Again using Root Explorer navigate to /data/app and find the dropbox apk, long press on in and select “extract all”, navigate to /sdcard/extracted and open up the extracted dropbox apk. Now tap the AndroidManifext.xml file, which should open up a text document and the very first line should give you the manifest package name.
By now you should know that the package name for dropbox is com.dropbox.android
Find the dropbox icon you want to use.
Rename the icon to com.dropbox.android
Drop the icon into your icon folder.
Repeat these steps for all of the icons which you want to replace.
Once you are finished replacing and / or adding icons, from within the icon folder, select all, then right click, select 7zip, and add to archive.
When the 7zip popup screen appears, save them as icons.File
Delete the .File extension
Move your zipped icons file to your theme folder.
Zip your themes folder up as a .mtz and apply it to your phone the same as you did after you finished your lockscreen.
Again, if you are happy with your icons take a couple of screenshots for your preview folder.
One last side note in regards to icons. You may notice some apps such as google + install additional icons to your homescreen (G+ Messenger). I have not figured out the image naming trick yet for these icons to display from the theme, but I’m working on it. For the time being I extracted my G+ Messenger and replaced the icon in the /res/drawable-hdpi folder, but I am searching for the correct way of doing this and will update accordingly once it’s figured out.
Lesson 5 – SystemUI
Now, we're going to add a whole new element to our theme. We're going to create a SystemUI zip in our theme mtz. Examples of some things that we can change in SystemUI are notification bar icons (signal, battery, gps etc), Statusbar back ground, and the various tabs you see in your drop down expanded notification page. Let's begin.
Create a working folder somewhere easily accessible on your computer (I like to work from my desktop)
Inside of your working folder, create a subfolder named "res"
download my theme_values_SysUI.xml, place it in your working folder (not in the "res" subfolder), and rename it to theme_values.xml.
Now you will need a SystemUI.apk from Miui. You can either unzip the rom on your computer and move the .apk to a convenient location of your choosing, or you can use adb to pull the SystemUI.apk from your phone. It's located in /system/app.
Now that you have your SystemUI.apk, using 7zip, extract it.
Open up your extracted apk and navigate to the "res" folder. Copy the "drawable-hdpi" folder and the "raw" folder and move them to the working folder on your desktop, placing inside of the "res" subfolder you created earlier.
Begining with the "drawable-hdpi" folder, use your image editor to make any .png adjustments that you want incorporated into your theme, or replace the png files as you see fit. Be sure to maintain the nomenclature of the images if you opt to replace them. Beware of editing .9.png's as they cannot be edited in a conventional fashion. If you need help editing .9.png's there are several methods and guides around xda. Or ask in [Guide][Reference] An Intro to Themeing.
When you're finished with the drawable-hdpi folder move to the raw folder. This is where your battery icons are located, contrary to Sense and CM7 roms. You'll notice that there are not 200 little battery png's but 3 large png's with all of the images put together in a sort of battery collage. To assemble a battery collage, take your individual battery pngs and resize them to 38 X 38. For graphical and charge indicators, you will now need to create a new image sized at 152 X 190, copy and paste your individual png's into the large image so that you have 5 rows each with 4 png's. Follow the same procedure for making a % png, except that you'll be using 10 rows of 10 images, so your png size should be 380 X 380.
When you're done with all of your images, open up the theme_values.xml with notepad ++ and make any color edits that you see fit. Please note, that these color changes will have minimal impact on the look of your theme. Most of the color changes of your system will not happen here. These are default values for only a handfull of apps.
When you're finished editing the xml save it and close it.
Finally select your theme_values.xml and your "res" folder and right click your mouse, select 7zip, and add to archive. In the 7zip popup window name your file com.android.systemui (no additional extension here, make sure it does not say zip at the end....just: com.android.systemui)
After the folder is compressed and zipped, move it to your theme folder and zip your theme up as a .mtz as you have been doing right along. Apply theme to your phone and enjoy.
To Be Continued…..Next update will be for Framework-res or launcher depending on my upcoming amount of free time!!!
Additional Information: Tips, Tricks, & Links
Advanced Lockscreens - Tips and Tricks
Thanks il Duce for these links:
Lockscreen 2.0 Reference
General Miui Tips & Tricks
I wasn't born rich, I'm good lookin' instead!!
Great job Hockey!! Love how everything is coming together!
Added to the OP in the one stop shop also.
Edit: This is really thorough. Very nice indeed.....
Awesome work
Sent from my PG86100 using xda premium
Place holder for me
Is that all we do to the manifest because I really want that Evoluer slider to unlock my phone.
Temari x Shikamaru
scott951 said:
Place holder for me
Click to expand...
Click to collapse
Thank you sir, for providing us with a rom worthy of the time it takes to do all of this!......No disrespect intended to any of the other developers who's roms I also use, but I've fallen head over heels for Miui
knowledge561 said:
Is that all we do to the manifest because I really want that Evoluer slider to unlock my phone.
Temari x Shikamaru
Click to expand...
Click to collapse
Well, there's a lot you can do with the manifest xml, but to make them work properly yeah....It's just resizing the png's and shifting the x & y values accordingly for our screen size. I'm downloading the lockscreen you're trying to use now.
Thanks for this.
hockeyfamily737 said:
Well, there's a lot you can do with the manifest xml, but to make them work properly yeah....It's just resizing the png's and shifting the x & y values accordingly for our screen size. I'm downloading the lockscreen you're trying to use now.
Click to expand...
Click to collapse
Thanks because im Stumped!!!! If you manage to hook it up do you think you can throw in that green charging light? And when its not charging it turns blue when you touch it? Check out "ikun" to understand the lockscreen.
Temari x Shikamaru
vanessaem said:
Thanks for this.
Click to expand...
Click to collapse
My pleasure. Hopefully everyone including myself can learn from this, because I'm certainly no expert. Just a guy who like to take stuff apart to see how it works.
knowledge561 said:
Thanks because im Stumped!!!! If you manage to hook it up do you think you can throw in that green charging light? And when its not charging it turns blue when you touch it? Check out "ikun" to understand the lockscreen.
Temari x Shikamaru
Click to expand...
Click to collapse
I'll do what I can. First let's see if I can get it to work right Working lots of O/T right now so I haven't had a heap of time.
Thanks so much for this hockeyfamily737!
Sent from my PG86100 using Tapatalk
Thanks homie.
Temari x Shikamaru
Also I will possibly be able to help out on this as well if someone doesn't get it figured out by Sunday... been working alot of double shifts..
knowledge561 said:
Thanks because im Stumped!!!! If you manage to hook it up do you think you can throw in that green charging light? And when its not charging it turns blue when you touch it? Check out "ikun" to understand the lockscreen.
Temari x Shikamaru
Click to expand...
Click to collapse
Sent from my PG86100 using Tapatalk
Hey, nice introduction =)
If anyone is inerested in speeding up the process of testing your themes, I have created a Makefile/Windows Batch file for compressing themes and pushing them to the phone auto-magically
http://forums.miui.us/showthread.ph...ild-Script-(Windows-Unix)-Now-with-a-Makefile
Let me know if you guys have any problems!
Thank you for posting this amazing tutorial!
I am slowly fixing my lock screen, I'll post some before and after screen shots.
Before:
After:
thanks for this. i rlly needed it....
now to figure out more stuff...
steam374 said:
Thank you for posting this amazing tutorial!
I am slowly fixing my lock screen, I'll post some before and after screen shots.
Before:
After:
Click to expand...
Click to collapse
Terrific and this was the one I was trying to do today. Great job with this.
Brought to you from my EVOlutionary 3-Dimensional Smartphone
Wow! Great work... looking forward to more. Thanks hockeyfamily!
Sent from 3D A.W.E.S.O.M-O
Related
Hello hello everyone. I recently picked up this Atrix and thought I would mess around with it a bit. I searched the forums here a couple of times and didn't see anything about the animated pull downs so thought I would whip one up for you to enjoy. If you haven't heard of this modification, it's it exactly how it sounds... When you slide down the notification / status bar screen the animation will start and will cycle through on repeat. Imagine it kind of like the looping part of the boot animation playing on the screen. I am not the creator of this modification. It was first presented here: http://www.droidforums.net/forum/droid-themes/151983-animated-status-bar-pulldown-gb-roms.html So special thanks to Alastrionia!
Instructions for Windows users... (Linux users: You should be able to follow along, as the idea is the same in both)
Things you will need:
The knowledge that whatever you do with this information is YOUR responsibility and not mine, nor the creators / developers of the mod and / or rom.
Basics -
Working computer.
Time.
Patience.
Animation / Idea for making your own animation.
Computer Programs -
Java: http://www.java.com/en/download/chrome.jsp?locale=en
Apk Manager: http://forum.xda-developers.com/showthread.php?t=695701
Command Prompt: Start Menu > Search/Run box > Type: CMD > Hit Enter
Text Editor (Suggested - Notepad++: http://notepad-plus-plus.org/download/v5.9.3.html)*
Archive Managing program (ie WinZip, WinRar, 7zip) (Suggested - 7zip: http://www.7-zip.org/download.html)*
Image Manipulation program - (whether it be Photoshop, Paint.Net, or GIMP we'll refer to it as PIMP for short from now on)
(Suggested - Dark Silent GIMP: http://dl.dropbox.com/u/9903887/PCApps/Dark_Gimp.rar)*
If wanting to make one with images from a video you will also need -
A Video (if you are wanting to use one from, say, www.youtube.com then you would copy/paste that web address to a site like www.savevid.com Hit Download, Run Java Applet and select size/quality)
Video Editor (Suggested - iWiSoft Free Video Converter: http://www.iwisoft.com/videoconverter/)*
Apks -
SystemUI.apk (rom.zip > system > app > SystemUI.apk)
framework-res.apk (rom.zip > system > framework > framework-res.apk)
moto-res.apk (rom.zip > system > framework > moto-res.apk)
blur-res.apk (rom.zip > system > framework > blur-res.apk)
Move apks to the "other" folder in the Apk Manager.
(Let's say my Apk Manager folder is on my Desktop and I have renamed it ApkManager.)
The path to move the apks to would be:
C:\Users\es0tericcha0s\Desktop\ApkManager\other
Change directories to the "other" folder which you moved the apks to. In Command Prompt:
cd C:\Users\es0tericcha0s\Desktop\ApkManager\other
Enter these 3 commands:
java -jar apktool.jar if framework.res.apk <Enter>
java -jar apktool.jar if moto-res.apk <Enter>
java -jar apktool.jar if blur-res.apk <Enter>
Place SystemUI.apk in the Apk Manager place-apk-here-for-modding folder.
Double Click the Script.
Choose 22.
Choose the number of SystemUI and hit Enter.
Choose 9 for Decompile.
Naviage to Apk Manager > projects > SystemUI > res > drawable hdpi > status_bar_background_animationX.png and open your PIMP.
Edit to your heart's delight.
Common Question:
How big does the image need to be? - The screen size is 540 px x 960 px. However, I didn't even think to check this as I am used to 480 x 854 from my last few phones, and it looks fine... Your results may vary.
What kind of animation should I do? - Only you can answer that! If you are having trouble of thinking of ideas, browse the forums and see if you can't find some ideas. Search www.youtube.com for a cool video. Play with some creating some logos. Only limitation is your imagination.
After editing images...
status_bar_background_animation
Navigate to Apk Manager > projects > SystemUI > res > drawable > status_bar_background_animation.xml and open with your Text Editor. Here you will be able to adjust for the amount of images you want and the speed of the image changes. You can just go from 1 - "X" number sequentially or you can have the images go 1-2-3-4-5-6-5-4-3-2 etc. depending on the style of animation or if you are trying to keep the image number down.
Save xml.
Common questions:
How many images can I have? - I'm not sure. The one I made has 31 and there have been no issues whatsoever. The original Droid would not like many on most roms, but the difference in power and speed of the two are vast, as I am sure you are aware of. With the amount of RAM / processing power, I'm sure you could easily have 50 or more.
What duration should I change the animation to? - Again, this really depends on what you are going for. How the animation looks, how many images you have, etc. I did not change mine for the default "200" Trial and error ftw!
After that... (it really does not matter what order you do these in, but this might help you the first time or two to have a set path)
Navigate to Apk Manager > projects > SystemUI > res > layout > status_bar_tracking.xml and open with Text Editor.
Find -
android:background="@android:color/transparent"
Change to -
android:background="@drawable/status_bar_background_animation"
Save xml.
{Now I wanted to try and keep both the transparent color and the animation but I could not figure out how to do a double attribute. If you know what that is, and have ideas on how to implement in this case, lemme know please.}
-What that means to the layperson is that I am not sure how to control the transparency quite yet.-
After you have edited your images and xml and saved all of them go back to the script for Apk Manager and choose 11 to compile. After it finishes it will ask you if it is a system apk (Y/N). "Y" + Enter. It will ask you if you want to keep blah blah blah (Y/N). "Y" + Enter.
Go to the "keep" folder in Apk Manager > keep and delete the "res" folder and the resources.arsc file (this is the lazy way ).
Go back to the Apk Manager script and hit Enter.
The apk will be completed and named unsignedSystemUI.apk and you will find it in the "place-here-for-modding" folder. Even though it says unsigned, it is signed and you will not need to do anything else to it beyond renaming it to SystemUI.apk. This new finished SystemUI.apk will be added to a flashable zip file in this format (open zip as archive to not break the signature):
flashable.zip > system > app > replace previous SystemUI.apk
Place this on your SD card and install via ClockworkMod Recovery. You will not need to wipe data or cache for this.
The example that I have made is themed for the Alien Rom (green version) built by developer kennethpenn and showcased here: http://forum.xda-developers.com/showthread.php?t=1186537 - So the rest of the thanks go to him as I like the rom and it inspired me to make this in the first place.
http://dl.dropbox.com/u/9903887/AlienPullDown.zip
It is the Alien text from his thread that each letter fades in 1 at a time after each other and then it glows and fades away, then repeats. Nothing crazy, just wanted something that went with the rom that would not be offensive to anyone. It's a good base to use since I have already have all of the fixes there that you could edit to your liking. If you would prefer the stock images vs. the green Alien theme from the rom, then find the SystemUI.apk of the rom you are using and open both the stock SystemUI and the flashable zip as archives and replace the images of all but the status_bar_background_animationX.pngs.
Sorry if this seems crazy difficult, but I just wanted to be thorough so even relatively new people can at least see how it is made. If you need help, hit me up on Talk with my screen name. Enjoy!
*I receive no form of compensation for these recommendations. I merely suggest them as they are free, have a fair amount of support, and work well enough for me.*
I made a how to on this a while back,
http://forum.xda-developers.com/showpost.php?p=16184786&postcount=88
Haha. Nice. I searched the forum three different ways and didn't find anything. Ah well. There's still a new animated pull down for Alien rom users.
Oh - That and XDA has the thread suggestion box when you first go to post a new thread title too, and it wasn't there. XDA needs to partner with Google for the search engine algorithm. Heh
I just flashed this using Romracer unlocked CWM over top of Alien 4 w/theme. It worked beautifully.
Here is screenshot
{
"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"
}
Thanks for the screenshot. I was trying to take some video earlier, but couldn't get it to work right...
es0tericcha0s said:
Thanks for the screenshot. I was trying to take some video earlier, but couldn't get it to work right...
Click to expand...
Click to collapse
It definitely took a bunch of shots to get it just right.
es0tericcha0s said:
Thanks for the screenshot. I was trying to take some video earlier, but couldn't get it to work right...
Click to expand...
Click to collapse
Any chance you could make one that has Android on it.
Sent from my MB860 using XDA Premium App
You can also use the ultimate online theme kitchen to add an animated pull down. They have several on there already.
Sent from my 2.3.4 Atrix with an unlocked bootloader!
coldfusionb said:
Any chance you could make one that has Android on it.
Sent from my MB860 using XDA Premium App
Click to expand...
Click to collapse
I could be persuaded... What color text do you want? Do you want it to just have the letters fade in and glow like the Alien text? Lemme know and I'll see what I can do.
es0tericcha0s said:
I could be persuaded... What color text do you want? Do you want it to just have the letters fade in and glow like the Alien text? Lemme know and I'll see what I can do.
Click to expand...
Click to collapse
I would love to have it GB green and fade in. I think that will go with more roms. Thanks
Sent from my MB860 using XDA Premium App
Excellent work! I got this working perfectly on my ATRIX. Built it myself following your instructions instead of copying and pasting, just to make sure I got it right. However, I tried porting to my captivate themes and it just sits at the first animation.png. Its a gb 2.3.4 rom that uses systemui.apk, the modded systemui.apk recompiled perfectly, I made the shade_bg.png transparent, as well as status_bar_background_.png just for good measure, but no animation. Pulled it down several times, all animations are on, tried rebooting, tried reflashing, and its not working. I literally did everything the exact same way on both devices, works on ATRIX but not cappy. Weird.... Anyone have any ideas to help me out?
Sent from my MB860 using XDA Premium App
10tonhammr said:
Excellent work! I got this working perfectly on my ATRIX. Built it myself following your instructions instead of copying and pasting, just to make sure I got it right. However, I tried porting to my captivate themes and it just sits at the first animation.png. Its a gb 2.3.4 rom that uses systemui.apk, the modded systemui.apk recompiled perfectly, I made the shade_bg.png transparent, as well as status_bar_background_.png just for good measure, but no animation. Pulled it down several times, all animations are on, tried rebooting, tried reflashing, and its not working. I literally did everything the exact same way on both devices, works on ATRIX but not cappy. Weird.... Anyone have any ideas to help me out?
Sent from my MB860 using XDA Premium App
Click to expand...
Click to collapse
Thanks! I tried to be super thorough to make it as painless as possible for you. I know it sucks to have to piece together everything through a bunch of threads (not a knock against the author of the other thread, as I was unaware when I first posted). As far as for the Captivate, my first thought is that if it is a TouchWiz based rom, then you will also need to make the same adjustment in the TWFramework (I think) in the /system/framework/TWFramework.apk That or whatever the main TouchWiz apk is in framework. I had a Fascinate for a brief period of time and it had something or other to do with that. Hope that helps!
es0tericcha0s said:
Thanks! I tried to be super thorough to make it as painless as possible for you. I know it sucks to have to piece together everything through a bunch of threads (not a knock against the author of the other thread, as I was unaware when I first posted). As far as for the Captivate, my first thought is that if it is a TouchWiz based rom, then you will also need to make the same adjustment in the TWFramework (I think) in the /system/framework/TWFramework.apk That or whatever the main TouchWiz apk is in framework. I had a Fascinate for a brief period of time and it had something or other to do with that. Hope that helps!
Click to expand...
Click to collapse
Thanks for the reply. I'll definitely look into it, but the twframework-res.apk was rendered almost obsolete and useless in the gb builds. Everything status bar related was moved to the sysui.apk. Having said that, it will of course turn out to be the problem. Thanks again, and ill report back.
Sent from my MB860 using XDA Premium App
One of my friend's pointed out a couple of other potential culprits could be image size and / or timing on the animations. Have to remember that the Atrix will be able to play larger animations much more smoothly than the Captivate could (not that it isn't a nice phone, but still single vs dual core...). Just in case the TouchWiz stuff doesn't pan out...
es0tericcha0s said:
One of my friend's pointed out a couple of other potential culprits could be image size and / or timing on the animations. Have to remember that the Atrix will be able to play larger animations much more smoothly than the Captivate could (not that it isn't a nice phone, but still single vs dual core...). Just in case the TouchWiz stuff doesn't pan out...
Click to expand...
Click to collapse
Yea, the TW stuff did not pan out. I tried tweaking the anim speed, to no avail. The one I'm using is only 9 frames and played perfectly on my atrix, so I'll try tweaking the image sizes. Thanks for the ideas. Its driving me nuts, lol. WORK, DAMN YOU, WORK!!
I tried making a 30+ frame animation back when I first starting messing with this and it caused SystemUI to FC so I think there is a limit, but I don't know what it is. Ive got 15 frames working fine.
9 images, sounds familiar.
The ALIEN animation is 31 images, and I haven't had any issues with that one. It's not large though since it is a semi transparent background and just text. If you want, I could take a look at what you are working on and see if I don't see something that might be tweaked?
es0tericcha0s said:
The ALIEN animation is 31 images, and I haven't had any issues with that one. It's not large though since it is a semi transparent background and just text. If you want, I could take a look at what you are working on and see if I don't see something that might be tweaked?
Click to expand...
Click to collapse
Thanks guys, but I think I found the problem. Reviewing the stat bar tracking.xml code at work D) and there is some missing code that appears in the ATRIX sysui.apk and not in the cappy version. Ill be testing tonight and report back.
Sent from my MB860 using XDA Premium App
Hey there guys. Sorry, but I have already moved on to another phone, so can't really do much more to help with this one. The Atrix was meant to be my next phone, but shortly after purchasing my first GSM phone, I learned that that version of the phone is not completely compatible with the HSPA+ bands of T-Mo so I sold it to get a LG G2x. I wish you all luck with modding your phone and if you do have specific questions, I will be more than willing to try and provide assistance, but I will no longer have the time to make more stuff for the phone such as the "Android" pull down I was working before. Good luck and good night.
Tried looking for a way to change those green highlights that are everywhere in a sense based ROM. For example, when you are in a text message, the message body is highlighted in green and the send button turns green when you hit it. Is there any way to change these?
I'm running Mik Shifted-G v1.5, I have modified my task bar and notifications screen via UOT Kitchen. I'm looking for red if there's already a post somewhere, or a DIY tutorial. Thanks in advance
Some of these are application specific and others (the bulk I would say) are located in framework.res and com.htc.resources. In the two framework files, you are looking for .9 pngs in the res/drawable-hdpi folders. If you already have red png's to replace the green, you can just copy them over in 7zip. To change the existing green to red using the original files is a bit more complex and a lot more time consuming, but pm me if you need to go that route, and I can help you out.
I would suggest editing all framework files first and then look for any stray green bits that may be application specific.
Rynomite said:
Some of these are application specific and others (the bulk I would say) are located in framework.res and com.htc.resources. In the two framework files, you are looking for .9 pngs in the res/drawable-hdpi folders. If you already have red png's to replace the green, you can just copy them over in 7zip. To change the existing green to red using the original files is a bit more complex and a lot more time consuming, but pm me if you need to go that route, and I can help you out.
I would suggest editing all framework files first and then look for any stray green bits that may be application specific.
Click to expand...
Click to collapse
Thanks for the reply, I will check the framework files and go from there. Any specific program that you would recommend for editing the pngs?
It also depends on what Rosie.apk you use as well, like my rosie is Rosie 3 so the button presses for some of the dock are in fusion and some are in Rosie.apk its weird i guess its more or less finding the images you need edited for your version of sense, because now we have Sense 1-3 on the shifty
Sent from a Hybrid Supreme Shift
strapped365 said:
It also depends on what Rosie.apk you use as well, like my rosie is Rosie 3 so the button presses for some of the dock are in fusion and some are in Rosie.apk its weird i guess its more or less finding the images you need edited for your version of sense, because now we have Sense 1-3 on the shifty
Sent from a Hybrid Supreme Shift
Click to expand...
Click to collapse
This is true, I'm not sure I'm going to have fun with this
Sent from your Mom's Jitterbug
There are only a couple png's in Rosie that you need to change out. Like strapped365 was saying, there are variations among the different versions of Rosie, but you should be able to locate the files to edit fairly easily.
When editing .9 pngs, you must decompile them (not just extract and decompress). This can be done with apk manager. I use pixlr online to do the actual editing. Pixlr is free and it has a color change tool that works ok. Just be sure to use the selection tool to select only the colored area of the image you will change (I always select all but the 1px outer border). If you don't exclude the outer perimeter of the .9 in Pixlr, it won't recompile correctly.
Hope this helps. It took me a long time to learn how to this, but it's the best way I know to get purely custom colors.
Rynomite said:
There are only a couple png's in Rosie that you need to change out. Like strapped365 was saying, there are variations among the different versions of Rosie, but you should be able to locate the files to edit fairly easily.
When editing .9 pngs, you must decompile them (not just extract and decompress). This can be done with apk manager. I use pixlr online to do the actual editing. Pixlr is free and it has a color change tool that works ok. Just be sure to use the selection tool to select only the colored area of the image you will change (I always select all but the 1px outer border). If you don't exclude the outer perimeter of the .9 in Pixlr, it won't recompile correctly.
Hope this helps. It took me a long time to learn how to this, but it's the best way I know to get purely custom colors.
Click to expand...
Click to collapse
Thanks for your help. All of you, I will hit the thanks button when I get on my computer again. I want to customize my phone to my liking and this will definitely help a bunch
Sent from your Mom's Jitterbug
hey please let me know if you figured out how to do orange/red
Ladies and Gentleman
KnightWolf123 Does it again!!
Recently added a "How To" section for creating and porting a skin.
After hanging out here on XDA for a while, I thought that along with trying to build flashable zips to taylor something to function or look a certain way, I would assemble a few Skins. Mostly what we have here is what I felt looked really cool and I could change on the fly without having to flash something.
Also with not needing to flash in recovery, these files can be used by an android device
Rooted or Not Rooted,
With or without a custom rom,
Odexed or Deodexed,
CDMA or GSM
and the file doesn't need to be altered. The ONLY thing required is..
HTC SENSE 3.0 (most devices)
Post 2 - Details/info
Post 3 - Thanks section
Post 4 - How to Create your own skin
Post 5 - How to port a theme to a skin
Post 6 - What's in a m10 ?
Post 7 - Skins I have currently available
Post 8 - Other member skins
If you enjoy this work please hit the THANK YOU button
Details / Info
Disclaimer!! YOU and only YOU are responsible for your phone !!
These skins may be considered WIP (work in progress) so if there are any flaws just remember, it was FREE!
If you are on an unrooted phone or don’t have transparent status bar support, don't download the (clear stat bar) version of these skins.
Some have reported errors downloading, if errors please use another browser or download with PC
If you do download from mediafire with your phone and you get a ".txt" file just rename it to "whatever.apk"
HTC Desire, these skins may or may not work properly. sorry guys but you mat need to find those in your own thread.
Please note that the center icon/word phone in the rosie may differ depending on what rom your using or if your not rooted
To uninstall As with any other skin, simply goto from home screen... Menu/personalize/skin/menu/delete and choose any skin no longer wanted (must already be on a different skin as you cannot delete a skin if it is currently in use)
Thank You !
There are many people I need to thank and I am sure I will miss a few but here goes..
knightwolf123
myn
eg1122
mayfield103
bebida
zone23
magnusragnarock
fernandosor
jeffsanace
danweb66
team 420
team alpha
team derp
team badseed
team bamf
everyone I forgot
and everyone else that has an awsome theme or skin that has inspired me to get a look the way I did.
A few of these skins are Ports from full themes. click on the name above to see full theme page.
How to Create
OK Here goes...
please post if you have something helpfull to put here
Look here for links and to ask questions
This is a great post because you can find info on what file names you are looking for and what they do.
Here is a good link with lots of details for a skin
shared.m10 - I love this file. This is the bulk of what you see in a skin. This file is also found in the "fusion.apk" of a ROM or flashable theme. You can actually pull this from a theme, throw it into a skin and resign and BAM! New skin with your favorite look. Or vise versa. And you get your theme with the look of your favorite skin.
And this has helped me allot . Originally posted by Zone23
1)Install ApkManager & M10 tools(make sure to add apkmanager to your path)
2)Now go open up were apkmanager is installed and add your base apk to the(place-apk-here-for-modding).
3)Now run the Script.
4)Now run #22 to choose your current project(should be #1 if you only added one apk).
5)Now run #10 to decompile apk.
6)Once finished without closing the command prompt(Script)Open up the projects folder.
7)Open AndroidManifest.xml with NOTEPAD++(right click).
8)Now at the end of line #2 change the name of the skin to whatever you want to call it,save and close.
9)Now go to the assests folder and where the shared M10 volume is(it will be the folder with the name of the skin)
change that folder to the name that you used in the AndroidManifest.xml,but only the skin name and NOT the full string
for example com.KWM.CosmicBlue.apk(leave out everything but the "CosmicBlue")
10)Now go to /res/values/strings.xml and
right click to open and edit with NOTEPAD++,now edit line #4 to the name of your skin,save and close
11)Now adjust,replace,or modifiy any of the PNG files you want in the /res/drawable-hdpi & /res/drawable-land-hdpi.
12)Now to recompile your apk run #11.
13)Now open M10 editor without closing the other windows (just minimize them).
14)Now to edit the png's in the shared M10 we need to run the Load file,once finished make sure you check the box that says Decode images,Now run the Decompile/show button.
15)Edit the M10s files you want,I generally open the entire folder in explorer view. Once an icon appears on the right, right click it and open in explorer view. It’s a lot easier than picking the files one at a time. Make sure you’ve got everything because you won’t want to open this back up unless it’s absolutely necessary.
16)Now save M10 but uncheck were it says zipalign.It should be saved
back to the Modding folder.
17)Now to sign your apk go back to ApkManger(this is why you don't want to close any windows
during this procces)Run #4.All DONE!!!
18)Now after you do your first skin i suggest that you skip this last step and
follow these next two steps.
19)Now copy your apk to the Place-apk-here-to-batch-optimize folder and Run #15.
20)Now copy your apk to the Place-apk-here-for-signing folder and Run #16
Volume bar color is in "progress horizontal.xml"
How to port a theme into a skin !
This is a WIP
How to port a theme into a skin !
(May not be perfect or complete but it works for me)
This will not include xml edits or m10 edits
1) Learn how to use 7-zip and apkmanager then …
2) Download and place on desktop of pc (windows 7) these items… A base skin (use one of mine if you like), and from the theme you like get the com.htc.resources.apk and framework-res.apk (from the system/framework folder of the theme) and the systemUI.apk and fusion.apk (from the system/app folder of the theme)
3) Right click on desktop and create new folder. Label it “myskinfiles”
4) Then open (with 7-zip or other like program) theskinyouchose.apk and drag into your new folder the “res” folder from the skin.
5) Now open the resources file and drag onto the desktop C:\Users\USER\Desktop\com.htc.resources.apk\res\drawable-hdmi\ folder.
6) Now open the “myskinfiles” and snap it onto the left window side.
7) Open to res/drawable-hdmi and minimize.
8) Then open the drawable-hdmi from desktop and snap it into the right window side.
9) Now make sure you have both windows open and goto the right window and select all.
10) Drag all into left window. You will get a message that says “There is already a file with the same name in this location. “ On that window at the bottom where it says “do this for next 355 conflicts” check the box to the left then click on skip.
11) Then (while still highlighted) hit the “DELETE” key on your keyboard. (Let process complete)
12) Now goto right side folder and “select all” and drag to left folder again but this time select the box “do this for next 355 conflicts” and choose “Move and Replace”. Let complete and then minimize left window and close right window.
13) Now delete the C:\Users\USER\Desktop\drawable-hdmi and open framework then repeat steps 5 - 12 again with the drawable-hdmi in it then delete C:\Users\USER\Desktop\drawable-hdmi and finally, repeat steps 5 - 12 with the systemUI.
14) Now goto the skin and delete “res” folder and replace it with the C:\Users\USER\Desktop\myskinfiles\res you put together.
15) Next goto the C:\Users\USER\Desktop\fusion.apk and copy onto desktop the assets\Default\drawable\shared.m10 file.
16) Now open the skin you choose and drag that m10 into assets\skinnamefolder\drawable . it will say “confirm copy file” select yes.
17) If you want a transparent status bar and you have a ROM that supports it just go into the drawable-hdmi in your skin and find statusbar_background.png and use a program like gimp and make it totally transparent. If not then skip this step.
18) Close the skin and go into apkmanager and rename it, rezipalign it, and resign it.
Note...hdmi/hdpi you know what I mean
To port a sense 3.5 skin to sense 3.0 or vice versa follow a similar process.
Just transfer the contents from the drawable hdmi and assets folders of the original skin to the destination skin in the same method described above. It’s actually easier than porting from a theme.
For the wallpaper and skin preview just goto the image folder and replace the appropriately named files with your wallpaper of choice and take a screen capture of your finished skin then add it back into the skin and re sign.
I may have left a bunch of steps out but this will get you going until I can clean up this tutorial and add in what is needed. Have fun !!
.
What's in a m10 ?
M10 tools
What's in a m10? lots of stuff but here is a starter list...
this was provided by many members of the [intro to theming] and is where I start when I'm making a skin "My Way"
This list was started by il duce so make sure to thank him if you see one of his posts.
0x00000e37
0x00004205 = music buttons lockscreen
0x000021cf
0x0000287d = weather background
0x00003bc9 = center rosie button icon when pressed (center rosie button icon is in Rosie.apk)
0x000021f5 = left rosie button icon when pressed
0x00002831 = right rosie button icon when pressed
0x00003223 = rosie navbar screen normal
0x00002241 = rosie navbar lockscreen
0x00000231 = rosie left button icon static
0x000037a1 = rosie right button icon static
0x0000086d = lockscreen general widget background
0x00000893 = notification bubble background
0x0000092b = lockscreen calendar/alarm snooze button
0x00000951 = lockscreen calendar/alarm dismiss button
0x00000e83 = center rosie button background
0x00003c61 = huge widget background
0x00000ecf = right rosie button background?
0x000018c1 = large widget background
0x00001a3d = rosie slider thing
0x00001a63 = rosie navbar background layer3 ?
0x00001c9d = answer call button background
0x00002d17 = reject call button background
0x00002053 = lockring static (dragged lockring is in Idlescreen_Base.apk)
0x0000209f = right rosie button again?
0x00002669 = center rosie button background layer pressed ?
0x00002b9b = left rosie dragged app delete background ?
0x00003567 = right rosie dragged app delete background ?
0x00003b0b = medium widget background
0x000040fb = clock faded background
0x00002f77 = background for all sense medium and small widgets.
Skins currently available I've put together
Development skins
Cosmic Blue youtube clip
{
"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"
}
Cosmic Green youtube clip
Radiant Blue video
Radiant Red video
Radiant White
Honey Sense video
Honey Chrome V2
Pink youtube clip
Default HTC look
Warm RLS1 style
(semi clear stat bar)
Market Skins
Cosmic Blue
Cosmic Plus
Radiant Blue
Radiant Red
Radiant White
Clear Widgets
Clear Plus
Stock+Inverted clock
more coming soon!!!
** Market skins **
* Development skins *
as of 06 april 2012 all skins are RE pngoptimized and
zipaligned and more clear stat bar versions available !
if you have older version of skin(s) please redownload
.
.
Other Skins Available
d3rp Skins (new)
PlatinumAndroid skins
Requested or Remade Skins
Honey Chrome V2 ZR3D
Cosmic Blue V2 ReMiX
Download ZR3D skins (no name rosie)
well this is cool
il Duce said:
well this is cool
Click to expand...
Click to collapse
Thankies
I can't wait to see tuns of d3rp skins out one day. !
If anyone would like to see there theme into a skin I "might" be able to help. It's pretty easy. Except into a sense 3.5 skin. I haven't mastered that yet.
They are downloading as text files
Sent from my PG86100 using xda premium
knightwolf123 said:
Thankies
I can't wait to see tuns of d3rp skins out one day. !
Click to expand...
Click to collapse
We already have:
black beauty
white hot
orange magic
pink passion
Steve is working on all of them, also GSM awesome guy "ajthescot" is helping too
We'll probably start a new thread soon...
royshero said:
They are downloading as text files
Sent from my PG86100 using xda premium
Click to expand...
Click to collapse
Might be an issue with mediafire. Try downloading with a different browser or just use a PC then transfer them over.
Sent from my PG86100 using Tapatalk
Use firefox to download.
Sent from my PG86100 using xda premium
I think I'm going green for a while. I love alien wares
Wallpapers..
http://forum.xda-developers.com/showthread.php?p=22255401
Sent from my PG86100 using Tapatalk
Uploaded stock skin.
(looks as your phone did when you bought it)
Sent from my PG86100 using Tapatalk
Good job KW i remember u from the Mag days we would chat.
BTW been flossing ur other themes over the Chogardjr ROM 2.17 odex
and its sweet as hell I really love the anims u put in!! would love to see more anims...HINT HINT, but for now about to bust these new skins u got..
Keep up the good work and Thanks!!
romannsjr said:
Good job KW i remember u from the Mag days we would chat.
BTW been flossing ur other themes over the Chogardjr ROM 2.17 odex
and its sweet as hell I really love the anims u put in!! would love to see more anims...HINT HINT, but for now about to bust these new skins u got..
Keep up the good work and Thanks!!
Click to expand...
Click to collapse
Hell yeah! Just wait till we get a working copy of ICS w/ sense. I've got a hole bunch of stuff on the shelf!
Sent from my PG86100 using Tapatalk
weird stuff, i was able to download red and blue fine from my phone but the stock skin for some reason isn't downloading with dolphin, stock, stock HC, opera, chrome or IE.
Hopefully this thread will help others who are interested in or already are making moboot themes. It is in fact a very easy task to do as long as you keep a few important rules in mind.
Make sure the dimensions are exactly 1024x786
Keep in mind that the text menu is black. That being said, try making a theme that wont hide the text from the user.
Make it a habit to name your layers (if working in Photoshop)
Save your project in a .psd format for future tweaking.
Save the intended theme in the .tga format (renaming the extension to .tga might cause issues)
Do not forget to RLE COMPRESS when saving!
The bigger the file, the longer it takes to load. Try staying below a 2MB file size.
Using this photo as an example, it looks nice but left as is will conflict with the menu visibility.
This is how it would look.
Here is one way you can fix it. Simply create something that blends in nicely and also allows for the menu text to be legible.
Coming from a Samsung S7 edge to a V30 the biggest (and probably only) down fall is the severe lack of themes for the LG UI. Most themes on LG theme store seem to mostly just be wallpaper and icon changes. A lot of them do not actually change the colors of the Settings, quick toggles, and other LG apps.
The themes that are available it seems like half the time I am looking for a specific type of theme it does not exist anywhere. So it has gotten me interested in creating themes to help expand the available themes for this amazing phone.
However I can not seem to find how to create themes. I didn't see it on the LG world app, and I didn't see it on the LG website developers area, and I didn't see it with a Google search. Can someone point me in the right direction? I am not sure if it requires any Java coding or any other type of coding langauge. However I am.willing to learn whats needed to get some themes created. I just need to know the place and processor to create them.
Anyway to change the Emojis?
AndroidPurity said:
However I can not seem to find how to create themes. I didn't see it on the LG world app, and I didn't see it on the LG website developers area, and I didn't see it with a Google search. Can someone point me in the right direction? I am not sure if it requires any Java coding or any other type of coding langauge. However I am.willing to learn whats needed to get some themes created. I just need to know the place and processor to create them.
Click to expand...
Click to collapse
I havent tried it myself, but maybe LG ThemePark is the program to make them?
Oreo on v30 will allow substratum. We can only hope
epoch555 said:
I havent tried it myself, but maybe LG ThemePark is the program to make them?
Click to expand...
Click to collapse
iv tried using it but it hasn't been updated in some time plus you have to download an English translation patch as it in Korean.
I think it's pretty ridiculous no one who actually knows the answer to this has posted an answer to this after several weeks. It leads me to believe some people who know the answer have seen this thread and just don't want others to know? Prove me wrong and some one who knows please provide what is being used to create these themes for LG.
AndroidPurity said:
I think it's pretty ridiculous no one who actually knows the answer to this has posted an answer to this after several weeks. It leads me to believe some people who know the answer have seen this thread and just don't want others to know? Prove me wrong and some one who knows please provide what is being used to create these themes for LG.
Click to expand...
Click to collapse
Reminds me of the old them creator for BlackBerry. Plazmic. A few knew kinda how to use it and wouldn't tell anybody. Little to say, a team of 2 figured it out and started releasing tons of high quality free themes. ?
You may have already seen this, but here is a little bit of info
https://forum.xda-developers.com/showpost.php?p=74597574&postcount=45
Try this.
https://forum.xda-developers.com/showthread.php?t=2425402
I know this question was asked awhile ago, but I faced a similar issue with my LG Stylo 3 and want to report my findings. First off, Theme Park is available as a web application on LG's SmartWorld developer page http://us.lgworld.com/web.main.dev. However, I think you'll find its customizability to be severely disappointing. In fact, themes created using this are not even compatible with newer LG phones. The schema used for newer models is Home Theme+ (this is what my Stylo uses, and I assume it is what the V30 uses as well). I have scoured LG's dev site and could not find a straightforward way to develop Home Theme+, but it is possible and not super hard, albeit it can be time consuming. It will definitely help if you have some experience with Android app development (my personal experience is limited), however, no programming is necessary. You really only need to know how to edit XML/JSON files, and how to compile/decompile an Android app (there is a fantastic tool for this called apktool, created by Ryszard Wiśniewski and Connor Tumbleson which I will link to).
Tools Needed:
Apktool https://ibotpeaches.github.io/Apktool/
Apksigner (part of the Android SDK build tools) https://developer.android.com/studio/command-line/apksigner.html
Efficient way to create/edit XML and PNG files
Alternatively you could use Android Studio, which honestly might simplify the process.
I have provided a template for creating Home Theme+ themes here. This is just the preinstalled LG High Constrast theme which provides a great outline of what a theme should consist of. Use apktool to easily decompile it.
After spending hours of tweaking I was able to retheme the High Contrast app and brand it as my own. It honestly isn't too complicated, however, there is a LOT of settings, so it'll be up to you to figure out the specifics of what you need to edit in order to create your theme. Here is the general layout of what a Home Theme+ theme must consist of:
Inside the root directory there are 4 items:
assets (This is where the meat of your theme will go)
lib (Contains a dummy file. You can safely exclude this from your application.)
res (Contains basic drawables, preview images, and your application's title.)
AndroidManifest.xml (Important information about your application)
AndroidManifest
I'll start from the bottom up. If you're following a template, there are only a few things you'll need to change in the AndroidManifest. Find the <manifest> tag and edit the "package" attribute to your desired package name. It should be something like "com.your_company.theme.name_of_theme", where "your_company" and "name_of_theme" can be whatever you like. You'll also want to edit the <meta-data> "android:value" and <activity> "android:name" attributes to reflect this (Optionally, you can just set the <activity> "android:name" attribute to ".MainActivity"). Save and close this file, but be sure to remember the package name because you'll need to use it later.
res
Inside this folder are three others:
drawable-xhdpi-v4 - Contains PNG images of the Theme's preview (you can add additional preview images if you want) and the home and lockscreen wallpapers you would like to set. Follow the same naming conventions as listed in the template.
values - Two files: public.xml Lists everything in the res folder that the compiler should expect. If you add/remove preview images or wallpapers, you'll want to account for them in here. The "id" attribute for each tag can be an arbitrary value as long as it is unique. Go ahead an open this up and delete the tags named "app_info" and "app_tag". You won't need them. strings.xml contains your theme's name (this is how it will be displayed in the theme picker).
xml - Contains additional meta-data. Delete it. You won't need it.
assets
Here's where the fun begins. There are a few things in here, however, I will only go over what's in the overlays. Custom fonts and sound effects are completely optional, but feel free to mess around with those if you desire. The theme_info.json file is essentially a list of which applications you want to apply the theme to. Go ahead and open it and delete the "id" key/value pair. Now open the overlays folder. Inside here are a bunch of APK files. This modular setup makes it easy to pick and choose where you want to apply the theme. I'm not going to go over all of them, as their names are pretty self explanatory, but go ahead and decompile the one ending with ".common.apk". This package contains the theming for much of your general UI (such as status bar, navigation bar, text color, etc). Inside, you'll see a similar file structure as before, including an AndroidManifest and a res folder. Note: the smali folder is completely optional, and if you don't know what smali is you can safely ignore/delete this folder. First item of business is editing the AndroidManifest so that it matches your previously defined package name. You'll also want to add this tag somewhere inside it: "<uses-permission android:name="com.lge.permission.LGE_OVERLAY_THEME_APK"/>". This grants proper permission to modify system app themes. Now pop a look into the res folder. Its contents should look familiar. The multiple "xhdpi" folders all contain the same stuff, but target different resolutions. You can read more about them here. Basically the drawable-xxhdpi folders contain PNGs of various system wide UI elements (or app specific in the case of any of the other overlays). The values folder without an appended "hdpi" contains a public.xml, which functions exactly the same as previously mentioned. And the values-xxhdpi folders contain various settings for a specific resolution. I'll leave it up to you to play with them.
That's the basics of it! After recompiling an overlay APK, be sure to sign it or your theme will crash upon applying it (also be sure to sign your actual theme app with the same key). Read about the apksigner I linked to above for more info (I think Android Studio has an automatic way to sign apps with a key for debugging). Also be sure to update the theme_info.json file to list the package names of all the overlays you wish to apply.
Hopefully this helps someone. Let me know if you run into any trouble building or installing your APKs. As for what various settings do, you'll have to figure that part out on your own.
Happy theming!
AndroidPurity said:
Coming from a Samsung S7 edge to a V30 the biggest (and probably only) down fall is the severe lack of themes for the LG UI. Most themes on LG theme store seem to mostly just be wallpaper and icon changes. A lot of them do not actually change the colors of the Settings, quick toggles, and other LG apps.
The themes that are available it seems like half the time I am looking for a specific type of theme it does not exist anywhere. So it has gotten me interested in creating themes to help expand the available themes for this amazing phone.
However I can not seem to find how to create themes. I didn't see it on the LG world app, and I didn't see it on the LG website developers area, and I didn't see it with a Google search. Can someone point me in the right direction? I am not sure if it requires any Java coding or any other type of coding langauge. However I am.willing to learn whats needed to get some themes created. I just need to know the place and processor to create them.
Click to expand...
Click to collapse
hi, I'm also willing to go from s7 to v30. and also I am worried about the absence of really beautiful themes.
have you solved it in any way? thank you
axorazor said:
hi, I'm also willing to go from s7 to v30. and also I am worried about the absence of really beautiful themes.
have you solved it in any way? thank you
Click to expand...
Click to collapse
When I wrote that post multiple months ago it was more of an issue than it is now. Back then a lot of themes on the LG theme store only changed the home screen wall paper and the pre-installed app icons.
However now most of their themes also changed the accent colors of the the pull down shade of toggles and notifications, and also redesigned the settings page, and the LG app accent colors. So they are full theme over hauls in most of them. However there seems to probably only be about 40-80 of them on the LG theme store. So a good bit but really still not many.
Although some developers have created themes for the LG V30 and G6 and uploaded them to the play store to download for around $0.99 to $1.49 per theme. Most of those themes a re really nice and a lot more different types of themes. However there is probably only about 100 to 150 themes on the play store.
So over all between play store and LG store, there probably over 200 different themes now. So there's a decent selection. Still no where near Samsung and HTC theme stores, but decent enough where you can change it up once a week. Now that LG made a really good phone for first time in years that a lot of people like once they see or hear about it (the V30), the themes are slowly growing. I imagine in 1-2 years they will have several hundred themes or maybe even over a thousand once more and more people adopt the V30 and the new upcoming LG flagship phone.
If you really like every thing else about the phone, don't let the themes hold you back because it's now finally got enough themes to be decent thanks to a few developers on the play store making a lot of LG themes.
AndroidPurity said:
When I wrote that post multiple months ago it was more of an issue than it is now. Back then a lot of themes on the LG theme store only changed the home screen wall paper and the pre-installed app icons.
However now most of their themes also changed the accent colors of the the pull down shade of toggles and notifications, and also redesigned the settings page, and the LG app accent colors. So they are full theme over hauls in most of them. However there seems to probably only be about 40-80 of them on the LG theme store. So a good bit but really still not many.
Although some developers have created themes for the LG V30 and G6 and uploaded them to the play store to download for around $0.99 to $1.49 per theme. Most of those themes a re really nice and a lot more different types of themes. However there is probably only about 100 to 150 themes on the play store.
So over all between play store and LG store, there probably over 200 different themes now. So there's a decent selection. Still no where near Samsung and HTC theme stores, but decent enough where you can change it up once a week. Now that LG made a really good phone for first time in years that a lot of people like once they see or hear about it (the V30), the themes are slowly growing. I imagine in 1-2 years they will have several hundred themes or maybe even over a thousand once more and more people adopt the V30 and the new upcoming LG flagship phone.
If you really like every thing else about the phone, don't let the themes hold you back because it's now finally got enough themes to be decent thanks to a few developers on the play store making a lot of LG themes.
Click to expand...
Click to collapse
Good comments.
I only wish there was a theme to let me change the status bar icons. I'm doing it in Gravity Box on my rooted V30, but that's overkill. And I can't do it on my non-rooted LG V30+.
The two things -- OK, three -- that annoy me the most are the:
1) Really stupid 4G/miniscule LTE icon -- where you can't even see the LTE part.
View attachment 4366626
{
"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"
}
On LTE it has that 4G symbol above, with a LTE hanging off the side in miniscule lettering. On HSPA, is the exact same symbol without the LTE.
To me it both says "4G" unless I look VERY carefully.
This is much better:
2) the battery icon.
I prefer the circle with percentage inside when not charging, and circle with percentage outside when charging.
3) I also would like the both the Wi-Fi and carrier signal to have clearly differentiated bars.
Like this, on my Moto XT1225:
That looks better than this (LG stock), where yes the carrier signal has clearly delineated bars, but the Wi-Fi signal is just a lumped mass. That's not design consistency.
____________
I mentioned the status bar icons issue to @markbencze -- who has thread for theme support in this forum -- and he said LG won't let themers touch the status bar icons, at least with Nougat. Perhaps Oreo will bring changes?
markbencze said:
No need to be sorry my man. So lg doesn't allow us to touch the statusbar icons at all. Now Nick, syko and I were discussing that when Oreo drops that unless LG specifically and intentionally breaks things that in theory substratum should work for us like how it does for Samsung. So if and when that happens we might be able to address those things. I hope it works for us. But yeah sadly I can't help with what you asked.
Click to expand...
Click to collapse
ChazzMatt said:
Good comments.
I only wish there was a theme to let me change the status bar icons. I'm doing it in Gravity Box on my rooted V30, but that's overkill. And I can't do it on my non-rooted LG V30+.
The two things that annoy me the most are the:
* Really stupid 4G/miniscule LTE icon -- where you can't even see the LTE part.
On LTE it has that 4G symbol above, with a LTE hanging off the side in miniscule lettering. On HSPA, is the exact same symbol without the LTE.
To me it both says "4G" unless I look VERY carefully.
* and the battery icon.
I prefer the circle with percentage inside when not charging, and circle with percentage outside when charging.
I mentioned the issue to @markbencze -- who has thread for theme support in this forum -- and he said LG won't let themers touch the status bar icons, at least for now. Perhaps Oreo will bring changes?
Click to expand...
Click to collapse
Thanks!
I agree with a couple points you made. The customization I would like added by LG is the following...
1.) Yeah I agree with you about the battery icon thing definitely. Having both battery icon and battery percent is just over kill. Wish we could modify that in settings or theme. Circle with percentage would be very nice.
2.) It would be cool if nav button design could be changes too like I believe HTC themes can. (I am hoping the new U12 is like a bit smaller version of U11 Plus, if so... then it's probably the only Q1-Q2 2018 phone that may make me consider switching from this phone. Otherwise probably wait for V40. But I am really pulling for HTC I don't want them to die, they're too good to die.)
3.) I asked also asked @markbenzce something before, but about being able to have the icons in the settings beside each option to be unique design with different colors and designs. Just like app icons are basically. He said LG themes don't have that functionality yet either. I would like that. Can't remember if Samsung or HTC themes have that ability or not.
4.) Then of course much more theme options. If we can get into the thousands like Samsung and HTC it will make LH phones even better.
The growth in LG themes over the past 5 months has been encouraging though! I think it will only accelerate.
Hello,?
One question, with theme is it possible to change a nav bar icons?
Hi,
I modified the LG High Contrast template by following Nihilian's instructions and successfully installed the apk on my device but I got this message upon applying the theme: "This theme no longer works on this device".
I attached the AndroidManifest file of the theme app and of one of the packages. Could someone please take a look and tell me if I did something wrong? (Edit: file removed, see UPDATE)
Many thanks and regards.
P.S.
I signed all apk's with this tool but that shouldn't be the culprit because I verified with the jarsigner tool afterwards. Also, I checked and the signer uses the same key for all apk's.
UPDATE
I tried again by modifying another LG theme and it somehow worked, even though I followed the same steps...
Maybe I made a typo in the other one or maybe it was something else but who cares, the issue is SOLVED!
English patch
cryhavok13 said:
iv tried using it but it hasn't been updated in some time plus you have to download an English translation patch as it in Korean.
Click to expand...
Click to collapse
The English patch is easy to install just copy and paste to directory. My problem is where does the export apk file go when your finished with the theme if you don't want to install using USB say I'm making the theme for a friend with LG after I compile the apk with LG themepark its no where to be found ;(
---------- Post added at 12:28 AM ---------- Previous post was at 12:24 AM ----------
cryhavok13 said:
iv tried using it but it hasn't been updated in some time plus you have to download an English translation patch as it in Korean.
Click to expand...
Click to collapse
AndroidPurity said:
I think it's pretty ridiculous no one who actually knows the answer to this has posted an answer to this after several weeks. It leads me to believe some people who know the answer have seen this thread and just don't want others to know? Prove me wrong and some one who knows please provide what is being used to create these themes for LG.
Click to expand...
Click to collapse
I been looking and trying to find same answer since the LG v20 came out. I know there is a way to create themes I even tried apk tool to decompile LG v20 themes and I get an error. But when I decompile other themes that are apk not for LG it works no error. I think the people who know don't want to share because they are making money selling the themes. Hey I don't want to sell themes I just want to make my own for my lgv20 wish someone could point us in rite direction I don't think theme park will work for newer LG phones ;(
---------- Post added at 12:37 AM ---------- Previous post was at 12:28 AM ----------
Nihilian said:
I know this question was asked awhile ago, but I faced a similar issue with my LG Stylo 3 and want to report my findings. First off, Theme Park is available as a web application on LG's SmartWorld developer page http://us.lgworld.com/web.main.dev. However, I think you'll find its customizability to be severely disappointing. In fact, themes created using this are not even compatible with newer LG phones. The schema used for newer models is Home Theme+ (this is what my Stylo uses, and I assume it is what the V30 uses as well). I have scoured LG's dev site and could not find a straightforward way to develop Home Theme+, but it is possible and not super hard, albeit it can be time consuming. It will definitely help if you have some experience with Android app development (my personal experience is limited), however, no programming is necessary. You really only need to know how to edit XML/JSON files, and how to compile/decompile an Android app (there is a fantastic tool for this called apktool, created by Ryszard Wiśniewski and Connor Tumbleson which I will link to).
Tools Needed:
Apktool https://ibotpeaches.github.io/Apktool/
Apksigner (part of the Android SDK build tools) https://developer.android.com/studio/command-line/apksigner.html
Efficient way to create/edit XML and PNG files
Alternatively you could use Android Studio, which honestly might simplify the process.
I have provided a template for creating Home Theme+ themes here. This is just the preinstalled LG High Constrast theme which provides a great outline of what a theme should consist of. Use apktool to easily decompile it.
After spending hours of tweaking I was able to retheme the High Contrast app and brand it as my own. It honestly isn't too complicated, however, there is a LOT of settings, so it'll be up to you to figure out the specifics of what you need to edit in order to create your theme. Here is the general layout of what a Home Theme+ theme must consist of:
Inside the root directory there are 4 items:
assets (This is where the meat of your theme will go)
lib (Contains a dummy file. You can safely exclude this from your application.)
res (Contains basic drawables, preview images, and your application's title.)
AndroidManifest.xml (Important information about your application)
AndroidManifest
I'll start from the bottom up. If you're following a template, there are only a few things you'll need to change in the AndroidManifest. Find the <manifest> tag and edit the "package" attribute to your desired package name. It should be something like "com.your_company.theme.name_of_theme", where "your_company" and "name_of_theme" can be whatever you like. You'll also want to edit the <meta-data> "android:value" and <activity> "android:name" attributes to reflect this (Optionally, you can just set the <activity> "android:name" attribute to ".MainActivity"). Save and close this file, but be sure to remember the package name because you'll need to use it later.
res
Inside this folder are three others:
drawable-xhdpi-v4 - Contains PNG images of the Theme's preview (you can add additional preview images if you want) and the home and lockscreen wallpapers you would like to set. Follow the same naming conventions as listed in the template.
values - Two files: public.xml Lists everything in the res folder that the compiler should expect. If you add/remove preview images or wallpapers, you'll want to account for them in here. The "id" attribute for each tag can be an arbitrary value as long as it is unique. Go ahead an open this up and delete the tags named "app_info" and "app_tag". You won't need them. strings.xml contains your theme's name (this is how it will be displayed in the theme picker).
xml - Contains additional meta-data. Delete it. You won't need it.
assets
Here's where the fun begins. There are a few things in here, however, I will only go over what's in the overlays. Custom fonts and sound effects are completely optional, but feel free to mess around with those if you desire. The theme_info.json file is essentially a list of which applications you want to apply the theme to. Go ahead and open it and delete the "id" key/value pair. Now open the overlays folder. Inside here are a bunch of APK files. This modular setup makes it easy to pick and choose where you want to apply the theme. I'm not going to go over all of them, as their names are pretty self explanatory, but go ahead and decompile the one ending with ".common.apk". This package contains the theming for much of your general UI (such as status bar, navigation bar, text color, etc). Inside, you'll see a similar file structure as before, including an AndroidManifest and a res folder. Note: the smali folder is completely optional, and if you don't know what smali is you can safely ignore/delete this folder. First item of business is editing the AndroidManifest so that it matches your previously defined package name. You'll also want to add this tag somewhere inside it: "<uses-permission android:name="com.lge.permission.LGE_OVERLAY_THEME_APK"/>". This grants proper permission to modify system app themes. Now pop a look into the res folder. Its contents should look familiar. The multiple "xhdpi" folders all contain the same stuff, but target different resolutions. You can read more about them here. Basically the drawable-xxhdpi folders contain PNGs of various system wide UI elements (or app specific in the case of any of the other overlays). The values folder without an appended "hdpi" contains a public.xml, which functions exactly the same as previously mentioned. And the values-xxhdpi folders contain various settings for a specific resolution. I'll leave it up to you to play with them.
That's the basics of it! After recompiling an overlay APK, be sure to sign it or your theme will crash upon applying it (also be sure to sign your actual theme app with the same key). Read about the apksigner I linked to above for more info (I think Android Studio has an automatic way to sign apps with a key for debugging). Also be sure to update the theme_info.json file to list the package names of all the overlays you wish to apply.
Hopefully this helps someone. Let me know if you run into any trouble building or installing your APKs. As for what various settings do, you'll have to figure that part out on your own.
Happy theming!
Click to expand...
Click to collapse
Thanks so much I been trying to figure this out for year already!
Resell
Nihilian said:
I know this question was asked awhile ago, but I faced a similar issue with my LG Stylo 3 and want to report my findings. First off, Theme Park is available as a web application on LG's SmartWorld developer page http://us.lgworld.com/web.main.dev. However, I think you'll find its customizability to be severely disappointing. In fact, themes created using this are not even compatible with newer LG phones. The schema used for newer models is Home Theme+ (this is what my Stylo uses, and I assume it is what the V30 uses as well). I have scoured LG's dev site and could not find a straightforward way to develop Home Theme+, but it is possible and not super hard, albeit it can be time consuming. It will definitely help if you have some experience with Android app development (my personal experience is limited), however, no programming is necessary. You really only need to know how to edit XML/JSON files, and how to compile/decompile an Android app (there is a fantastic tool for this called apktool, created by Ryszard Wiśniewski and Connor Tumbleson which I will link to).
Tools Needed:
Apktool https://ibotpeaches.github.io/Apktool/
Apksigner (part of the Android SDK build tools) https://developer.android.com/studio/command-line/apksigner.html
Efficient way to create/edit XML and PNG files
Alternatively you could use Android Studio, which honestly might simplify the process.
I have provided a template for creating Home Theme+ themes here. This is just the preinstalled LG High Constrast theme which provides a great outline of what a theme should consist of. Use apktool to easily decompile it.
After spending hours of tweaking I was able to retheme the High Contrast app and brand it as my own. It honestly isn't too complicated, however, there is a LOT of settings, so it'll be up to you to figure out the specifics of what you need to edit in order to create your theme. Here is the general layout of what a Home Theme+ theme must consist of:
Inside the root directory there are 4 items:
assets (This is where the meat of your theme will go)
lib (Contains a dummy file. You can safely exclude this from your application.)
res (Contains basic drawables, preview images, and your application's title.)
AndroidManifest.xml (Important information about your application)
AndroidManifest
I'll start from the bottom up. If you're following a template, there are only a few things you'll need to change in the AndroidManifest. Find the <manifest> tag and edit the "package" attribute to your desired package name. It should be something like "com.your_company.theme.name_of_theme", where "your_company" and "name_of_theme" can be whatever you like. You'll also want to edit the <meta-data> "android:value" and <activity> "android:name" attributes to reflect this (Optionally, you can just set the <activity> "android:name" attribute to ".MainActivity"). Save and close this file, but be sure to remember the package name because you'll need to use it later.
res
Inside this folder are three others:
drawable-xhdpi-v4 - Contains PNG images of the Theme's preview (you can add additional preview images if you want) and the home and lockscreen wallpapers you would like to set. Follow the same naming conventions as listed in the template.
values - Two files: public.xml Lists everything in the res folder that the compiler should expect. If you add/remove preview images or wallpapers, you'll want to account for them in here. The "id" attribute for each tag can be an arbitrary value as long as it is unique. Go ahead an open this up and delete the tags named "app_info" and "app_tag". You won't need them. strings.xml contains your theme's name (this is how it will be displayed in the theme picker).
xml - Contains additional meta-data. Delete it. You won't need it.
assets
Here's where the fun begins. There are a few things in here, however, I will only go over what's in the overlays. Custom fonts and sound effects are completely optional, but feel free to mess around with those if you desire. The theme_info.json file is essentially a list of which applications you want to apply the theme to. Go ahead and open it and delete the "id" key/value pair. Now open the overlays folder. Inside here are a bunch of APK files. This modular setup makes it easy to pick and choose where you want to apply the theme. I'm not going to go over all of them, as their names are pretty self explanatory, but go ahead and decompile the one ending with ".common.apk". This package contains the theming for much of your general UI (such as status bar, navigation bar, text color, etc). Inside, you'll see a similar file structure as before, including an AndroidManifest and a res folder. Note: the smali folder is completely optional, and if you don't know what smali is you can safely ignore/delete this folder. First item of business is editing the AndroidManifest so that it matches your previously defined package name. You'll also want to add this tag somewhere inside it: "<uses-permission android:name="com.lge.permission.LGE_OVERLAY_THEME_APK"/>". This grants proper permission to modify system app themes. Now pop a look into the res folder. Its contents should look familiar. The multiple "xhdpi" folders all contain the same stuff, but target different resolutions. You can read more about them here. Basically the drawable-xxhdpi folders contain PNGs of various system wide UI elements (or app specific in the case of any of the other overlays). The values folder without an appended "hdpi" contains a public.xml, which functions exactly the same as previously mentioned. And the values-xxhdpi folders contain various settings for a specific resolution. I'll leave it up to you to play with them.
That's the basics of it! After recompiling an overlay APK, be sure to sign it or your theme will crash upon applying it (also be sure to sign your actual theme app with the same key). Read about the apksigner I linked to above for more info (I think Android Studio has an automatic way to sign apps with a key for debugging). Also be sure to update the theme_info.json file to list the package names of all the overlays you wish to apply.
Hopefully this helps someone. Let me know if you run into any trouble building or installing your APKs. As for what various settings do, you'll have to figure that part out on your own.
Happy theming!
Click to expand...
Click to collapse
Can I resell theme created with this method?
Nihilian said:
I know this question was asked awhile ago, but I faced a similar issue with my LG Stylo 3 and want to report my findings. First off, Theme Park is available as a web application on LG's SmartWorld developer page http://us.lgworld.com/web.main.dev. However, I think you'll find its customizability to be severely disappointing. In fact, themes created using this are not even compatible with newer LG phones. The schema used for newer models is Home Theme+ (this is what my Stylo uses, and I assume it is what the V30 uses as well). I have scoured LG's dev site and could not find a straightforward way to develop Home Theme+, but it is possible and not super hard, albeit it can be time consuming. It will definitely help if you have some experience with Android app development (my personal experience is limited), however, no programming is necessary. You really only need to know how to edit XML/JSON files, and how to compile/decompile an Android app (there is a fantastic tool for this called apktool, created by Ryszard Wiśniewski and Connor Tumbleson which I will link to).
Tools Needed:
Apktool https://ibotpeaches.github.io/Apktool/
Apksigner (part of the Android SDK build tools) https://developer.android.com/studio/command-line/apksigner.html
Efficient way to create/edit XML and PNG files
Alternatively you could use Android Studio, which honestly might simplify the process.
I have provided a template for creating Home Theme+ themes here. This is just the preinstalled LG High Constrast theme which provides a great outline of what a theme should consist of. Use apktool to easily decompile it.
After spending hours of tweaking I was able to retheme the High Contrast app and brand it as my own. It honestly isn't too complicated, however, there is a LOT of settings, so it'll be up to you to figure out the specifics of what you need to edit in order to create your theme. Here is the general layout of what a Home Theme+ theme must consist of:
Inside the root directory there are 4 items:
assets (This is where the meat of your theme will go)
lib (Contains a dummy file. You can safely exclude this from your application.)
res (Contains basic drawables, preview images, and your application's title.)
AndroidManifest.xml (Important information about your application)
AndroidManifest
I'll start from the bottom up. If you're following a template, there are only a few things you'll need to change in the AndroidManifest. Find the <manifest> tag and edit the "package" attribute to your desired package name. It should be something like "com.your_company.theme.name_of_theme", where "your_company" and "name_of_theme" can be whatever you like. You'll also want to edit the <meta-data> "android:value" and <activity> "android:name" attributes to reflect this (Optionally, you can just set the <activity> "android:name" attribute to ".MainActivity"). Save and close this file, but be sure to remember the package name because you'll need to use it later.
res
Inside this folder are three others:
drawable-xhdpi-v4 - Contains PNG images of the Theme's preview (you can add additional preview images if you want) and the home and lockscreen wallpapers you would like to set. Follow the same naming conventions as listed in the template.
values - Two files: public.xml Lists everything in the res folder that the compiler should expect. If you add/remove preview images or wallpapers, you'll want to account for them in here. The "id" attribute for each tag can be an arbitrary value as long as it is unique. Go ahead an open this up and delete the tags named "app_info" and "app_tag". You won't need them. strings.xml contains your theme's name (this is how it will be displayed in the theme picker).
xml - Contains additional meta-data. Delete it. You won't need it.
assets
Here's where the fun begins. There are a few things in here, however, I will only go over what's in the overlays. Custom fonts and sound effects are completely optional, but feel free to mess around with those if you desire. The theme_info.json file is essentially a list of which applications you want to apply the theme to. Go ahead and open it and delete the "id" key/value pair. Now open the overlays folder. Inside here are a bunch of APK files. This modular setup makes it easy to pick and choose where you want to apply the theme. I'm not going to go over all of them, as their names are pretty self explanatory, but go ahead and decompile the one ending with ".common.apk". This package contains the theming for much of your general UI (such as status bar, navigation bar, text color, etc). Inside, you'll see a similar file structure as before, including an AndroidManifest and a res folder. Note: the smali folder is completely optional, and if you don't know what smali is you can safely ignore/delete this folder. First item of business is editing the AndroidManifest so that it matches your previously defined package name. You'll also want to add this tag somewhere inside it: "<uses-permission android:name="com.lge.permission.LGE_OVERLAY_THEME_APK"/>". This grants proper permission to modify system app themes. Now pop a look into the res folder. Its contents should look familiar. The multiple "xhdpi" folders all contain the same stuff, but target different resolutions. You can read more about them here. Basically the drawable-xxhdpi folders contain PNGs of various system wide UI elements (or app specific in the case of any of the other overlays). The values folder without an appended "hdpi" contains a public.xml, which functions exactly the same as previously mentioned. And the values-xxhdpi folders contain various settings for a specific resolution. I'll leave it up to you to play with them.
That's the basics of it! After recompiling an overlay APK, be sure to sign it or your theme will crash upon applying it (also be sure to sign your actual theme app with the same key). Read about the apksigner I linked to above for more info (I think Android Studio has an automatic way to sign apps with a key for debugging). Also be sure to update the theme_info.json file to list the package names of all the overlays you wish to apply.
Hopefully this helps someone. Let me know if you run into any trouble building or installing your APKs. As for what various settings do, you'll have to figure that part out on your own.
Happy theming!
Click to expand...
Click to collapse
I did this and was able to change colours. Then i pushed a step forward and changed .json file (changed package name and apk names in it) and added new icons in all assets. Thing is, its failing on apply. Can you check it? As i don't have coding knowledge.
Nihilian said:
I know this question was asked awhile ago, but I faced a similar issue with my LG Stylo 3 and want to report my findings. First off, Theme Park is available as a web application on LG's SmartWorld developer page http://us.lgworld.com/web.main.dev. However, I think you'll find its customizability to be severely disappointing. In fact, themes created using this are not even compatible with newer LG phones. The schema used for newer models is Home Theme+ (this is what my Stylo uses, and I assume it is what the V30 uses as well). I have scoured LG's dev site and could not find a straightforward way to develop Home Theme+, but it is possible and not super hard, albeit it can be time consuming. It will definitely help if you have some experience with Android app development (my personal experience is limited), however, no programming is necessary. You really only need to know how to edit XML/JSON files, and how to compile/decompile an Android app (there is a fantastic tool for this called apktool, created by Ryszard Wiśniewski and Connor Tumbleson which I will link to).
Tools Needed:
Apktool https://ibotpeaches.github.io/Apktool/
Apksigner (part of the Android SDK build tools) https://developer.android.com/studio/command-line/apksigner.html
Efficient way to create/edit XML and PNG files
Alternatively you could use Android Studio, which honestly might simplify the process.
I have provided a template for creating Home Theme+ themes here. This is just the preinstalled LG High Constrast theme which provides a great outline of what a theme should consist of. Use apktool to easily decompile it.
After spending hours of tweaking I was able to retheme the High Contrast app and brand it as my own. It honestly isn't too complicated, however, there is a LOT of settings, so it'll be up to you to figure out the specifics of what you need to edit in order to create your theme. Here is the general layout of what a Home Theme+ theme must consist of:
Inside the root directory there are 4 items:
assets (This is where the meat of your theme will go)
lib (Contains a dummy file. You can safely exclude this from your application.)
res (Contains basic drawables, preview images, and your application's title.)
AndroidManifest.xml (Important information about your application)
AndroidManifest
I'll start from the bottom up. If you're following a template, there are only a few things you'll need to change in the AndroidManifest. Find the tag and edit the "package" attribute to your desired package name. It should be something like "com.your_company.theme.name_of_theme", where "your_company" and "name_of_theme" can be whatever you like. You'll also want to edit the "android:value" and "android:name" attributes to reflect this (Optionally, you can just set the "android:name" attribute to ".MainActivity"). Save and close this file, but be sure to remember the package name because you'll need to use it later.
res
Inside this folder are three others:
drawable-xhdpi-v4 - Contains PNG images of the Theme's preview (you can add additional preview images if you want) and the home and lockscreen wallpapers you would like to set. Follow the same naming conventions as listed in the template.
values - Two files: public.xml Lists everything in the res folder that the compiler should expect. If you add/remove preview images or wallpapers, you'll want to account for them in here. The "id" attribute for each tag can be an arbitrary value as long as it is unique. Go ahead an open this up and delete the tags named "app_info" and "app_tag". You won't need them. strings.xml contains your theme's name (this is how it will be displayed in the theme picker).
xml - Contains additional meta-data. Delete it. You won't need it.
assets
Here's where the fun begins. There are a few things in here, however, I will only go over what's in the overlays. Custom fonts and sound effects are completely optional, but feel free to mess around with those if you desire. The theme_info.json file is essentially a list of which applications you want to apply the theme to. Go ahead and open it and delete the "id" key/value pair. Now open the overlays folder. Inside here are a bunch of APK files. This modular setup makes it easy to pick and choose where you want to apply the theme. I'm not going to go over all of them, as their names are pretty self explanatory, but go ahead and decompile the one ending with ".common.apk". This package contains the theming for much of your general UI (such as status bar, navigation bar, text color, etc). Inside, you'll see a similar file structure as before, including an AndroidManifest and a res folder. Note: the smali folder is completely optional, and if you don't know what smali is you can safely ignore/delete this folder. First item of business is editing the AndroidManifest so that it matches your previously defined package name. You'll also want to add this tag somewhere inside it: "". This grants proper permission to modify system app themes. Now pop a look into the res folder. Its contents should look familiar. The multiple "xhdpi" folders all contain the same stuff, but target different resolutions. You can read more about them here. Basically the drawable-xxhdpi folders contain PNGs of various system wide UI elements (or app specific in the case of any of the other overlays). The values folder without an appended "hdpi" contains a public.xml, which functions exactly the same as previously mentioned. And the values-xxhdpi folders contain various settings for a specific resolution. I'll leave it up to you to play with them.
That's the basics of it! After recompiling an overlay APK, be sure to sign it or your theme will crash upon applying it (also be sure to sign your actual theme app with the same key). Read about the apksigner I linked to above for more info (I think Android Studio has an automatic way to sign apps with a key for debugging). Also be sure to update the theme_info.json file to list the package names of all the overlays you wish to apply.
Hopefully this helps someone. Let me know if you run into any trouble building or installing your APKs. As for what various settings do, you'll have to figure that part out on your own.
Happy theming!
Click to expand...
Click to collapse
Been trying this with my Stylo 4, was able to get it to install and apply the theme once, but now it tells me theme cannot be applied. Any thoughts?
Basically, If I modify any of the apks in assets it will not apply the theme anymore. It doesn't matter If I resign them all or if I copy the originals.
Hopefully with a little help I can get past this hurdle and be able to create my own themes for the Stylo 4.
Edit: Got it working, the problem was not changing all of the package names. Thanks.