Redesign apps without complex programming? - Android Q&A, Help & Troubleshooting

This question is to all the developers out there!
I am more of a graphics designer than a programmer.
I have very basic knowledge as far as programming and API's are concerned.
I know there are tools out there which can help you Compile and Recompile APKs, and I can do that without help,
but I was wondering if its possible to edit just the graphical elements of the app (say, change the app icon,or modify the typography, or color accents) without the need for changing a whole lot of the code?
If not, is it possible to learn how to do it in a short while?
I would love to modify to redesign a few open source apps and post it here for everyone else. ( Inspired by Android Design in Action )

shubhamsizzles said:
This question is to all the developers out there!
I am more of a graphics designer than a programmer.
I have very basic knowledge as far as programming and API's are concerned.
I know there are tools out there which can help you Compile and Recompile APKs, and I can do that without help,
but I was wondering if its possible to edit just the graphical elements of the app (say, change the app icon,or modify the typography, or color accents) without the need for changing a whole lot of the code?
If not, is it possible to learn how to do it in a short while?
I would love to modify to redesign a few open source apps and post it here for everyone else. ( Inspired by Android Design in Action )
Click to expand...
Click to collapse
Yes it is possible all you need this:
1 the app you wish to modify
2 an app called ninjamorph
A computer optional
And enough space on your phone to decompile on APK which isn't much
A way to save the app as an Apk on your phone ( ie titanium backup or the like)
Run ninjamorph I believe it has a tutorial with in and app if you need it very simple to use
It will decompile the APk of the app and then you can go into the product work space within ninjamorph and goto resources drawable depending on the app maybe drawable HPI just look through the folders then select the PNG you wish to modify and ninjamorph has ui to change right there on your phone or you can connect your phone to a computer and transfer the PNG file you wish to modify to the computer and modify it there then replace it and in the exact location you found it (with the same name names are I believe case sensitive) and use ninjamorph to recompile the apk, uninstall the old apk (if installed before hand) and install the new Apk and there you go should work
Sent from my SGH-I997 using xda premium

moving to q&a

if u only need to modify image files open apk from winrar, edit it and save.

Can I also change stuff like screen margins, fonts etc. this way? I'm guessing no. Right?
Sent from my One V using xda premium

Is it really that tough? Any suggestions?

shubhamsizzles said:
Is it really that tough? Any suggestions?
Click to expand...
Click to collapse
No you cant change the margins and fonts that way. You will have to edit the layout of the app by decompiling it and changing the XMLs and maybe some smali coding changes.

Related

[Q] Re-themeing Spotify?

Is it possible to use an APK decompiler and edit the UI of Spotify? I don't have an experience coding, but I'm sure I could figure it out.
Can anyone help?
Yes, the only problem is anytime you update the app, you will have to re apply any of the changes you make. Your simplest changes would be like any other app using the .png files, xml edits are a lot more complicated and more difficult to figure out with no/limited xml experience. I don't have that particular APK on hand at the movement, but open it up and look for the drawable folders in the res folder. These are going to be the simplest changes to make, you can swap or edit these .png files.

Galaxy S3 Alarm Clock Widget Source Code

