I've been slowly working on fixing a number of issues with apktool which will hopefully help some of you guys out with your theming/etc. As a first release, this is unlikely to be perfect and I have not really tested this latest build so please post any issues you have.
This is based on apktool 1.3.2 since that is the version with the source released (thanks Brut.all) which means there are some issues that weren't present in apktool 1.3.1. I'm far from an expert in reverse engineering and I haven't worked on any OSS projects before so this is really only meant to be a holdover until Brut.all picks the project back up. I believe he is waiting for the honeycomb source, but don't quote me on that. The name for this release is a bit of a misnomer since most of the issues were introduced with the Gingerbread SDK.
Anyways, onto the issues (hopefully) resolved:
- X-Large screen support (thanks fboldog)
- Multiple substitution strings
- Multiple substitution plurals
- Escape character issues introduced in apktool 1.3.2
This is meant for people already familiar with using apktool. See the apktool site for installation instructions
Update 5/13 - v1.1
-Renamed
-Fixed empty string error
-Included aapt from 3.1 sdk
This is great. Thank you!
Awesome! Not sure version I've been using, bignadad hooked me up a while ago for honeycomb. I'll be testing this one tomorrow when I get back to my comp.great work Sangreal!
Bazar617 said:
Awesome! Not sure version I've been using, bignadad hooked me up a while ago for honeycomb. I'll be testing this one tomorrow when I get back to my comp.great work Sangreal!
Click to expand...
Click to collapse
I've worked with bignadad on testing some earlier builds so it could be that. I also know bigrushdog has been working on his own fixes so it could be that too . Not sure about the status on that front
If it is the one I sent bignadad you should definitely upgrade to this one, as I've fixed a number of issues
I definitely will upgrade... the one I have works great for decompiling, couldn't use a recomiled apk tho. I'll report back tomorrow with how it works for me.
Xooming with Tapatalk
Getting verrrry near 100%. Decompiled perfectly (it was weird typing honeytool instead of apktool in cmd lol), compiled fine, I can now see the /xml folders in the recompiled apk, but still can't see the /values folders. One step closer tho.
I say that because there's some .xml's in the Values folders I want to edit and have to recompile. If theres anything I can do to help let me know (I'm not much of a programmer tho)
Thanks again!
the /values folder gets compiled into resources.arsc so you won't see it in the recompiled apk
As for the name, that would probably drive me nuts. I keep it as apktool locally, I just renamed it for distribution due to license
That does remind me though -- it should work with tools like APK Manager if you rename the jar to apktool.jar and replace the one that comes with the tool.
Sweet. The last build you shot me was real smooth. I'm gonna try this one out today. I've been sidetracked with a few other projects, so I haven't had much opportunity to focus here. Besides more and more HC source keeps dropping all the time. Soon we will have a solid smali which opens countless doors. Awesome job bro!
sangreal06 said:
the /values folder gets compiled into resources.arsc so you won't see it in the recompiled apk
As for the name, that would probably drive me nuts. I keep it as apktool locally, I just renamed it for distribution due to license
That does remind me though -- it should work with tools like APK Manager if you rename the jar to apktool.jar and replace the one that comes with the tool.
Click to expand...
Click to collapse
I was not aware of that. I'd say it's right at 100% then! But being in this business, you're probably thinking there's always room for improvement, I know I do lol.
So in theory I'd be able to edit something in the Values folder and use the .arsc file in the flashed apk and it'd show those changes? Just weary of taking steps no one else has (or is that how you did the UAstring mod?)
Yes, that is the theory. I did not use this tool though. I used fboldog's tool and manually fixed all of the compilation errors.
jim_panse was able to get it working using this tool though. See his thread here: http://forum.xda-developers.com/showthread.php?t=1064818
Didn't think of renaming the .jar, understandable about the licenses tho.
Looks like I've got a bit of trial and error in my path, thanks for the heads up! And thanks for the work on all this, we all appreciate it!
Wonderful work here!
Thank you very much for that
Sent from my Nexus S using XDA App
I have a problem, I edited the Stat_Sys_batt XML, recompiled, and pushed the framework back to my xoom but all it does is boot loop. Any suggestions?
Sent from my Xoom using XDA Premium App
That is probably a signature issue. Try copying the compiled xml into your original framework-res.apk and push that.
sangreal06 said:
That is probably a signature issue. Try copying the compiled xml into your original framework-res.apk and push that.
Click to expand...
Click to collapse
I tried that. The battery completely disappears when I do that. When I recompile the apk the first step says 'W: Could not find sources' could that be the issue?
Sent from my Nexus S using XDA App
What are you editing?
I just did a little bit in the framework, thanks for the heads up Sangreal!
{
"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"
}
*Shutting Down
Bazar617 said:
What are you editing?
I just did a little bit in the framework, thanks for the heads up Sangreal!
*Shutting Down
Click to expand...
Click to collapse
I'm editing the battery and charging animations. I'm trying to add the honeycomb looking circle battery with 1 percent increments
Sent from my Xoom using XDA Premium App
I tried this a while ago and it didn't bootloop, it just didn't display the battery (I tried doing tenths just to test, because they have it set up to do like 15, 28, 43, 57, etc, don't know what they were smoking then...)
Are you in drawable/stat_sys_battery.xml? I'm not sure if editing just that file will enable it to work in values other than the ones in there (ie, going to your 1% increments), because I'm pretty sure it's being told to only look for those battery increments and those images.
And Sangreal, not sure if this is completely ready for APKmanager yet. If you edit in the Values/ folder, when compiling you have to delete the specific edited xmls + .arsc files mid way thru, which it doesn't show you in the keep folder.
however, I was able to make xml edits inside the Values/ folder in APKtool using CMD, compiled correctly (after a few tries of wanting to add an apostrophe, I think now needs to be \' ), and just copied the resources.arsc file in to my themed framework or systemui and Viola! I think I tried using the "unsigned" version straight out of being compiled and the Xoom definitely doesn't like it.
Related
So I've had some requests to recreate the edit to re-enable user selection of font size in the touchwiz Ice Cream Sandwich builds. I am not on touchwiz that much so I thought I would share it with the rest of the community in hopes that those who do put more time into touchwiz could incorporate it into their roms for everyone to use.
{
"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"
}
The edit is actually quite easy, as the preference is simply being hidden in java. With that said, you need Settings.apk, smali/baksmali, adb knowledge, and some text editor
Instructions:
Pull Settings.apk from your phone. If you're cooking this into a ROM then obviously just grab Settings.apk from /system/app
Code:
adb pull /system/app/Settings.apk
Note: This assumes you are editing from a deodexed build. If you have an odexed ROM you can deodex your apk, make your changes, and then reodex.
Next you'll want to open the apk and pull out classes.dex. You can ultimately use apktool as well if it will work for you. I've been having some problems with classes and apktool on occasion and find baksmali to be a sure way to get it right. One you have classes.dex decompile it.
Code:
java -jar baksmali-x.xx.jar -o <[B]output directory[/B]> classes.dex
This will give you a decompiled smali output in the directory you used in bold above.
Navigate without the out folder to /com/android/settings/DisplaySettings.smali and open it with a text editor.
Look for the following, and remove the line in red from DisplaySettings.smali:
Code:
iget-object v0, v0, Lcom/android/settings/DisplaySettings;->mFontSizePref:Landroid/preference/ListPreference;
move-object/from16 v21, v0
[COLOR="Red"]invoke-virtual/range {v20 .. v21}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z[/COLOR]
And that's the hard part. =P Now recompile the classes for your Settings.apk.
Code:
java -Xmx512M -jar smali-x.xx.jar <output from above> -o newclasses.dex
Rename newclasses.dex to classes.dex,you'll have to delete your original if you're in the same folder, and move the new compiled classes.dex back into Settings.apk.
Push Settings.apk back to your phone.
Code:
adb push Settings.apk /system/app
Change your font size in menu>settings>display
Hope this helps some of you and I look forward to seeing more ROMs with font sizes! =P
Great find and thanks for posting the guide! Did you ever find the edit to remove the AM/PM from the status bar?
dtm_stretch said:
Great find and thanks for posting the guide! Did you ever find the edit to remove the AM/PM from the status bar?
Click to expand...
Click to collapse
Haven't looked much on ICS TouchWiz yet.
whenever i try to use your method or apktool i get error when decompling. I'm able to decompile other apks like SystemUI.apk just fine. Any ideas?
graphic1982 said:
whenever i try to use your method or apktool i get error when decompling. I'm able to decompile other apks like SystemUI.apk just fine. Any ideas?
Click to expand...
Click to collapse
Yeah, some samsung apps don't recompile correctly with apktool. This is why I used baksmali to decompile instead.
still getting error when using baksmali
graphic1982 said:
still getting error when using baksmali
Click to expand...
Click to collapse
Have you tried the newest baksmali?
Sent from my SPH-D710 using xda premium
newest baksmali solved the issue. Also you may want to edit instructions to say delete every instance of the line in Displaysettings.smali. I only deleted it one time the first time i tried and the font size option didn't show up in settings>display. After I went back and deleted every instance of that line from the file it worked. Awesome job on showing how to do this mod and thanks for the help with my troubleshooting.
graphic1982 said:
newest baksmali solved the issue. Also you may want to edit instructions to say delete every instance of the line in Displaysettings.smali. I only deleted it one time the first time i tried and the font size option didn't show up in settings>display. After I went back and deleted every instance of that line from the file it worked. Awesome job on showing how to do this mod and thanks for the help with my troubleshooting.
Click to expand...
Click to collapse
Interesting. I'll look into it, thanks. All the ones I've posted for people here I've just re enabled the first list preference. Worked for me too when I tested it on fe16 and haven't heard otherwise for the few people that have downloaded the apk. But I'll double check just to be sure.
Sent from my SPH-D710 using xda premium
Anyone willing to provide a modified Settings.apk for download?
Dint even realize it was missing.
Thanks for showing everybody and creating a how to.
I will do this later this week.
i717 running Seraphim Stratosphere Collective ICS with tapatalk2
Default ICS Launcher ?
Does this work with the Default ICS Launcher ? Or can someone tell me where to find the settings in the ICS Launcher
Thank you
Curtisp said:
Does this work with the Default ICS Launcher ? Or can someone tell me where to find the settings in the ICS Launcher
Thank you
Click to expand...
Click to collapse
It should. However it doesn't seem to resize touchwiz launcher font. Never tried the ics launcher though.
Sent from my SPH-D710 using xda premium
Works as advertised. Excellent how-to, excellent post. For anyone not wanting to mess around with smali/baksmali, here's a modded Settings.apk from Calkulin's most recent FE22 ROM.
Will it work on sfhub's fe22 stock
Sent from my SPH-D710 using xda premium
Kchitown1977 said:
Will it work on sfhub's fe22 stock
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
It should, I don's see why not. There's only one way to find out. Copy this file to the /system/app directory using Root Explorer or something similar. Back up your own Settings.apk prior to that. If it doesn't work, replace it with the original file.
Kchitown1977 said:
Will it work on sfhub's fe22 stock
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
If you use a deodexed apk on an odex rom, it will work, however, youll want to remove the odex file as well.
S2 OK
Also work on Galaxy S2. Thk.
I use the RCMixS rom (with Htc Sense 2.1 + 3.0) and I'm trying to remove the Recent Apps' bar from the SystemUI menu.
I have been following 3 or 4 different guides, but no one worked for me...
Can anyone please help me removing the Recent Apps?
This is my SystemUI.apk
I hope that someone can help me
Thank you in advance,
Sbarabau
Sbarabau said:
I use the RCMixS rom (with Htc Sense 2.1 + 3.0) and I'm trying to remove the Recent Apps' bar from the SystemUI menu.
I have been following 3 or 4 different guides, but no one worked for me...
Can anyone please help me removing the Recent Apps?
This is my SystemUI.apk
I hope that someone can help me
Thank you in advance,
Sbarabau
Click to expand...
Click to collapse
Do u have the RCMix tweaks in settings? Coz u can disable the recent app in notifications there.
(requires reboot)
Sent from my HTC Desire
jmcclue said:
Do u have the RCMix tweaks in settings? Coz u can disable the recent app in notifications there.
(requires reboot)
Sent from my HTC Desire
Click to expand...
Click to collapse
No, I don't have RCMix Tweaks... In my case the only way to remove the recent apps is to modify the SystemUI.apk
I've followed several guides, but unfortunately no one worked for me...
Up....
Up...
Post a screen shot of what u have, then clearly state what u want to remove? Draw on the screen shot if u need to
Sent from my Galaxy Nexus using Tapatalk 2
{
"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"
}
Yeah same problem .. but I found some nice step by step tutorial to remove it using apktool, i did exactly what it said but i could'nt edit some framework files and now i lost the link to the tutorial ...
Sbarabau said:
Click to expand...
Click to collapse
O I thought you were talking about something else, is your from deodex that your running? And what android version are you one?
Also upload your framework-res.apk
And com.htc.resources.apk
Sent from my Galaxy Nexus using Tapatalk 2
The way to do it,
Deconpile the syatemui.apk
At SystemUI\smali\com\android\systemui\statusbar - open the file StatusBarFlag.smali with
Find
Code:
sput-boolean v0, Lcom/android/systemui/statusbar/StatusBarFlag;->HTC_RECENT_APP:Z
Change to
Code:
sput-boolean v2, Lcom/android/systemui/statusbar/StatusBarFlag;->HTC_RECENT_APP:Z
runandhide05 said:
The way to do it,
Deconpile the syatemui.apk
At SystemUI\smali\com\android\systemui\statusbar - open the file StatusBarFlag.smali with
Find
Code:
sput-boolean v0, Lcom/android/systemui/statusbar/StatusBarFlag;->HTC_RECENT_APP:Z
Change to
Code:
sput-boolean v2, Lcom/android/systemui/statusbar/StatusBarFlag;->HTC_RECENT_APP:Z
Click to expand...
Click to collapse
I've already tried this but it force closes. Now i upload the framework and the com.htc.resources apks
SystemUI.apk is deodexed and I'm running Gingerbread 2.3.3
This is the link to download framework-res.apk and com.htc.resources.apk
com.htc.resources.apk: https://rapidshare.com/files/4035992333/com.htc.resources.apk
framework-res.apk: https://rapidshare.com/files/646835451/framework-res.apk
Thank you for the help you're giving to me
Let me ask u this, you say it causes force close,
Have you tried to decompule the systemui and DO NOT make any changes and simply recompile the apk, then push to your phone? Try this and see if the systemui still force closes, I have seen APKTOOL mess up a LOT of HTC apks when recompiling , try that and report back
Sent from my Galaxy Nexus using Tapatalk 2
runandhide05 said:
Let me ask u this, you say it causes force close,
Have you tried to decompule the systemui and DO NOT make any changes and simply recompile the apk, then push to your phone? Try this and see if the systemui still force closes, I have seen APKTOOL mess up a LOT of HTC apks when recompiling , try that and report back
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I've tried as you said, and it doesn't work
First I tried to decompile, recompile and pushing the file... I rebooted and SystemUI didn't start...
Then I tried to recompile with his META-INF datas... the result is the same...
Can you please try to edit the SystemUI.apk and give me it back, to see if I am doing something wrong or not?
Thank you in advance
Sbarabau said:
I've tried as you said, and it doesn't work
First I tried to decompile, recompile and pushing the file... I rebooted and SystemUI didn't start...
Then I tried to recompile with his META-INF datas... the result is the same...
Can you please try to edit the SystemUI.apk and give me it back, to see if I am doing something wrong or not?
Thank you in advance
Click to expand...
Click to collapse
Okay,
in this zip is four SystemUI.apk
each one is in its own folder, there are two sets, one set i made NO changes to the smalis, just decompiled and then rebuilt, one is a distro, and one is a little bit of a different way to use apk (but i have noticed it to work best when dealing with HTC)
try both, remember to set your permissions correctly on the apk after you move it to /system/app then reboot.
if one of the ones that i did not change the smalis on works, use the corresponding files in the remove recent apps folder
for example
if the no changes distro build works and does not casue force close, go straight to the removed recent apps folder labels disrto and use that one.
hope this helps you out,
by the way, what part of Italy are you from?
zip
https://www.box.com/s/80233766e0e29235614f
runandhide05 said:
Okay,
in this zip is four SystemUI.apk
each one is in its own folder, there are two sets, one set i made NO changes to the smalis, just decompiled and then rebuilt, one is a distro, and one is a little bit of a different way to use apk (but i have noticed it to work best when dealing with HTC)
try both, remember to set your permissions correctly on the apk after you move it to /system/app then reboot.
if one of the ones that i did not change the smalis on works, use the corresponding files in the remove recent apps folder
for example
if the no changes distro build works and does not casue force close, go straight to the removed recent apps folder labels disrto and use that one.
hope this helps you out,
by the way, what part of Italy are you from?
zip
https://www.box.com/s/80233766e0e29235614f
Click to expand...
Click to collapse
I've tried them all and the only one who worked for me is the one under "/decomp then rebuilt/no changes build/SystemUI.apk"
P.s: I'm from northern Italy
Sbarabau said:
I've tried them all and the only one who worked for me is the one under "/decomp then rebuilt/no changes build/SystemUI.apk"
P.s: I'm from northern Italy
Click to expand...
Click to collapse
did all the others cause force close?
PS i ask cause my family is from Bari
edit:
try this one
runandhide05 said:
did all the others cause force close?
PS i ask cause my family is from Bari
edit:
try this one
Click to expand...
Click to collapse
Force close again...
-------------------------------------------------------
Build not modified: worked xD
Distro not modified: no force close, but it didn't start
Build modified: force close
Distro modified: force close
-------------------------------------------------------
P.S: I'm from Mantova
Sbarabau said:
Force close again...
-------------------------------------------------------
Build not modified: worked xD
Distro not modified: no force close, but it didn't start
Build modified: force close
Distro modified: force close
-------------------------------------------------------
P.S: I'm from Mantova
Click to expand...
Click to collapse
ok, then clearly the same mod does not work as it use to.
but atleast the recompile works(kinda)
once u build the apk, open the original apk in 7zip and open the file directory in apktool /systemui/build/apk and copy everything but the AndroidManifest into the archive of the orginal apk.
see pic
runandhide05 said:
ok, then clearly the same mod does not work as it use to.
but atleast the recompile works(kinda)
once u build the apk, open the original apk in 7zip and open the file directory in apktool /systemui/build/apk and copy everything but the AndroidManifest into the archive of the orginal apk.
see pic
Click to expand...
Click to collapse
Still force close
I made this tool originally for SonyEricsson Xperia X10, but have now modified it to work for our Samsung Galaxy S3. I hope it will make life a little easier when modifying files on the device. It uses ADB to pull and push files, change file permissions and much more - so users don't need to remember long command prompt/terminal emulator commands! It also has a nifty little application manager, which allows for quick installation, backup, and removal of both pre and self -installed software. It has a LogCat function to read and save logs on the go when investigating errors, as well as functionality to decompile/recompile APK, JAR and ODEX files, sign and zipalign APKs, and decompile System images. ADB Shell will be released in v0.6.2.
{
"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"
}
Instructions:
1. Extract archive.
2. Install LinuxReader to GalaxyS3ModTool\tools\LinuxReader.*
3. Run GalaxyS3ModTool.jar
*This step is only needed for the Decompile System function in the ROM Manager.
Note: Make sure your phone is connected in debug mode, you have root privileges, and unsecured your device's shell. The application will try to unsecure your shell if you haven't already, but worst case scenario you might have to do this manually.
Also, the manage ROMs functionality is still experimental, and the Recompile System function is disabled. If you know how these processes can be automated, let me know and I will incorporate the functionality.
If you have problems, let me know and I will try to sort them out with you. Keep in mind that often when a modification goes wrong, you can simply push back the original files and reboot. So keep backups handy!
Reserved in case of future expansions.
Reserved in case of future expansions.
Thank you!
I'll finally be able to modify the ODEX files :victory:
Is it possible to recompile an ODEX file to .odex (not .jar)?
Great tool
Thanks!!!
Great tool. Looks very promising
Sent from my GT-I9300 using Tapatalk 2
Saleen NS said:
Thank you!
I'll finally be able to modify the ODEX files :victory:
Is it possible to recompile an ODEX file to .odex (not .jar)?
Click to expand...
Click to collapse
Yes modifying ODEX:ed filesystems has become a breeze Just remember to remove the original *.ODEX file from your system if you incorporate it into its associated APK or JAR.
As ODEX is a device-specific format, compiled to be most effective on specific hardware, recompiling with baksmali to *.DEX and renaming to *.ODEX is not enough. I don't know of any way to recompile to proper *.ODEX, but I mean it has to be possible, and if anyone knows how - please drop a line here or PM me. However the rule of thumb is to not decompile and incorporate the *.ODEX unless smali-code is being edited. This will allow you to keep the efficiency of the original *.ODEX file, and just replace the APK or JAR - i.e. having no negative effect on performance.
EDIT: Realized there is a way to recompile to *.ODEX on the device via the dexopt binary. Working on implementing the functionality.
Thanks for your work!
Warren87 said:
Thanks for your work!
Click to expand...
Click to collapse
shahed26 said:
Great tool. Looks very promising
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
SETdown said:
Great tool
Thanks!!!
Click to expand...
Click to collapse
Great to hear you guys like it!
I've got version 0.6.1 in testing now, with proper ODEX recompilation functionality incorporated. Will upload it soon.
Unable to run d App!
I downloaded d files & followed above instructions...but clicking on GalaxyS3ModTool.jar opens the archive! What am i doing wrong?
Very promising tool! I will test in weekend and give a feedback!:good:
Mr.Mefisto said:
Very promising tool! I will test in weekend and give a feedback!:good:
Click to expand...
Click to collapse
Good stuff! Looking forward to that.
harryS2 said:
I downloaded d files & followed above instructions...but clicking on GalaxyS3ModTool.jar opens the archive! What am i doing wrong?
Click to expand...
Click to collapse
Do you have Java installed?
harryS2 said:
I downloaded d files & followed above instructions...but clicking on GalaxyS3ModTool.jar opens the archive! What am i doing wrong?
Click to expand...
Click to collapse
Java must be installed on your PC and .jar files associated with java.
Sent from my GT-I9300 using xda premium
Thnx this is what i need.
Works great.
Version 0.6.1 is now uploaded in first post!
Updates:
I have implemented proper ODEX recompilation functionality. However, it requires the device to be connected as the operation has to be performed from within the system and then pulled back out. The tool will let you know when to connect your phone. For the process to be possible, a wrapper for the binary dexopt needs to be pushed to /system/bin - so this is also done programatically.
Some user prompts have been added to make human mistakes less likely. For example if you say you want to decompile an associated ODEX file, you must also specify the framework directory - or nothing will happen.
A fancy automagic script has been added for JAR-decompilation. It turns out since the dex-optimizing of ROMs, some JAR-files don't include a classes.dex file anymore, which makes baksmali.jar cough up errors. But recompiling the ODEX file as classes.dex and inserting it into the JAR makes it decompile properly - so this is what the script has automated when it recognizes the situation.
I have actually rewritten most of the decompilation/recompilation code to execute more efficiently. When time flies and inspiration runs amok, this sadly results in djungle-code. So I had to clear everything up into reusable functions so that nothing is repeated or unnecessary slow.
Happy modding folks!
ADB Shell has been implemented in the coming version. Screenshots updated in first post.
Wow, what a quite bunch
Version 0.6.2 is uploaded in first post.
Changelog:
ADB Shell functionality implemented
Some bug fixes
Fantastic work!
If anyone notices this tool working on another device - please post the device name here with any related problems. I'm looking into extending the device support for this tool.
This tool is very convenient .. I used it for the nexus 7 with firmware 4.1.2
too bad that does not work with 4.2, we look forward to updates
still great
The Goods
About My Script:
I have been using and working on this script for sometime now, I started back when ICS first came out and we where no longer able to decompile apks in 1 step. All of the mods and things that I have posted on xda in the last year, have been made with this script. This script allows for editing those apks with a few buttons clicks. It can edit apks from any version of android. It has been posted on the Team Venum Forum and has been working for many of the Team Venum members.
With this script you will be able to:
Compile/decompile (Odexed and Deodexed) apks and jars
Make CWM zips of your projects
Flash and Push things to the phone
Make and install signed apk projects
Search decompiled apks
and much much more...
Sections:
Header bar: This displays the script info and current project.
AIO Tool: These are all options that you can use to mod. They will all be highlighted if they are available, otherwise they will be grayed out and have a short description why it’s not available.
Mid Section: 11 and 100 will always available. 11 allows you to choose your project from the “place-here-for-modding” folder. 100 will refresh the menu (usually for connecting/dis your phone).
Odex Section: These options will only be enabled if a phone is plugged in. The phone you are working with is needed for odexing and deodexing.
- 20 Deodex the entire ROM on your phone
- 21 Deodex just one apk or jar file
- 22 Odex the entire ROM on your phone
- 23 Odex a single file
Special Items section: These are portable apps and options.
- 91 Open Color edit. Allows you to visually view and change the color.xml file
- 92 Compile all .9 images inside the dot9 folder
- 93 MD5 Checker – Seldom used, handy to double-check MD5 to verify good file downloads.
- 94 Phone/Emulator – menu for phone and emulator choices.
- 95 Search tools – app to search inside smali or res files (ie textColor="#ffc0c0c0"). (Must have C++ runtime or PRGrep installed)
- 96 Open Notepad++ – best Windows/Android editor that has smali and log syntax highlighting tweek.
- 97 Color Wheel – color wheel with cool color drag and drop from anything feature.
- 98 Color Change – for smali only. Converts from hex to smali.
- 99 Options & Misc – set Header Bar options, clean folders and check logs, Sounds, and color theme for the Script.
- ** Exit the App – usually a better option for closing the Script because it closes the ADB running in the background.
I tried to designed this to make editing apks and doing things with your phone as easy as possible.
{
"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"
}
So here you go. If you have any questions or would like to see something added just let me know.
To Install: (For Windows Only)
1. Extract the zip file to a folder on your computer that does not have spaces in the name Ex. C:\apk\
2. Run the Start_AIO script (When this is opened it will check for updates and make sure adb and java are installed. Will also make all of the needed folders in the AIO dir)
3. Place an apk or jar in the place-here-for-moddding folder and have fun.
To Update: (For Windows Only)
1. Extract the new zip into you previous AIO folder.
2. Let it overwrite the current version files
3. Have Fun.
Requirements:
1. Java JDK must be installed
2. Android SDK must be installed and up to date
Downloads:
Downloads on TeamVenum.com
ChangeLog:
Version 2.0.0.3
-Added New chgcolor that is smaller
-Added New hex to smali script from Allockse and removed xUltimates colorchange.exe
Version 2.0.0.2
-Added Updated apktool 1.5.2
Version 2.0.0.1
-Added Updated apktool 1.5.1
-Updated aapt
-Updated notepad++
-Fixed a few bugs in the script
Setting up your PC for success!
1. Download and install the Java JDK from here
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Download and install the Android SDK
http://developer.android.com/sdk/index.html
3. After the SDK is installed open it and check and install these boxes
Android SDK Tools
Android SDK Platform-tools
Check the whole folder for any version you want to work on (You can check multiple, I have from 4.1 to 2.3.3)
When installing if any ask for a password just click cancel on those
4. Set your windows environment path
Follow this guide until step 3 - http://www.itechtalk.com/thread3595.html
In the image in step 4 find the Path Variable in the bottom section (Double Click to edit it)
Add your android sdk platform-tools folder (Usually C:\Program Files (x86)\Android\android-sdk\platform-tools or C:\Program Files\Android\android-sdk\platform-tools
So at the end of what is already there in Path put this ;C:\Program Files (x86)\Android\android-sdk\platform-tools (Make sure to add the ; before the whole string)
Click ok and save all of that
5. Open my script and setup your framework files
Choose option 99, hit enter
Choose option 4, hit enter
Choose your phone, or choose the last option to put the files in manually.
Choose option 11, select your apk and have fun modding.
6. At this point you should be all setup and should be able to decompile and compile apks and jars successfully.
Please let me know if I forgot something, it has been a minute since I set it up.
Nice work :good:
Sent from my SPH-D710 using Tapatalk 2
You are a beast, thanks for the awesome script!
DarkJelly Gnex on JellyBro sent this from the app.
Thanks! Awesome work!
This will be in Android Development for all phones very soon. This is real development. Congrats and thanks to my friend Rujelus. If a noob like me is starting to understand it, this is going to make themers lives so much easier.
Sent from my Galaxy Nexus using Xparent SkyBlue Tapatalk 2
This is an awesome time-saving tool. Thanks for sharing.
Sent from my SPH-D710
thank you for this. tyvm.
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
You sir are the man! Thank you for such a great tool. :thumbup::beer:
Sent from my SPH-D710 using xda premium
Thanks for all your work to make it easier for us. Great Tools. :victory:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
mjs2011 said:
So please forgive the noobish question, but I've been doing some reading in preparation of trying to learn how to theme.
Could I literally create a theme for a TW Rom using this tool? I say SystemUI mentioned but not Framework, so I wasn't sure if I could create an entire theme using this tool or not.
Click to expand...
Click to collapse
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
rujelus22 said:
Working on a new version the last few days that will have the ability to, work with odexed ROMs. It will be able to make a flashable zip to deodex and odex the ROM. It will also be able to pull a file deodex it, then you can mod it. Then it will compile it, reodex it and push it back to the phone.
Still got a bit of work to do on it, but I wanted to see if there was interest in this, or if there was something else in regards to odexing that you would like to see added.
Click to expand...
Click to collapse
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
tdunham said:
Great concept. Are you sticking strictly with the apk's or will this script be able to deal the jar files as well for odex/deodexing?
Click to expand...
Click to collapse
It does apks and jars
Sent from my SPH-D710 using Tapatalk 2
rujelus22 said:
Yes you can mod any apk or jar with this. The only other thing you would need is some sort of image editor. Like photoshop or paint.net
Click to expand...
Click to collapse
Thanks, I'm going to use this as my starting point for making themes!
So the new AIO is almost ready. I have some people testing it out. What is everyone's thoughts about a free and a pro version for $1. The pro version would allow for batch odexing and deodexing of a rom in minutes with one click. The free version would still allow for editing and modding odexed files the same way we do deodexed now.
With this it will make it so there is no reason to have a deodexed ROM.
New things that have been added are
-odexing full ROMs
-deodexing full ROMs
-odexing and deodexing single files
-editing of odexed apks and jars with no extra steps
-making/restoring/deleting/and fixing md5 mismatch for nands
-Tons of optimized code
-Redone most menus for easier viewing
-More I am sure I am forgetting
Let mess know what you think. I would definitely like some opinions.
Sent from my SPH-D710 using Tapatalk 2
You do so much for us that I think giving back is always good. I am up for it.
Sent from my SPH-D710 using Tapatalk 2
A dollar for the project version..?
I say go for it..a dollar is not much and some devs would charge way more for those types of options
-TeaM VeNuM Like A Boss
-Galaxy Note II Edition
Okay so I have been using the androidmenifest of 4.1.1 on my ma7 4.1.2 to make the flashlight and reboot toggles to work but ive been using the MC2 systemUI 4.1.2 got everything right but the flashlight and reboot toogles still doesnt work I gave permission to both of them and it keeps FC'ing my whole systemUI... doesnt any1 know why ???
Any opinion on this, im open to suggestions anything.. the only think I havent tried is only do the 23 toggles and see the outcome but idk what else to do -___-
Sent from my SPH-L900 using xda premium
Mundo Hackz said:
Okay so I have been using the androidmenifest of 4.1.1 on my ma7 4.1.2 to make the flashlight and reboot toggles to work but ive been using the MC2 systemUI 4.1.2 got everything right but the flashlight and reboot toogles still doesnt work I gave permission to both of them and it keeps FC'ing my whole systemUI... doesnt any1 know why ???
Any opinion on this, im open to suggestions anything.. the only think I havent tried is only do the 23 toggles and see the outcome but idk what else to do -___-
Sent from my SPH-L900 using xda premium
Click to expand...
Click to collapse
MA7 did some things with systemui and a few other things that need modding.
The androidmanifest ROM MA7 requires a few line changes concerning CORE apps. After modding that one needs to resign the apk since the manifest has been changed upon recompile. Then one must modify the services.jar to disable a unified Sig check(your sysemui will be signed but not matching others).
If the toggles are written in correctly to systemUI, the manifest is modded, the systemUI is resigned(as a "platform" key), and services.jar modded to disable SIG check, your flashlight and reboot options will work like a charm. I did all of this to my Venum Ice ROM if you want to decompile and look at the manifest etc. If you Google "disable signature check services" you should get those how to's as well
sleshepic said:
MA7 did some things with systemui and a few other things that need modding.
The androidmanifest ROM MA7 requires a few line changes concerning CORE apps. After modding that one needs to resign the apk since the manifest has been changed upon recompile. Then one must modify the android.policy.jar to disable a unified Sig check(your sysemui will be signed but not matching others).
If the toggles are written in correctly to systemUI, the manifest is modded, the systemUI is resigned(as a "platform" key), and android.policy modded to disable SIG check, your flashlight and reboot options will work like a charm. I did all of this to my Venom Ice ROM if you want to decompile and look at the manifest etc. If you Google "disable signature check android.policy" you should get those how to's as well
Click to expand...
Click to collapse
I gave permission to camera and reboot but nothing so I think only way is disable the sig and hopefully it will work
When I compile I just copy the mexa-inf right because the androidmenifest is modded
Sent from my SPH-L900 using xda premium
Mundo Hackz said:
I gave permission to camera and reboot but nothing so I think only way is disable the sig and hopefully it will work
When I compile I just copy the mexa-inf right because the androidmenifest is modded
Sent from my SPH-L900 using xda premium
Click to expand...
Click to collapse
Meant to say services.jar not android.policy the second i hit submit the forums went down and couldn't change it (at work and distracted )
Not sure what you mean by "permission", This is what I would suggest doing, it is too easy to use zip signer to sign an apk than to copy and paste a meta-inf folder not knowing if that's the issue.
1) decompile my venum ice systemui and look at the android manifest, change your first line to look like mine, its a small edit.
2) use zip signer to sign newly compiled systemui(with modded android.manifest) with Platform key
3) mod services.jar using this http://forum.xda-developers.com/showthread.php?t=1698352
sleshepic said:
Meant to say services.jar not android.policy the second i hit submit the forums went down and couldn't change it (at work and distracted )
Not sure what you mean by "permission", This is what I would suggest doing, it is too easy to use zip signer to sign an apk than to copy and paste a meta-inf folder not knowing if that's the issue.
1) decompile my venum ice systemui and look at the android manifest, change your first line to look like mine, its a small edit.
2) use zip signer to sign newly compiled systemui(with modded android.manifest) with Platform key
3) mod services.jar using this http://forum.xda-developers.com/showthread.php?t=1698352
Click to expand...
Click to collapse
uses-permission placed on manifest so that way camera and reboot will function
Mundo Hackz said:
uses-permission placed on manifest so that way camera and reboot will function
Click to expand...
Click to collapse
When I said "I'm not sure what you mean" you should have taken that as "it has nothing to do with making it work" lol. Only way to make it work is do exactly what I said, done it several times now from scratch.
sleshepic said:
When I said "I'm not sure what you mean" you should have taken that as "it has nothing to do with making it work" lol. Only way to make it work is do exactly what I said, done it several times now from scratch.
Click to expand...
Click to collapse
did not work -___-
Mundo Hackz said:
did not work -___-
Click to expand...
Click to collapse
Then it wasnt done right frankly, I couldn't go into great detail but that was the jist of it. It works, like I said done it several times now from scratch each time.
Did you resign the apk yourself? Did you mod the services.jar and it boots? Was the android.manifest properly modified so systemui is a core app?
What did you do? And how
sleshepic said:
Then it wasnt done right frankly, I couldn't go into great detail but that was the jist of it. It works, like I said done it several times now from scratch each time.
Did you resign the apk yourself? Did you mod the services.jar and it boots? Was the android.manifest properly modified so systemui is a core app?
What did you do? And how
Click to expand...
Click to collapse
okay modded the services.jar and it booted..
i decompiled your systemUI and it was the same as mine ..
the zip signer is a tool that i download from google right
??
Mundo Hackz said:
okay modded the services.jar and it booted..
i decompiled your systemUI and it was the same as mine ..
the zip signer is a tool that i download from google right
??
Click to expand...
Click to collapse
Use a diff program to look at the android.manifest if you don't see the diff, its not the same. Its an addition to one of the first lines
If you didn't change your manifest and it was left stock that is your issue. None of the steps can be skipped
sleshepic said:
Use a diff program to look at the android.manifest if you don't see the diff, its not the same. Its an addition to one of the first lines
If you didn't change your manifest and it was left stock that is your issue. None of the steps can be skipped
Click to expand...
Click to collapse
i added this android:sharedUserId="android.uid.system" androidrocess="system
Mundo Hackz said:
i added this android:sharedUserId="android.uid.system" androidrocess="system
Click to expand...
Click to collapse
That looks right but then again I'm at work dealing with annoying customers so I can't really double check.
It should be the only diff between your MA7 manifest from systemui and mine, so honestly there's not much more I can say than copy the one line that's diff up toward the beginning. Then resign, and mod services.
sleshepic said:
That looks right but then again I'm at work dealing with annoying customers so I can't really double check.
It should be the only diff between your MA7 manifest from systemui and mine, so honestly there's not much more I can say than copy the one line that's diff. Then resign, and mod services.
Click to expand...
Click to collapse
I got it working well the thing I did was get a zip signer from the app store than I just singed it thru my phone and just tried and it worked even the brightness works now without any problems
Sent from my SPH-L900 using xda premium
Good, glad you got it. Everything will work now :thumbup:
Ok...I guess I'll throw a question in here since it sounds like were playing with the same things. Lol
I just got the 15 toggles working fine. I was porting a theme over from the s3.
Only after testing did we notice its using a 4bar signal. I edited the integers.xml to increase the max higher and its refusing to do it?
Ive looked all over. Only thing I had was that it was also using the stat signal as opposed to the tw signal pngs
Any thoughts on where else I can look?
{
"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"
}
cbucz24 said:
Ok...I guess I'll throw a question in here since it sounds like were playing with the same things. Lol
I just got the 15 toggles working fine. I was porting a theme over from the s3.
Only after testing did we notice its using a 4bar signal. I edited the integers.xml to increase the max higher and its refusing to do it?
Ive looked all over. Only thing I had was that it was also using the stat signal as opposed to the tw signal pngs
Any thoughts on where else I can look?
Click to expand...
Click to collapse
To me it work my guess is to get the ones and xml files the same . So no conflict you know
Wolfed out Note Dos