So, I'm well-aware that the reason icons can't be changed easily on the Android home screen is because the icon image is stored in the APK file, and editing that image is, essentially, near impossible.
However, I had an idea that could potentially fix that problem, and I'm just curious how realistic the solution is:
As most G1 users know, AnyCut is a great application that can allow a user to create a shortcut to any number of actions on the phone. These shortcuts are customizable by name, and, for the time being, have a limited number of icons, one for each shortcut type.
I also recall using an app several months ago to change the icons of bookmarks (Bookmark 2, I believe it was called). With this app, a user could choose exactly what their icons would look like on the home screen, except, of course, that these icons could only link to bookmarks.
By combining these two applications, wouldn't an icon changer be quite possible?
Using this same methodology, wouldn't it be possible to create "shortcuts" to applications on the home screen, and thus, allow the user to rename apps and change their icons, at least on the desktop? I know that the icons would not be changed in the pull-out drawer or elsewhere on the system, but wouldn't this be a temporary workaround, until a better solution is reached? I have quite a few programs with horrendous icons, and it really takes away from the aesthetic of the home screen.
Again, all I'm asking is if there's a way to place a shortcut to an APK on the desktop, and preferably to customize that shortcut's icon, not the actual apps.
It is possible to edit .apk's and change the icons. Just look at the forum for theams.
http://forum.xda-developers.com/forumdisplay.php?f=450
soundwire said:
It is possible to edit .apk's and change the icons. Just look at the forum for theams.
http://forum.xda-developers.com/forumdisplay.php?f=450
Click to expand...
Click to collapse
Well, I know that the icons can be edited in a theme, but can non-stock icons be edited as well?
And also, my concern with that is that it seems like a lot of work to update a theme everytime a new app appears on the market. I'm a little OCD, so if I were able to change all the icons on my home screen, I would want them all to be absolutely uniform (like the themes' icons are). However, if a new, super-useful app were to appear on the market, and I absolutely needed it on my home screen, it would seem much easier to simply add an image to my phone, and make a shortcut using that image, than to have to edit an APK, resign the entire package, and reflash the phone each time. While I know my way around the G1, and I'm comfortable with basic rooting, I am by no means a developer, and just like most G1 users, I would probably be more comfortable making shortcuts than updating firmware.
Do you understand where I'm coming from?
I too, would also like to know how to change "non-stock" app icons. Bump.
jayaustn said:
Well, I know that the icons can be edited in a theme, but can non-stock icons be edited as well?
And also, my concern with that is that it seems like a lot of work to update a theme everytime a new app appears on the market. I'm a little OCD, so if I were able to change all the icons on my home screen, I would want them all to be absolutely uniform (like the themes' icons are). However, if a new, super-useful app were to appear on the market, and I absolutely needed it on my home screen, it would seem much easier to simply add an image to my phone, and make a shortcut using that image, than to have to edit an APK, resign the entire package, and reflash the phone each time. While I know my way around the G1, and I'm comfortable with basic rooting, I am by no means a developer, and just like most G1 users, I would probably be more comfortable making shortcuts than updating firmware.
Do you understand where I'm coming from?
Click to expand...
Click to collapse
I have yet to try this, but (provided you have root), you should be able to use adb to pull the apk for an app off your phone, edit it as described, and push it back to the same place. I will give this a go tomorrow, as I'm rather sleepy, and it's probably not a good thing to mess about with superuser stuff when I can't think straight.
If there's any flaws in my theory, I'd be happy to hear them.
RE: Changeing Icons!
I have a video on you tube on how to change icons. Here it is!
http://www.youtube.com/watch?v=AjnV_d9b22E
Hope you enjoy and your able to Change Your Icons.
Good Luck!
bms122223 said:
I have a video on you tube on how to change icons. Here it is!
http://www.youtube.com/watch?v=AjnV_d9b22E
Hope you enjoy and your able to Change Your Icons.
Good Luck!
Click to expand...
Click to collapse
Video doesnt show you how to change "non-stock" app icons, only icons for the original apps.
Well, I kind of figured out how to change the non-stock icons. But got stuck at the end...here's what I did...
1) Install/Open Astro.
2) Back up the app you want to change the icon for.
3) Grab that backup apk file off of your sdcard and put it on your computer.
4) Open it with Winrar.
5) Go to the proper folder and drag your new icon into the folder.
6) Close Winrar and move the apk back to your sdcard.
...this is where I get stuck, I know the icon changed because I can see it when I TRY to install the app. But the app doesnt want to install, it says "install unsuccesful". I'm guessing it needs to be signed?
I have used astro as well, I even signed the apk the same way I sign themes and no luck.
ultra spikey said:
Well, I kind of figured out how to change the non-stock icons. But got stuck at the end...here's what I did...
1) Install/Open Astro.
2) Back up the app you want to change the icon for.
3) Grab that backup apk file off of your sdcard and put it on your computer.
4) Open it with Winrar.
5) Go to the proper folder and drag your new icon into the folder.
6) Close Winrar and move the apk back to your sdcard.
...this is where I get stuck, I know the icon changed because I can see it when I TRY to install the app. But the app doesnt want to install, it says "install unsuccesful". I'm guessing it needs to be signed?
Click to expand...
Click to collapse
You're real close; once you replace the icon you need you need to delete META-INF folder then zip it back up, rename file extension to .apk and sign it with the test keys like the stock .apk. The META-INF is where the signature info is kept from the original author, you need to delete this so it doesn't conflict with the test keys.
Geo411m said:
You're real close; once you replace the icon you need you need to delete META-INF folder then zip it back up, rename file extension to .apk and sign it with the test keys like the stock .apk. The META-INF is where the signature info is kept from the original author, you need to delete this so it doesn't conflict with the test keys.
Click to expand...
Click to collapse
I will that a try. So this also mean that if author updates .apk file we will not be able to install update? Similar to google RC30 updates, we have to wait for JF to modify it.
johnowa636 said:
I will that a try. So this also mean that if author updates .apk file we will not be able to install update? Similar to google RC30 updates, we have to wait for JF to modify it.
Click to expand...
Click to collapse
Agreed; this might be a problem.
I mean, opening up the APK files is definitely a start, but it seems the shortcut approach I mentioned earlier is just so much easier. Shortcuts would allow basic users to change icons effortlessly and without fear of ruining the app, and the process could be just as easy as Bookmark 2, if a developer took charge, no?
ultra spikey said:
Well, I kind of figured out how to change the non-stock icons. But got stuck at the end...here's what I did...
1) Install/Open Astro.
2) Back up the app you want to change the icon for.
3) Grab that backup apk file off of your sdcard and put it on your computer.
4) Open it with Winrar.
5) Go to the proper folder and drag your new icon into the folder.
6) Close Winrar and move the apk back to your sdcard.
...this is where I get stuck, I know the icon changed because I can see it when I TRY to install the app. But the app doesnt want to install, it says "install unsuccesful". I'm guessing it needs to be signed?
Click to expand...
Click to collapse
i would like to verify that this method works to change non-stock apps without pushing files or inserting apps into updates. i used 7zip but i'd imagine winrar will work fine as well. just remember to delete the entire metainf folder, not just its contents. once you have your .apk, re-sign it using stericson's auto-sign utility and you'll be able to install the app through astro.
i should also note that i deleted all instance of the unmodified app from my sdcard. i uninstalled it and deleted the backup on my sd card. this may or may not be necessary, but i just wanted to take precautions.
I've given this method a try, and it seems simply too complicated for a moderate user like me. Wouldn't the shortcut method I mentioned be so much easier to quickly change home screen icons? Would any of the developers on this forum be interested in throwing such an app together? I'd gladly donate some money if a good app was able to take care of this problem.
what are you having trouble with, exactly? i'm far from an advanced user myself, but this is probably one of the easier things to do on the g1, probably second to flashing themes.
though i will say that there are a few apps that i can't change icons for. chomp and cubik have installed but force close when opened.
i have a feeling it's something to do with the signing the apk's, but like i said, i'm not an advanced user at all.
TruLuvNvrDies said:
what are you having trouble with, exactly? i'm far from an advanced user myself, but this is probably one of the easier things to do on the g1, probably second to flashing themes.
though i will say that there are a few apps that i can't change icons for. chomp and cubik have installed but force close when opened.
i have a feeling it's something to do with the signing the apk's, but like i said, i'm not an advanced user at all.
Click to expand...
Click to collapse
I opened up the APK using WinRAR, replaced the icon.png with my icon of choice, and then I'm stuck. I known I have to auto-sign the APK, but am not exactly sure how. I have Stericson's auto-signer tool, and used command 4 to manually enter the APK path, but once I do that I get a bunch of errors. If need be, I can copy down the exact error I get.
ultra spikey said:
Video doesnt show you how to change "non-stock" app icons, only icons for the original apps.
Click to expand...
Click to collapse
Nice video!
jayaustn said:
I opened up the APK using WinRAR, replaced the icon.png with my icon of choice, and then I'm stuck. I known I have to auto-sign the APK, but am not exactly sure how. I have Stericson's auto-signer tool, and used command 4 to manually enter the APK path, but once I do that I get a bunch of errors. If need be, I can copy down the exact error I get.
Click to expand...
Click to collapse
you probably need to delete the contents of the meta-inf folder. there should be three files in there, delete them all. if you extracted the contents of the .apk, zip them back up with an .apk extension. if you didn't extract them, you're at the last step, which is to re-sign the .apk. you don't actually need to manually re-sign the file through the console on stericson's re-signer. just right-click the .apk file and at the very top, there should be an option that says "resign .apk". click on that and your app will be re-signed and ready for an install attempt.
though, as i said before, this method is not 100%. of the 6 apps that i modified so far, i was only successful with 4 of them. even if you do all of the steps correctly, you might not have a working app at the end. the apps will install but will automatically force close when launched. i don't know what causes this, actually, and any suggestions would be appreciated.
I agree with the OP, while it is easy enough to edit the apks, resign them, copy them back onto your phone it would be far more elegant (IMHO) if you could have an application that allowed you to copy "Icon Packs" onto your SDCard, and then add links to applications on your home screen giving you a choice of icons from the aforementioned "Icon Pack".
Theme developers could then distribute the "Icon Pack" with the theme, and end users could easily add custom icons to your home screen from your phone without having to mess about on a PC.
liamw said:
I agree with the OP, while it is easy enough to edit the apks, resign them, copy them back onto your phone it would be far more elegant (IMHO) if you could have an application that allowed you to copy "Icon Packs" onto your SDCard, and then add links to applications on your home screen giving you a choice of icons from the aforementioned "Icon Pack".
Theme developers could then distribute the "Icon Pack" with the theme, and end users could easily add custom icons to your home screen from your phone without having to mess about on a PC.
Click to expand...
Click to collapse
So what everyone wants is Anycut that can do custom icons.
I installed the stock MMS.apk file on my de'odexed stock rom (rooted of course). Everything worked well and the app runs, but when reading text threads there is an ugly white border around the edge of the screen, its strange. Its not present when viewing the list of conversations, only in the thread view. I'm not sure if that's how its supposed to look or not, but if not, anyone have any idea how to fix this?
I'll get a screenshot up as soon as I get home.
I first obtained the MMS.apk from the cyanogen rom, then thinking that it might be modified and thus creating my problem, I grabbed the AOSP version from this thread:
http://forum.xda-developers.com/showthread.php?t=789493
Any help will be greatly appreciated.
UPDATE:
Found another thread where people are experiencing the same issue, apparently its a problem with how sense handles the application:
http://forum.xda-developers.com/showthread.php?t=752604
I attempted to open up the Mms.apk (AOSP version) with APKtool and play around with the xml files for the UI, but wasn't able to get it to recompile and test any changes I made, the app would just crash on launch. I simply made a few changes to the colors, but I admittedly don't really know what I'm doing and it wouldn't run. If anyone who's more experienced in this area could offer some advice I'll try again.
That's a picture of the issue, it appears in both landscape and portrait mode.
Texts were blacked out just for privacy sake.
Well after a few hours of messing around in the XML files for the AOSP messaging app, I was able to find a solution to this issue. I modified the XML file to have it correctly display the black color background when using the black theme. I was not able to eliminate the border entirely, but by changing the scrollbar type from Inset to Overlay I was able to make it uniform and far more visually pleasing.
I have attached my modified Mms.apk file, feel free to test it out.
For the specifics of what I did for those who are interested:
Two files were modified in the apk
- /res/layout/compose_message_activity.xml
- /res/layout/compose_message_activity_black.xml
In both files I changed the scrollbarStyle propery to "insideOverlay", in addition to removing the reference to always show the scrollbar track.
In the black xml file I changed the background color to "@android:color/black".
The original XML files were extracted using APKTool and Recompiled to their binary format, then reinserted into the original apk without resigning.
This is awesome! ... Except it doesn't filter out the VVM message streams that come through. :|
I haven't encountered this problem though I use google voice so I'm not really sure what it is you're referring to.
Sent from my PC36100 using XDA App
ty!
beautiful ty!!!!!!!!!
Imma cry
I cant send mms!
Try turning off wifi while sending/receiving mms
no wifi
i don't have wifi on when i do this i just have 3g on so i can send mms!
i zipped the file with the one that had the white outline .is there a way to make this new apk. file into a .zip file for me ?
I'd imagine you could simply replace the APK file in your zip with my modified one and install that way. Use a program like winrar or 7zip to replace the apk within the zip.
tehpsyc said:
I'd imagine you could simply replace the APK file in your zip with my modified one and install that way. Use a program like winrar or 7zip to replace the apk within the zip.
Click to expand...
Click to collapse
sorry but i cant find either of thoses programs u mention to replace the APK file in my zip with your modified version .is there another program or a manual way of doing this process ?
how do i install this? since it's an APK, i thought i'd just install it from Astro but it says it's already installed and asked if i wanted to uninstall.
To install this you need to either delete or rename the Mms.apk that's already on your phone in the /system/app directory (I just rename to Mms.apk.bak) and then copy the modified one into that same directory followed by a restart of the phone. Because its a system app you cant install it the same way you would a regular apk, at least from my understanding.
You will need to get write access to the system directory to accomplish this (I used an app on the market called root explorer, though you can also do all this through the ADB shell)
Not sure if this is the right spot or should actually go in development or here since I got lectured for putting it in development the last time.
But what I am trying to do is decompile the framework file from the stock rom and change a xml and recompile so as to bypass the tetheringprovison call.
The last time I did this on the HTC One S I ran into the trouble that the recompiled verision didn't work and ended up just opening the recompiled apk as a zip pulling the xml and replacing it in the original apk and load that.
That seemed to do the trick on that phone.
I think the problem is with compression as the output apk I get after recompiling is never even close to the original size.
I am having the same issue when it comes to the file for the gs3.
So far I haven't tested a recompiled one yet since I haven't rooted yet but just working on the file.
That is a job for a little later on my days off where I don't need my phone.
But with this one the file I am looking for once it is decompiled shows in res/values/arrays.xml for this one. How ever if I open either the source file or the recompiled when I don't see those values folders anywhere inside.
I am not sure if they are just hidden in something else or where the other files are.
I am using the newest verision of apk multi tool to recompiling and decompiling with compression values tested at 1 and 0.
both the framework-res.apk and twframework files are loaded into it as well as dependencies.
Any ideas on the best way of changing out this one file?
Or if anyone can recompile one with the following arrays.xml file instead that I have attached.
When it is decompiled it does show the right folder string "\res\values" and the array.xml inside I have just made a change to the xml that would not check the tethering provision on the device to allow the built in tether to work again. and a recompiled verision with that file will bypass any tethering check
any help would be greatly appreciated.
*edited* to include the arrays xml
Anything found in the "values" directory are not going to be visible inside the apk they are files used to build the actual apk that tells the other XML and other files where things are. Compression won't break an apk. What exact file are you editing? Also you are going to have to root if you want to put the modded file back on the device..
Sent from my SGH-T999 using Tapatalk 2
Yeah will be rooton on day off so i dont have to worry about it too much.
But with the arrays file that has a call in it to consult a different program before starting tethering.
I have changed that file so it dont check anymore.
This worked on it before with it just unlocked and a different apn update came and dont work anymore.
I am just confused that why it recompiled before for the one and wouldnt work right.
Based on what i read should be no problem as long as both frameworks are installed to the apk multitool
M9x3mos said:
Yeah will be rooton on day off so i dont have to worry about it too much.
But with the arrays file that has a call in it to consult a different program before starting tethering.
I have changed that file so it dont check anymore.
This worked on it before with it just unlocked and a different apn update came and dont work anymore.
I am just confused that why it recompiled before for the one and wouldnt work right.
Based on what i read should be no problem as long as both frameworks are installed to the apk multitool
Click to expand...
Click to collapse
I decompile framework-res.apk all the time with no issues. What is the exact issue you're having?
Sent from my SGH-T999 using Tapatalk 2
Just that when I decompile the framework-res.apk replace one xml file and recompile it using the multitool (am using the system apk with dependancies and linking the twframework) and then try and load it on the phone it seems to cause it to crash.
M9x3mos said:
Just that when I decompile the framework-res.apk replace one xml file and recompile it using the multitool (am using the system apk with dependancies and linking the twframework) and then try and load it on the phone it seems to cause it to crash.
Click to expand...
Click to collapse
You cannot replace XML files with other XML files. You have to open the XML in notepad++ and edit the actual lines of code then recompile. And I thought you weren't rooted so how are you able to push the app back to the device? Also, are you setting correct permissions for the newly compiled apk?
Sent from my SGH-T999 using Tapatalk 2
Yeah sorry for the late reply.
I am still tinkering with it. I wanted to root just till I had a day off that it wouldn't kill me to have the phone down for a little.
I will be rooting it in the next day or two since I am off.
After recompiling the APK and pulling the XML out of that one and putting in the original was the only way I could get the change to take on the One S.
When I was testing then, and will try the same procedure with the GS3, is after recompiling it with the tool I would put on sd card then using twrp copy to the phone and chmod 644
Out of curiosity what would be the DD command for backing up the recovery to the sd card?
I am having trouble finding that.
I would like to have that to flash back on the phone as I am planning to try this again from within twrp and see what happens.
From my understanding for triangle away to work you need to be on stock recovery right?
Ok
Now I have a new problem I have stumbled upon.
I have modded the file but when I try and push it with ADB from the pc even after system mounted it tells me that permission is denied.
Any ideas why that is happening?
Tried copying over with root explorer and that froze during copy and then resulted I'm a boot loop.
Not sure if that was because of the method or a problem with the file I made.
When decompiling does that need to be done with the twframework dependence or just simple decompile?
Also then after switching the arrays.xml I can just recompile with no compression or do I have to do something with keeping files.
Since the arrays is in something else I'm not sure what it shouldn't keep.
Any ideas would be greatly appreciated.
And I can't find if should either be zipaligned or signed. Some articles say signed some say don't sign system apks
Holy crap... youre allllllllllll over the place one bite at a time.. Quick answers first:
You do not need to backup your recovery. It is flashable via Odin and is much safer to flash via odin then it is using DD. With DD, you could flash the wrong partition by a simple slip of a keystroke. IE you typed '9' instead of '0'
Secondly: You got that 'freeze' issue using Root Explorer because framework-res.apk is constantly in use by the system. The BEST way to apply any system file is by creating a flashable zip file then applying it through recovery.
Thirdly: You do NOT need stock recovery to use Triangle Away, ive used it twice now with CWM as my recovery.
About your issues with decompiling recompiling.. I dont think its necessary to install the twframework... i dont recall if i had to when i was on Frosty, but doing "java -jar apktool.jar if <twframework here>" wouldnt hurt.
Also what exactly are you trying to modify?
Yeah Sorry about that
was just as I was reading other things and playing with it I kept coming across other questions.
Was thinking about that with the recovery so I am just going to skip doing that and flash a custom one then.
Was trying to do it without switching to avoid tripping the counter but seems like that is un neesicary
I am looking to stay on the stock software of the phone but want to edit the arrays file out of the framework so it don't check for tethering provisions.
Previously I was able to tether just by changing the APNs on the device now I can't do that. Says I don't have a tmo tathering plan. But also not with T-Mobile so that is problematic.
M9x3mos said:
Yeah Sorry about that
was just as I was reading other things and playing with it I kept coming across other questions.
Was thinking about that with the recovery so I am just going to skip doing that and flash a custom one then.
Was trying to do it without switching to avoid tripping the counter but seems like that is un neesicary
I am looking to stay on the stock software of the phone but want to edit the arrays file out of the framework so it don't check for tethering provisions.
Previously I was able to tether just by changing the APNs on the device now I can't do that. Says I don't have a tmo tathering plan. But also not with T-Mobile so that is problematic.
Click to expand...
Click to collapse
Quick question, are you running Stock Jellybean? And who is your carrier? There was a hacked apk that enabled tethering.. not sure what its called. just read about it. Never tried/downloaded it.
i got this to work last night for frosty 11.2.1, AllenD87 over at the att forums helped me get it right.
I have the stock jellybean on tmo device and use with simple mobile service
Just checked out the other one hack/mod that was looking like the same kind of mod where made changes to the framework and put it back.
different firmware so I don't that I should try that on mine.
i just decompiled framework-res.apk made the changes and recompiled. put it in the rom and flashed the whole rom.
Trying to keep the absolute stock rom.
I just installed twrp since it has file manager so I don't need to make a flashable zip but just copy over and chmod 0644
first attempt gave me a boot hang so I am going to try compiling with a different tool
Ok found out the problem was the multi tool inwas using
Used the beta instead and everything worked ok