I have searched here and googled - but perhaps my google-fu isn't as good as it could be.
I am trying to find the source code for the Alarm Clock Widget on the Galaxy S3. If I could find the source code for the whole alarm clock app as well that would be awesome!
Does anyone know where I could find it and how I could get that source code? A friend of mine who has been tinkering with building his own ROMS told me that I would have to decompile an APK file and get the source code from there.
Reason behind this is that I am learning android development and really like some of the alarm clock features/functionality the stock one has, but wanted to just add a few simple features I find it's lacking. I figure their code should be just fine to look from and pluck things out of to assist me on my way - I just don't know how to get it.
Any thoughts? Anyone know where I may find this source code? And/or how I would go about tearing down an APK to get it if I need to?
You won't find.source code for any manufacturer app or 99% of all apps in the market as most are closed source...
Like your friend said your gonna have to.decompile it...but your also gonna have to decompile the twframeworks as a lot of the "cool" features are there...but called on from the clock app
To decompile just search for "apktool"
apktool d appnamehere.apk
-decompiles app
Apktool b appnamehere
-builds the app again...don't add the .apk...you just need the name of the folder for the decompiled app which by default is the app name
You'll then be looking into a bunch of xmls and smalis which I am not familiar with...good luck
Sent from my HTC PH39100 using Tapatalk 2
mg2195 said:
You won't find.source code for any manufacturer app or 99% of all apps in the market as most are closed source...
Like your friend said your gonna have to.decompile it...but your also gonna have to decompile the twframeworks as a lot of the "cool" features are there...but called on from the clock app
To decompile just search for "apktool"
apktool d appnamehere.apk
-decompiles app
Apktool b appnamehere
-builds the app again...don't add the .apk...you just need the name of the folder for the decompiled app which by default is the app name
You'll then be looking into a bunch of xmls and smalis which I am not familiar with...good luck
Sent from my HTC PH39100 using Tapatalk 2
Click to expand...
Click to collapse
Perfect. That gives me a great jump and a better understanding.
I would just have to find the ROM of the default Galaxy S3 OS right? Or am I misunderstanding something?
hanny137 said:
Perfect. That gives me a great jump and a better understanding.
I would just have to find the ROM of the default Galaxy S3 OS right? Or am I misunderstanding something?
Click to expand...
Click to collapse
You will need the TW framework of the ROM you will be modding the apk for and the actual clock widget apk as well. The TW framework is just required to install certain dependencies. Once you decompile the clock widget, you'll have to poke around the smali code and try to make sense of it. From what I know, even most proficient developers take a bit to actually understand smali since it's kind of a "programming language" in its own right. Good luck though
Sent from my SPH-L710 using xda premium
Ceelos09 said:
You will need the TW framework of the ROM you will be modding the apk for and the actual clock widget apk as well. The TW framework is just required to install certain dependencies. Once you decompile the clock widget, you'll have to poke around the smali code and try to make sense of it. From what I know, even most proficient developers take a bit to actually understand smali since it's kind of a "programming language" in its own right. Good luck though
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Apparently I have a lot to learn! I thought once it was decompiled it was the source code.
I'm far to new of a programmer to probably be able to make much sense of the 'smali' in that case - and would probably be spinning my wheels to get a TWFramework, find the proper apk for the widget and decompile it - only to not be able to understand it.
Guess I will have to just work from the ground up on this, which is more work - but hopefully I can make it do what I want. I just figured if I could it would be easier to utilize some of the existing code to make it look/feel like the original.

What goes into theming Touchwiz apps?

