Related
Source Found
Brut.all of XDA has released the program APKtool which make the process of editing any APK file much easier, especially XML editing. Before you had to use a few different programs (Smali, hex editor, etc) to do the same thing. A future release is going to have the decompiler dump into an easy to import into Javabeans/Eclipse format.. so nice
Program and Usage link;
APKTool 1.2
Setup;
Before you start, download from the link above both the apktool-1.2.0.tar.bz2 and apktool-install-windows-2.2_r01-1.tar.bz2 and extract them to your windows folder.
Usage;
Decoding APKs;
Code:
apktool d <file.apk> <directory to output to>
Compiling APKs*;
Code:
apktool b <directory of decoded apk>
*The compiled apk will be saved to the sub directory "dist", which is in what ever directory you choose to compile.
Output structure;
Smali directory - The output of classes.dex, the code to the apk
Res directory - Your resources, the images and layout/structure xmls
Lib directory - Shared library files
Dist directory - The apk output of the "apktool b" command, if you didn't run it you won't have it.
Build directory - The compiled output of the "apktool b" command, like what you would see if you just extracted an apk file with 7zip. If you didn't run it you won't have it.
General info;
Once you have your edited apk from the Dist directory you'll need to sign it. I use Dave Da illest 1 of XDA's modified script for signing. Just place your apk, this should be the only apk in this folder, in the same folder that you extracted the auto-signer to and execute sign.bat. The script will output your_app_signed.apk, which is your signed and ready to load on your phone apk.
If you'd like to decompile/compile an apk file that doesn't have a classes.dex, like framework-res.apk, just place any classes.dex into the apk and it will decompile. If you don't do this apktool will through up an error. Just remember to pull the classes.dex out before you sign it.
Videos;
Editing an Apk file with APKTool;
http://www.youtube.com/watch?v=XXgYVHTcl6c
Editing a Jar file with APKtool;
http://www.youtube.com/watch?v=VAekeWiqHcY
Why?;
Localization / Translation
Themeing
Adding in features or taking them out
Impressing friends and family, lol
etc..
Issues;
I noticed that while the new version 1.2 works great on the framework-res.apk file, it seems to have issues with other System/app files like Settings.apk,Phone.apk, etc. For these files use version 1.1.1.
Hopefully this is helpful, I tend to ramble.
-Ften @ sdx-developers.com
http://forum.xda-developers.com/forumdisplay.php?f=613
Post it here too, mate.
shokkapic said:
http://forum.xda-developers.com/forumdisplay.php?f=613
Post it here too, mate.
Click to expand...
Click to collapse
Will do, not having a good time at the moment as I can't seem to edit launcher.apk with this tool. Not sure why. basically I decompile, edit then compile but having issues when transferring it back to the phone.
EDIT: I just get a black screen when trying the new modified .apk file.
Why to create new threads, if apktool has its official thread here
http://forum.xda-developers.com/showthread.php?t=640592
andrewb84uk said:
Will do, not having a good time at the moment as I can't seem to edit launcher.apk with this tool. Not sure why. basically I decompile, edit then compile but having issues when transferring it back to the phone.
EDIT: I just get a black screen when trying the new modified .apk file.
Click to expand...
Click to collapse
Do you get any errors in logcat?
Brut.all said:
Why to create new threads, if apktool has its official thread here
http://forum.xda-developers.com/showthread.php?t=640592
Do you get any errors in logcat?
Click to expand...
Click to collapse
I could not find it anywhere else and I did do searches for hours Brilliant tool!
See Attachment, I think it's this line
Code:
E/PackageManager( 138): Package com.android.launcher signatures do not match the previously installed version; ignoring!
However, not sure how to fix it.
andrewb84uk said:
I could not find it anywhere else and I did do searches for hours Brilliant tool!
See Attachment, I think it's this line
Code:
E/PackageManager( 138): Package com.android.launcher signatures do not match the previously installed version; ignoring!
However, not sure how to fix it.
Click to expand...
Click to collapse
Not an expert. But try to uninstall the previous launcher, before installing that one.
shokkapic said:
Not an expert. But try to uninstall the previous launcher, before installing that one.
Click to expand...
Click to collapse
Will try it.
EDIT: Nope, uninstalled re-installed, still black screen.
andrewb84uk said:
I could not find it anywhere else and I did do searches for hours Brilliant tool!
See Attachment, I think it's this line
Code:
E/PackageManager( 138): Package com.android.launcher signatures do not match the previously installed version; ignoring!
However, not sure how to fix it.
Click to expand...
Click to collapse
I think you can't install Launcher just like that, because it's system app. You should do it through update.zip file.
Try to not use apktool, but just unpack Launcher.apk, remove META-INF dir, zip it back, sign and install. If you will get similar problems, then they can't be related to apktool (because you didn't even use it), but to something else.
Brut.all said:
I think you can't install Launcher just like that, because it's system app. You should do it through update.zip file.
Try to not use apktool, but just unpack Launcher.apk, remove META-INF dir, zip it back, sign and install. If you will get similar problems, then they can't be related to apktool (because you didn't even use it), but to something else.
Click to expand...
Click to collapse
If I unzip it, remove META-INF dir, zip it back, sign + install and it works fine. It doesn't work when I edit 1 file by decompiling and compiling, sign, upload it fails but it also fails using APKManager.
EDIT: I have also tried using notepad++ / notepad to edit the xml both to the same issue.
Err... you know, your problem is for sure related to signing/installation and not to apktool. Key error line is here:
E/PackageManager( 138): Package com.android.launcher signatures do not match the previously installed version; ignoring!
Click to expand...
Click to collapse
andrewb84uk said:
If I unzip it, remove META-INF dir, zip it back, sign + install and it works fine. It doesn't work when I edit 1 file by decompiling and compiling, sign, upload it fails but it also fails using APKManager.
Click to expand...
Click to collapse
Could you explain, how is it possible, that you can properly sign rezipped apk, but you can't reapktoold' one? If you get signing issues, then this is totally irrelevant what apktool does. All files could be random binary strings as well cause they aren't even read.
This thread can be deleted or moved to the bin or where ever it needs to go!
idroid84 said:
Usage;
Decoding APKs;
Code:
apktool d <file.apk> <directory to output to>
Compiling APKs*;
Code:
apktool b <directory of decoded apk>
*The compiled apk will be saved to the sub directory "dist", which is in what ever directory you choose to compile.
Click to expand...
Click to collapse
Thank you soooo much!!! It took me hours of searching to find this post and once I did, I had my apk decompressed in under a minute!!! You da man
If your running windows XP here's a right click reg edit I made for making decompiling/compiling quicker-
forum.xda-developers.com/showthread.php?t=935967
Hey guys... really trying to theme for the first time with xml files.
I have done modifying of png which are easy, but just lenghty and detailed.
So now that Gingerbread is out, some of the items have been moved to the xml files.
indeterminate was from 4 and now down to 3. but I want to increase to 8 to mimic honeycomb. Also the progress horizontal was once a png reference file now its in the systemui.apk xml too.
Anyhow short version.... anytime i edit more then 1 line at a time after decompiling, when trying to say it will ask to save as text.
Whats the best file editor for xml? or recommendations.
I use notepad++ on windows, you can also import your decompiled apk into eclipse and use that, it'll also report any errors or mistakes you might make.
Hope this helps.
Yeah I have been using that do and any time I compile and flash it just gives me boot loop.
Question about proper importing to eclips.
Whenever I just flat out decompile ... do my modification, go to recompile, it get errors. In apktool and apkmanager.
Should I extract the resource file and class dex out and then decompile. Cus when I have the resource file in the same directory....at least last nights attempt, apktool finale didn't give me an error and compiled.
I've done a decompile just from apk and imported to eclips and when I try to run, gives error.... "no style availiable" or something like that
Sent from my Droid using XDA App
Thank you!!!
Greetings.
fixing a broken abondon market apk
Could someone fix this app VirginmobileMinuitechecker . I think i found the problem . Virgin Mobile updated there site from logon www1 to www2 . I edited it from the open source and zipped it back up but i cannot get this compile program to run at all . here is the zip master . I made several attempts emailing jay goel but he his MIA .. the app will no longer log in because of the VM website recent changes . TIA
EDIT ,, NEVER MIND . i got it working and fixed that app . works like a charm now pretty good being i don't code for a living.. if you don't mind i posted the fixed app . you may move or delete if it is not proper . thank you for the tutorial .
like the title sort of say's, i would love a transparent notification menu.
However, when i make the png for the background transparent, it just turns black. *see attachment*
is there any way to make it transparent or is it a no-go?
You have to change a line of code in services.jar
Decompile it using baksmali
Then in the folder services open up com/android/server/status/StatusBarService.smali
Then use find to find 'const/4 v5, 0x2'
And simply replace with 'const/4 v5, -0x3'
Then compile with smali
http://code.google.com/p/smali/ link to smali/baksmali
shoey-n said:
You have to change a line of code in services.jar
Decompile it using baksmali
Then in the folder services open up com/android/server/status/StatusBarService.smali
Then use find to find 'const/4 v5, 0x2'
And simply replace with 'const/4 v5, -0x3'
Then compile with smali
http://code.google.com/p/smali/ link to smali/baksmali
Click to expand...
Click to collapse
that doesn't seem so hard =)
i'll give it a try, thanks
EDIT: ehmm, how do i use baksmali and smali?
maybe someone can post a more detailed tutorial ?
I want a transparent service-popup, too
If your using Linux or Mac, I suggest using ThemePro to make this easier
There's a windows release but I don't know how well it works
Sent from my HTC Desire using XDA App
m8 we need an explanation on how to use these things, theres not much of an explanation in theme pro either. if you could kindly provide a step by step guide to get a transparent notification status background it would be much appreciate.
I'll post it up in the morning. Midnight here so I'm not on the computer
Sent from my HTC Desire using XDA App
thanks m8 looking forward to it
lincore said:
Transparent notification pull down (moded service.jar):
http://www.multiupload.com/V5FGAPJ42P
Click to expand...
Click to collapse
this is taken from lincore's expresso mod, the bottom zip will give transparent notification pull down only. wonder if its possible to make translucent
djtosh said:
this is taken from lincore's expresso mod, the bottom zip will give transparent notification pull down only. wonder if its possible to make translucent
Click to expand...
Click to collapse
i'll give that file a try =)
EDIT:
That file works great!!!!! Thank you so much =) =) =)
djtosh said:
this is taken from lincore's expresso mod, the bottom zip will give transparent notification pull down only. wonder if its possible to make translucent
Click to expand...
Click to collapse
Is this taken from or for, droid 2.1 or 2.2?
djtosh said:
this is taken from lincore's expresso mod, the bottom zip will give transparent notification pull down only. wonder if its possible to make translucent
Click to expand...
Click to collapse
Thanks for the link mate. will def try it out!
p.s. i think translucency depends on the png file you put in the framework.
This is only for 2.2 roms .
Could you make one for 2.1 modaco?
Thanks!!
Where do I push the jar file to, to have this on my droid?
edit: can I just flash the zip using recovery?
sorry, I am unsure.
patachon33 said:
This is only for 2.2 roms .
Could you make one for 2.1 modaco?
Thanks!!
Click to expand...
Click to collapse
you can extract the service.jar and the background png from customized 2.1 roms such as pays's bravesoul or Amer's v4 and push them to your device. hvn't tried it out but should work=)
qwertylesh said:
Where do I push the jar file to, to have this on my droid?
edit: can I just flash the zip using recovery?
sorry, I am unsure.
Click to expand...
Click to collapse
yes you can juz flash the zip=)
i still hvn't done so thou.. coz i'm using 2.06 based rom and lincore made it for the official 2.09.
It's not really hard to do it on your own:
First download smali.jar and baksmali.jar from here http://code.google.com/p/smali/
Open the services.jar file for example with winzip, 7z, winRar, or whatever.
Unzip the classes.dex file to your sdk/tools/ folder and place the baksmali and smali file there too. After that open a new commandbox an run following line:
java -jar baksmali.jar -o out/ classes.dex
You'll have a new folder now called "out". Browse to "out/com/android/server/status" and open the file called StatusBarService.smali with a text editor like notepad.
Search for ".line 1773" and you'll find also "const/4 v5, 0x2"
Just change this to "const/4 v5, -0x3" and save the file.
Open again a new commandbox and run this:
java -Xmx512M -jar smali.jar out/ -o edited-classes.dex
Now you'll have a new dex file called "edited-classes.dex".
Delete the old file an rename the new in "classes.dex".
Open again the services.jar file with any zip tool and overwrite the classes.dex file with the one just created.
Now search the status_bar_background.png file in the framework-res.apk and make it transparent.
You're done!
THIS WILL ONLY WORK ON DEODEXED ROMS!
Otherwise you won't find a classes.dex file in the services.jar!
You'd have to deodex all files before!
Sturmtief said:
It's not really hard to do it on your own:
First download smali.jar and baksmali.jar from here <snip to allow newbie posting>
Open the services.jar file for example with winzip, 7z, winRar, or whatever.
Unzip the classes.dex file to your sdk/tools/ folder and place the baksmali and smali file there too. After that open a new commandbox an run following line:
java -jar baksmali.jar -o out/ classes.dex
You'll have a new folder now called "out". Browse to "out/com/android/server/status" and open the file called StatusBarService.smali with a text editor like notepad.
Search for ".line 1773" and you'll find also "const/4 v5, 0x2"
Just change this to "const/4 v5, -0x3" and save the file.
Open again a new commandbox and run this:
java -Xmx512M -jar smali.jar out/ -o edited-classes.dex
Now you'll have a new dex file called "edited-classes.dex".
Delete the old file an rename the new in "classes.dex".
Open again the services.jar file with any zip tool and overwrite the classes.dex file with the one just created.
Now search the status_bar_background.png file in the framework-res.apk and make it transparent.
You're done!
THIS WILL ONLY WORK ON DEODEXED ROMS!
Otherwise you won't find a classes.dex file in the services.jar!
You'd have to deodex all files before!
Click to expand...
Click to collapse
Right, I'll be the token slow chap. I followed you right up to where you say "Open the services.jar file for example with winzip". Where do we find this file?
Open your ROM with a zip file manager, browse to /system/framework/ and there you'll find the services.jar file!
If you want to edit the file from the rom you are using, type this in a commandbox:
adb pull /system/framework/services.jar services.jar
Don't forget to make a backup of the file or a nandroid backup!
Thanks for that - found services.jar. However when I do a search on StatusBarService. smali I can't find a .line 1773 (or the string 1773 at all come to that). I'm using OpenDesire. There are lots of other files called things like StatusBarService$1.smali and similar.
I'm currently using a stock 3.70 deodexed rom and I want to add a few tweaks to it myself. I'm trying to add transparency to the drop down notification background and I'm stuck.
What I've tried so far..
-replacing the white status_bar_background.png to a black 70% transparent one.
doesnt work, just shows up black.
-modifying some of the status bar .xml files. no change at all
-opened up classes.dex thats inside the services.jar and get to all the smali files but have no idea what to do at that point
I read somewhere to modify services.jar by:
search
.line 1773
const/4 v5, 0x2
change to
.line 1773
const/4 v5, -0x3
but cant find where to do this..
I very rarely ask questions, I can usually figure everything out via google or xda
but im lost here..any help would be much appreciated, thanks
Follow the instructions you found about modifying the services.jar. That is how you do it. Once you find the file you need to change in services.jar, you can open it with a text editor and search for the code lines.
nukedukem said:
Follow the instructions you found about modifying the services.jar. That is how you do it. Once you find the file you need to change in services.jar, you can open it with a text editor and search for the code lines.
Click to expand...
Click to collapse
What's a good text editor?
nukedukem said:
Follow the instructions you found about modifying the services.jar. That is how you do it. Once you find the file you need to change in services.jar, you can open it with a text editor and search for the code lines.
Click to expand...
Click to collapse
thank you, i was finally able to figure it out. the file i needed was the StatusBarService.smali and i was able to edit it with a program called PSPad
evolishesh said:
What's a good text editor?
Click to expand...
Click to collapse
this is the one i found that worked..
http://www.pspad.com/en/download.php
Hi again!
Some people asked how I did the mod I posted on the thread http://forum.xda-developers.com/showthread.php?t=1738094 and I promised I would say it.
First off, this method will require you to go deep inside binary files, so please don't try to do it if you didn't completely understand every step and know the basics about the hexadecimal, binary diffs, etc.
Before start
I will start saying what was supposed to work. You should use apktool to decode the apk, modify what you want, and then use apktool build it again. But, as of the latest version of apktool I tried (1.4.3), decode and build doesn't work for for Xperia S' framework-res.apk. (Maybe bug http://code.google.com/p/android-apktool/issues/detail?id=313 and http://code.google.com/p/android-apktool/issues/detail?id=256 are related?)
The closest I could get is using apktool 1.4.1, but the generated file was so smaller than the original and I wasn't brave enough to test on my phone.
Anyway, you will need to do this "normal" process (decode and build) for this method too. You can use any version of apktool that decode and build without errors. I used 1.4.1, but I believe a newer version could get a closer output, thus a easy file to do a binary diff. Don't worry, we won't flash these malformed apk's!
So, lets start.
PLEASE, read all the steps before start to understand the whole thing. The main idea is to find some bytes that precedes the value we want to change, then find these bytes on the original resources file and change the value we want.
1. Make sure you have adb, apktool, and everything needed on your path. I will give you the commands assuming all of them are in your path.
2. Get the necessary apk's from your phone:
Code:
[email protected]:~/Android/LT26i$ adb pull /system/framework/framework-res.apk
3972 KB/s (22227101 bytes in 5.463s)
[email protected]:~/Android/LT26i$ adb pull /system/framework/SemcGenericUxpRes.apk
4970 KB/s (2095961 bytes in 0.411s)
3. Install the apk's on apktool
Code:
[email protected]:~/Android/LT26i$ apktool if framework-res.apk nozomi
I: Framework installed to: /home/brunojcm/apktool/framework/1-nozomi.apk
[email protected]:~/Android/LT26i$ apktool if SemcGenericUxpRes.apk nozomi
I: Framework installed to: /home/brunojcm/apktool/framework/2-nozomi.apk
4. decode and build the framework-res.apk WITHOUT changing anything:
Code:
[email protected]:~/Android/LT26i$ apktool d -f -t nozomi framework-res.apk framework-res
(some lines, with warnings)
I: Done.
I: Copying assets and libs...
Code:
[email protected]:~/Android/LT26i$ apktool b framework-res unchanged/framework-res.apk
(few lines)
I: Building apk file...
5. Do the same of the step above, but CHANGING what you want before build. Pay attention to the output folder of the build, it's different from the previous step.
Code:
[email protected]:~/Android/LT26i$ apktool d -f -t nozomi framework-res.apk framework-res
(some lines, with warnings)
I: Done.
I: Copying assets and libs...
(CHANGE WHAT YOU WANT)
Code:
[email protected]:~/Android/LT26i$ apktool b framework-res changed/framework-res.apk
(few lines)
I: Building apk file...
I changed the config_showNavigationBar, inside framework-res/res/values/bools.xml, but you can try changing what you want. I recommend you to start changing one single boolean value, then you can try to do more advanced things.
6. Here starts the fun! Since we have almost the same apk file, because we built both using the same apktool version, the only different bytes must be the boolean we changed. So we can unpack both apk's and run a binary diff of the resources.arsc. I'm using the vbindiff (apt-get install vbindiff) on ubuntu, but there should be other binary diffs or hexadecimal editors. So unpack and run the following:
Code:
vbindiff unchanged/framework-res.apk_FILES/resources.arsc changed/framework-res.apk_FILES/resources.arsc
It will show you the binary representation of the two files, the changed and the unchanged. Press enter once and you will see some chars in red (if you don't see, you did something worng). These represent the changed value. It was 00 00 00 00 (false) and is FF FF FF FF (true) on the modified file. Now we can observe what we have around the value we want to changed. We need to observe because we're going to edit the original file. Note that there is a column containing a hexa sequence (27, 28, 29, 2A, 2B). Our changed value is in the same line of the 29. This is the line that starts with '0077 F500'.
Copy the text of the vbindiff, containing the changed value and everything around it, to a draft file for further reference. I've attached a print of this screen, se below.
7. Now we need to do the final ninja hit: Change the original apk. Actually, the original resources.arsc. But things are no so easy, because the value we need to change is not on the same position it was is the file we changed. If we go to the position 0077 F500, something completely diferent will be there. So we need to search for something near the value we want to change. I will search for the sequence '29 1D', which is 8 bytes before the value we want to change. Yes, it's a short sequence and will occours a lot of times, but it is the best we can use. Maybe '00 29 1D', but no more than that. Let's go, unpack the original framework-res.apk and run:
Code:
vbindiff framework-res.apk_FILES/resources.arsc
Now hit F to find the sequence, and H to Hexa sequence, and type the sequence you choose (here, '00 29 1D'). To find the next occourrence, press F, then N. Do it until you find this sequence in a similiar way of the original file, having one line below with 2A, and below 2B etc. It should be near '007D C5CF'. Now you need to press E, go to the column where you have '00 00 00 00' and change to 'FF FF FF FF'. Pay attention to the other lines to change the right columns. The edited values will be in yellow. You can see the second attached print screen.
8. This is the easiest step, just copy the modified resources.arsc to the original apk. It should not be the apktool-built one, it should be the file you modified on the vbindiff editor.
I did it using the Gnome archive manager, just drag and drop the resources.arsc inside the archiver window after open the framework-res.apk.
And voilà! Your modded apk is ready!
------
Hope someone can understand this and make some mods. I did my best to explain what I did, but it's a really hard procedure thus not easy to explain.
If you have any doubts, just post and I will try to answer!
And if you like, click thanks to me!
as far as i know SemcGenericUxpRes.apk is odexed, this doesn't affect the process?
iBotPeaches has taken over development of apktool. The development thread is here:
http://forum.xda-developers.com/showthread.php?t=1755243
The latest version seems a lot better than 1.4.3
---------- Post added at 10:36 AM ---------- Previous post was at 10:35 AM ----------
Yakandu said:
as far as i know SemcGenericUxpRes.apk is odexed, this doesn't affect the process?
Click to expand...
Click to collapse
i believe only the code is odexed so you can make changes to the resources without breaking the odex file.
Frist thanks to brunojcm for share this tutorial
finally with this tutorial i could make smaller on screen buttons .
Install via CWM : Smaller On Screen Buttons.zip
Tested on .58 stock rom
Some mods by me SHOULD come tomorrow after school. Nothing big, just a few things.
Sent from my LT26i with Tapatalk 2
Soheil_rf said:
Frist thanks to brunojcm for share this tutorial
finally with this tutorial i could make smaller on screen buttons.
Install via CWM : Smaller On Screen Buttons.zip
Tested on .58 stock rom
Click to expand...
Click to collapse
Cool you understood it!
What did you change to accomplish that? just booleans or integers too? were they easy to find?
brunojcm said:
Cool you understood it!
What did you change to accomplish that? just booleans or integers too? were they easy to find?
Click to expand...
Click to collapse
after enable navigation bar in bools.xml you can change size of bar in dimens.xml ( navigation_bar_height and navigation_bar_width )
Soheil_rf said:
Frist thanks to brunojcm for share this tutorial
finally with this tutorial i could make smaller on screen buttons .
http://img818.imageshack.us/img818/1254/screenshot2012080916234.png
http://img195.imageshack.us/img195/8084/screenshot2012080916240.png
http://img402.imageshack.us/img402/2717/screenshot2012080916242.png
Install via CWM : Smaller On Screen Buttons.zip
Tested on .58 stock rom
Click to expand...
Click to collapse
How you made that? I get confused on the file comparing thing... Or you just have to decompile, change the DPI and compile back?
Your file works fine on .452 firmware. However, it has some icon bugs on status bar (the USB connnection and debugging ones) and the carrier name stays a little over where it should be.
Felimenta97 said:
How you made that? I get confused on the file comparing thing... Or you just have to decompile, change the DPI and compile back?
Your file works fine on .452 firmware. However, it has some icon bugs on status bar (the USB connnection and debugging ones) and the carrier name stays a little over where it should be.
Click to expand...
Click to collapse
Try to reading Tutorial again , its simple but gets some time
maybe you are using moded SystemUI.apk or .58 FW had some difference
here its normal
Soheil_rf said:
Try to reading Tutorial again , its simple but gets some time
...
Click to expand...
Click to collapse
Could make your mod, Felimenta97?
brunojcm said:
Could make your mod, Felimenta97?
Click to expand...
Click to collapse
Nope. Always something Ib my way. Was replacing the resources.arsc after I rebuild the app. But I read I have to replace the Meta-Inf and Manifest.xml. But now no time.
Sent from my LT26i with Tapatalk 2
You wont be able to recompile and use the same apk that's the entire point to this article and getting around this limitaion.
Simply put hex edit the resources.arsc after binary dif finds the changes integers and replace with the original in the framework-res.apk.
-smc
somemadcaaant said:
You wont be able to recompile and use the same apk that's the entire point to this article and getting around this limitaion.
Simply put hex edit the resources.arsc after binary dif finds the changes integers and replace with the original in the framework-res.apk.
-smc
Click to expand...
Click to collapse
Well, I see. I'm just trying to see what would be the effect of setting True to the Animate Screen Lights line on bools.xml I'm no developer, just a simple user trying to do some mods by myself
Sent from my LT26i with Tapatalk 2
Felimenta97 said:
Well, I see. I'm just trying to see what would be the effect of setting True to the Animate Screen Lights line on bools.xml I'm no developer, just a simple user trying to do some mods by myself
Sent from my LT26i with Tapatalk 2
Click to expand...
Click to collapse
What was it supposed to do?
brunojcm said:
What was it supposed to do?
Click to expand...
Click to collapse
As far as I know, it's the responsible for the screen off animation, at least on GB.
Sent from my LT26i with Tapatalk 2
Don't get discouraged, i've never tried to play with the screen animations but maybe there's something else you need to find/edit? Seems like a fairly small change you tried to make.
If it's not a small change not being able to recompile the framework-res file makes doing more advanced mods frustratingly impossible, i've got several mods waiting to go for our phone when we're able to.
-smc
I want to try myself some mods too. 30 volume step, Sense multitasking, etc. And it compiles perfectly (except when it says that there it's something that it's missing a translation, a file I didn't even touched). One day, when I have more time, I will try to do such things, slowly.
Sent from my LT26i with Tapatalk 2
Why to use apktool instead of 7zip?
I tried replacing a .png in framework.res and get errors.
Erachter said:
Why to use apktool instead of 7zip?
I tried replacing a .png in framework.res and get errors.
Click to expand...
Click to collapse
Because it involves a lot more than just removing files
Sent from my LT26i with Tapatalk 2
Thanks to iBotPeaches the latest custom build of apktool is now out:
[UTIL][Sept 2 2012] Apktool v1.5.0 - a tool for reverse engineering apk files
A new version has been released!
v1.5.0 (Released September 2 - 2012 ) Codename : Pikmin
Fix for colours being decompiled with improper hex colours
Fix for <string-array> being treated as array on occasion
Support for Mac OS X user:home, instead of dumping frames into /home
Updated internal framework.jar to API16
Added <user-sdk> reading to insert into apktool.yml to help with aapt building
Supported -d mode
Added --verbose mode to output contents of AAPT (note this is a HUGE output). Only used for debugging.
Ignore bootclasspath on debug mode. (Causes some classes in smali to be fail decompile)
New AAPT (Linux only) - http://miui.connortumbleson.com/othe...apt/linux/aapt
Get the patched aapt.
@Felimenta97 if your getting the language error it should be normal depending on what framework you are using, single language is never set for a multilanguage firmware.
-smc
TEAM REJECTZ QUICK JB FIX
If anyone was having a problem with adding the 15 toggles, now just pull the classes.dex file out and quick baksmali/smali to fix it. Even though it
compiled correct it still didn't lol if you get that, but now its fixed
Since i did this for the E4GT i figured i would do the same. Well since the bean is here
1. You need to make sure you have the latest java
2. Download Notepad++ (google it) lol
3. Download the Team Rejectz Quick JB Fix (the latest one) which is linked below
Instructions Decompile/Recompile
1. UNzip and place the JB Quick Fix Folder on your c: drive and name it apktool
2. Since this is TW/CM10 you should drag your framework-res.apk, twframework-res.apk, and systemUI.apk onto the apktool-if cmd file
3. Now time to decompile. You can actually drag your apk from where ever its located but i suggest you place them in the Quick Fix folder.
and drag and drop it on top of the Quick-Deompile cmd file
4. To get an error less decompile i prefer you to use the stock apk
5. Once the decompile process is done. you can go into the apks folder that was created and make your edits with notepad++
warning if you create to many edits that would cause and error. then begin the process over but do them one by one
6. Now its time to recompile ^^^^^^^^^remember the warning^^^^^^^ drag and drop the apks folder on top of the Quick-Recompile cmd file
7. Now once your done go into the apks folder you should see dist folder. Your new compiled apk is located there. I prefer to just use the build folder and drag the things I need into the apk. Much easier. Also remember if any images has been added you need to make sure you drag the new arsc file because the public.xml may have been changed
8. Don't worry about signing the apk. All of your edits besides the ones in drawable folder will be in the resource.arsc file
9. Drag that file into the apk thats in the rom your editing
10. If you decide to edit the decompressed .9 images you can check my Team Rejectz Theme Cheat Sheet located >>>Here
Baksmali/Smali
1. Grab the apk/jar file you want to edit
2. Drag the classes.dex file out of the apk/jar file
3. Drag and drop the classes.dex file onto the Quick-Baksmali cmd file
4. A smali folder will be created
5. Now you can make your smali edit inside of the smali folder and close and save them.
6. After the edits and save, drag and drop the smali folder on top of the Quick-Smali cmd file
7. You should now see a new file called new-classes.dex. rename it to classes.dex
8. Finally drag the classes.dex file into the original apk/jar you pulled it from
If this helped you in anyway just hit that thanks button thanks!!!!!!!!!!
Download:
Team Rejectz Quick JB Fix 2.5
Change Log
Quick Fix 2.5
Faster Compile times and Less errors
Updated to apktool 1.5.2, left the older ones in
Updated aapt to most recent
Updated baksmali/smali to 2.0
Thanks for sharing man.
dazednconfused said:
Thanks for sharing man.
Click to expand...
Click to collapse
No prob. Besides I know a lot of people like simple and it couldnt get any simpler than this lol
Sent from my SPH-L710 using xda premium
Thanks for sharing the knowledge!! this should be stickied!!
im going to try this i would like to contribute to the community thanks for the (tut)
Thanks fpr sharing... unfortunately i cant get it to work...
not sure what I am doing wrong.
i grabbed the 3 files from the zip, moved them to a folder on my desktop, then dropped them in the apktool-if cmd.
then grabbed the systemui, and dropped on the quickdecompile cmd, and nothing is happening.
what else do I need to do?
Thanks again for the tool, hope I can get it working...
joshbeach said:
Thanks fpr sharing... unfortunately i cant get it to work...
not sure what I am doing wrong.
i grabbed the 3 files from the zip, moved them to a folder on my desktop, then dropped them in the apktool-if cmd.
then grabbed the systemui, and dropped on the quickdecompile cmd, and nothing is happening.
what else do I need to do?
Thanks again for the tool, hope I can get it working...
Click to expand...
Click to collapse
Put the folder on the root of your c: drive and name it apktool.
Sent from my SPH-L710 using xda premium
lorjay589 said:
Put the folder on the root of your c: drive and name it apktool.
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
got systemui decompile, but with errors, brut.something. tried recompiling, but still errored, even without making any changes.
joshbeach said:
got systemui decompile, but with errors, brut.something. tried recompiling, but still errored, even without making any changes.
Click to expand...
Click to collapse
If you worked on a ics rom and you did the apk-tool if then you need to do the jelly bean frame. But if thats not the case post a pic of your error so I can tell you whats wrong
Sent from my SPH-L710 using xda premium
good share of tools
thanks
15 toggle classes.dex figured out and updated. now just pull the classes.dex out and use the quick smali and baksmali
lorjay589 said:
15 toggle classes.dex figured out and updated. now just pull the classes.dex out and use the quick smali and baksmali
Click to expand...
Click to collapse
Nice. Where are all the Rejectz threads here? We got mijjah representing? whats going on up in the S3 section.. Do I really have to go out and buy another phone just to put some awesome stuff here?
I keep getting this error when trying to decompile SystemUI.apk
Code:
[*] SystemUI.apk
decompiling SystemUI.apk...
I: Baksmaling...
Exception in thread "main" java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.(DexFile.java:377)
at org.jf.dexlib.DexFile.(DexFile.java:274)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:44)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:33)
at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:68)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:85)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
is there anything I can do to fix this?
Nevermind, I don't think I need it. Pretty sure I can do it in 7.zip
Stryke_the_Orc said:
I keep getting this error when trying to decompile SystemUI.apk
Code:
[*] SystemUI.apk
decompiling SystemUI.apk...
I: Baksmaling...
Exception in thread "main" java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.(DexFile.java:377)
at org.jf.dexlib.DexFile.(DexFile.java:274)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:44)
at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:33)
at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:68)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:85)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
is there anything I can do to fix this?
Nevermind, I don't think I need it. Pretty sure I can do it in 7.zip
Click to expand...
Click to collapse
did you do the apktool-if instructions. and also, if this problem continues. drag out the classes.dex file and it will decompile. and use baksmali to decompile the classes.dex file
lorjay589 said:
did you do the apktool-if instructions. and also, if this problem continues. drag out the classes.dex file and it will decompile. and use baksmali to decompile the classes.dex file
Click to expand...
Click to collapse
Found my error. In the install process I went A.D.D. and added an extra directory so nothing wanted to work properly. Fixed the directory and now the SystemUI.apk decompiled correctly, thank you for this tool :good:
Stryke_the_Orc said:
Found my error. In the install process I went A.D.D. and added an extra directory so nothing wanted to work properly. Fixed the directory and now the SystemUI.apk decompiled correctly, thank you for this tool :good:
Click to expand...
Click to collapse
ok cool no problem, and remember its best to make changes 1 by 1, and compile. so you could no each and every error. it also tell u what went wrong so read it carefully. it would also tell you which line in a xml is causing problems
updated
lorjay589 said:
updated
Click to expand...
Click to collapse
Damn got to wait til i get off work to flash
mighty S3
---------- Post added at 05:02 PM ---------- Previous post was at 05:00 PM ----------
kilawayne said:
Damn
mighty S3
Click to expand...
Click to collapse
mighty S3
I love how noob friendly everyone is here..... Not a noob to rooting/flashing etc.... But actually changing stuff myself...... Total noob
Sent from my SPH-D710 using xda premium
Since this thread was dug up I just want to say that's an awesome little guide for decompiling lol. Just what I have been looking for.
Sent from my SPH-L710 using xda app-developers app