question in title. I mean things like the SMS app, dialer, etc. I love the work people are doing with them (dark themes and whatnot) and was just curious as to how they do it. Can be technical, I feel comfortable with all the "android jargon" lol
You'll need something to decompile your apps. If you are working on odex files you'll need to deodex first. Once you decompile your app it'll be broken into 2 folders project and project-smali. You'll focus on the project folder -or- where the folder "res" is.
In there is drawable folders in various DPIs. Those contain the picture files you can edit. Some of the background colors, text colors, and placement of items will be controlled inside of the various XML files.
While in there you could also look around at potential mods in the bools.xml and you COULD remove some of the extra languages if you want to lean it out.
Sent from my SCH-I545 using xda premium
Dubbsy said:
You'll need something to decompile your apps. If you are working on odex files you'll need to deodex first. Once you decompile your app it'll be broken into 2 folders project and project-smali. You'll focus on the project folder -or- where the folder "res" is.
In there is drawable folders in various DPIs. Those contain the picture files you can edit. Some of the background colors, text colors, and placement of items will be controlled inside of the various XML files.
While in there you could also look around at potential mods in the bools.xml and you COULD remove some of the extra languages if you want to lean it out.
Sent from my SCH-I545 using xda premium
Click to expand...
Click to collapse
I have sorta played around with them and whatnot and have seen the res folder. so when you go and replace the images and everything, how do you recompile so that they will install fine? I'm rooted of course so I can put them in system and set permissions
Sent from my SCH-I545 using xda app-developers app
I've found it works best to recompile it using whichever tool you prefer. If it doesn't install nicely you can open the apk with 7zip and pull the compiled images and xml files out to use in either a vrtheme installer or you can open up the stock apk with 7z and copy them in.
There are tons of ways to do things. :good:
sent from my GE gs4
that is what I am starting to realize I may start playing around with it. thank you for the help, really! this is what makes XDA rule so much. :thumbup:
No problem buddy. Everyone has to start somewhere
sent from my GE gs4
Dubbsy said:
No problem buddy. Everyone has to start somewhere
sent from my GE gs4
Click to expand...
Click to collapse
one more question, might not pertain to you...what is the best/easiest way to sign an apk after editting it? i am using a macbook pro by the way
coltonwood said:
one more question, might not pertain to you...what is the best/easiest way to sign an apk after editting it? i am using a macbook pro by the way
Click to expand...
Click to collapse
I generally don't sign mine. If i themed something that wasn't mine and it could potentially be updated i would want the update to fail due to mismatching signatures in order to keep my theme.
But a way to keep the same signature is to recompile your work, open the new one with 7zip and copy the compiled pngs, xmls, and arsc file at root from the new one and over write the stock one's files using 7zip again. That'll change everything but leave the signature.
sent from my GE gs4
Dubbsy said:
I generally don't sign mine. If i themed something that wasn't mine and it could potentially be updated i would want the update to fail due to mismatching signatures in order to keep my theme.
But a way to keep the same signature is to recompile your work, open the new one with 7zip and copy the compiled pngs, xmls, and arsc file at root from the new one and over write the stock one's files using 7zip again. That'll change everything but leave the signature.
sent from my GE gs4
Click to expand...
Click to collapse
ohhhhhhhh okay that makes sense! okay here is a question that could be getting away from the theming, im not sure:
i was playing around with textra (the sms app) just changing the png's to look like ios 7 (lol just for testing). I decompiled, changed some png's, and then recompiled (using apktool). It created a new textra.apk that i then transferred to my phone. i deleted my current textra and installed my new one (successfully) and i can tell my theming worked from a test sms they send you. but when i try to compose a new message, Textra force closes. I rebooted and everything to make sure. Do you think this would be from my attempt at theming, or would it have to do with signing at all? this is where i am really lost lol, considering it installed and everything fine.

Theming LGG3 Apps - Pure Black Settings - for MM stock

I have been theming apps on my phone to give them black backgrounds. The white backgrounds bother my eyes. I'm doing pretty well but I am having a big problem with the LGSettings.apk. I have decompiled the apk and edited the colors.xml, styles.xml and parts of the manifest that i thought might change the theme. I then recompile and run the settings app but I never see any changes. I am trying to figure out what I need to edit to achieve white text on a black background. Any help would be greatly appreciated.
I don't have the apks in front of me, but you may need to theme more than that one. I think you'll need:
LGSettings (which you currently themed)
Possibly: LGSettingsAccessibility/LGSettingsProvider
These two may or may not have anything to theme in them, so you may need to decompile to take a look.
Ok. I'm getting there. The background item and textcolor item were lurking in the lge-res.apk. I am still having trouble finding a way to change the blue action bar color (1) and the color of the white section headers (2). Anybody know what these might be called and what apk I need to look in? Thanks a lot!
skyman88882002 said:
Ok. I'm getting there. The background item and textcolor item were lurking in the lge-res.apk. I am still having trouble finding a way to change the blue action bar color (1) and the color of the white section headers (2). Anybody know what these might be called and what apk I need to look in? Thanks a lot!
Click to expand...
Click to collapse
Ok. I found the action bar - I used 'Widget.Material.ActionBar.Solid' to hard code the background color. Now I just need somebody to help me find those white section headers. Anybody? Thanks so much!
Well after two hours of poking around the apks I finally figured it out. Pretty easy to make all the changes in lge-res.apk. pm me if interested in doing this kind of theming
skyman88882002 said:
Well after two hours of poking around the apks I finally figured it out. Pretty easy to make all the changes in lge-res.apk. pm me if interested in doing this kind of theming
Click to expand...
Click to collapse
Awesome, great work!
I remember doing something similar when I was doing this to my Galaxy S3, trying to find the various apk's where Sammy had changed things. It was a great feeling to find and change things.
skyman88882002 said:
Well after two hours of poking around the apks I finally figured it out. Pretty easy to make all the changes in lge-res.apk. pm me if interested in doing this kind of theming
Click to expand...
Click to collapse
HI THERE, I WAS WONDERING IF YOU CAN SHARE THOSE APS's, COUULD YOU MAKE IT POSSIBLE?
elmanolette said:
HI THERE, I WAS WONDERING IF YOU CAN SHARE THOSE APS's, COUULD YOU MAKE IT POSSIBLE?
Click to expand...
Click to collapse
Hi. Please in the future don't use all capital letters. I know you didn't mean this in this case, but it's generally considered "shouting", and for longer strings it makes it harder to read. Thanks for understanding.
roirraW "edor" ehT said:
Hi. Please in the future don't use all capital letters. I know you didn't mean this in this case, but it's generally considered "shouting", and for longer strings it makes it harder to read. Thanks for understanding.
Click to expand...
Click to collapse
sorry man, i'm understand!
I definitely intend to share my findings. However right now i am redoing the theming trying to push all the edits into LGsettings. Since I did the editing in the lge-res.apk it has a lot of unintended consequences on other parts of the system
subscribed.
i despise white backgrounds.
Brian
i cant find any color.xml in any stock apps?
skyman88882002 said:
I have been theming apps on my phone to give them black backgrounds. The white backgrounds bother my eyes. I'm doing pretty well but I am having a big problem with the LGSettings.apk. I have decompiled the apk and edited the colors.xml, styles.xml and parts of the manifest that i thought might change the theme. I then recompile and run the settings app but I never see any changes. I am trying to figure out what I need to edit to achieve white text on a black background. Any help would be greatly appreciated.
Click to expand...
Click to collapse
how do you theme? i can never find the color.xml file in any stock app?
Glitch15 said:
how do you theme? i can never find the color.xml file in any stock app?
Click to expand...
Click to collapse
You need a deodexed ROM/apk file to decompile to find those resources.
RMarkwald said:
You need a deodexed ROM/apk file to decompile to find those resources.
Click to expand...
Click to collapse
my Rom is deodex, can you pm me a step by step guide to get to the color.xml?
it would be nice if you can post a brief guide about theming it.. so people can have benefit.
knowledge is meant to share after all
minhas729 said:
it would be nice if you can post a brief guide about theming it.. so people can have benefit.
knowledge is meant to share after all
Click to expand...
Click to collapse
Hey there! Good to see you on this thread Minhas729. I'm really sorry for the delay, I have just been slammed on the home front and haven't had time to play around with this stuff.
I'm still not happy with the theming I'm doing but I plan on posting my work in process files in the next 5 or 6 days.
In the meantime, let me share my knowledge (it isn't much!)
I think I am going to change the thread title to Theming for Dummies (Like Me) (anybody know how to change a thread title?). so step one will be in the next post.....
OVERVIEW
(Ok - so here is a quick overview of the theming process as I do it. Again, I am just a novice and I just stumble around so if I get the terms incorrect forgive me.
1) The first step in theming an apk is to decompile the apk. Unzipping the apk is not going to work. This is because there are special files like styles.xml and colors.xml that are hidden in a 'values' folder in the res directory. As far as I know, you cannot access these special files by simply unzipping the apk.
2) To decompile you need an apk tool - I use 'Tickle My Android' (I'm going to call it TMA going forward) - it has a great developer with excellent instructions. The way decompiling works is you first have to create a mini-work area on your computer. You do this by decompiling and installing the framework-res and lge-res apks from your phone to your computer. TMA needs these files to decompile other apps because most apps reference a bunch of things in the framework-res and lge-res files Installing TMA is pretty easy and the instructions on the thread are excellent. The only issue I had was finding a good version of apktool.jar to use in conjunction with TMA - one that worked well with marshmallow apks. The apktool is the actual tool that does all the work - TMA (in my understanding) is simply a very well designed user interface to use the apktool. So you need an apktool that will recognize marshmallow files and be able to decompile them. I use "apktool_2.1.0-a64a03-SNAPSHOT"" as my apktool.jar file.
3) Once an apk is decompiled, all the apk components will be saved in a 'working' folder. You can then go in and edit colors and and styles using an xml editor.
4) Once you have made your edits you use TMA to recompile and sign the apk. Then you move the file back to your phone, place it in the proper device directory, fix permissions, reboot and cross your fingers.
Ok - that is the overview - go off and start trying it. One suggestion - dont try to push files from the phone to the pc with TMA - just use your usb cable.
more to come...
skyman88882002 said:
I think I am going to change the thread title to Theming for Dummies (Like Me) (anybody know how to change a thread title?). so step one will be in the next post.....
Click to expand...
Click to collapse
Edit your first post in a web browser. Choose Advanced mode and there'll be a field to edit the title.
Below are links to download the themed lge-res.apk and lgsettings.apk. MAKE A BACKUP FIRST (I'm not responsible for anything that goes wrong if you try these files). Once downloaded you will need to use a root browser to copy the files to the appropriate system directory and to change the permissions. Keep in mind, this is a work in process, if you enter settings and click on the bluetooth or wifi sections you will notice that the background is not themed yet. I'll repost when these are fixed.
lge-res.apk download link
LGSettings.apk download link
Keep in mind that you have to install both files if you want the full black background.
Ok. I think I worked out most of the bugs. The files are now set up in a flashable zip. Test it out and let me know if you see any issues. If it is working well I will start a new thread in the Themes section and work on the systemui as well. Thanks. Download link below:
download

[Q]How to identify drawable name/id on running app?

Hi! I'm new into creating themes, and I'm looking for a tool that could make it easier. I know how to extract .apk, how to replace images, modify .xmls, but often I don't know what an image is for. Let's say im modding SystemUI and I want to change background of my notification bar. The only thing I know is that inside drawables folder I have to look for something named notification_bar.png, something like that. I was looking for an app that could tell me how an image inside an app is called in code ( example: I'm inside calculator app, I press on background and the app says that file is called background.png and is inside drawables-xxhdpi). I tried Android Studio --> Layout Inspector, but it didn't help me at all because, well, I just don't understand it.
Of course, while modifying SystemUI I can look for explaination of certain pngs on the internet, but
-not every SystemUI is the same
- if I want to change drawables of an app that doesn't have specific explaination I have to know how to identify drawables.
It must be possible somehow, because I've run into some themes that modify external apps (like WhatsApp, SuperSU etc.)
Those ppl had to know what certain .png is for, the question is: How?
I don't believe they just had to sit there and try every possible combination.
Also, inside SystemUI there's A LOT of files that are never used, and their names can be misleading.
Is there any way to identify drawable inside running app easily? Without digging in code and guessing?
Thanks in advance for any answer
I tried to analyze Mms.apk (it's system app). I was looking for a drawable representing default contact icon, here called ic_contact_picture.png .
I actually managed to find a proper layer in Layout Inspector(ConversationListItem.xml), analyzed it and found a code referring to table "id" in resources.arsc . The object the id referred to was called "avatar". And that's it. I couldn't find id(I got it from resources.arsc/drawables) of ic_contact_picture.png anywhere in that layout. There was only id referring to "id/avatar". It doesn't make any sense.
How do I find drawables using Layout Inspector or any other tool?
It was easier when it came to text. I also found an id referring to resources.arsc/id, but that id was included in the layer I was looking at (ConversationListItem.xml).
But I still wasn't able to perform any action on that text, because there wasn't any setting like text color or anything, there was just a line android:textAppearance="@attr/0x1010041"
It is an attrib from framework-res.apk, but when I opened framework-res.apk and found that attrib there was no reference to anything like color, font, so there was nothing I could really do.
Can someone help me with those 2 problems?

Categories

Resources