Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,730,490 Members 40,334 Now Online
XDA Developers Android and Mobile Development Forum

[TOOL][WINDOWS] ANDROID MULTITOOL v3.5.2

Tip us?
 
Flextrick
Old
(Last edited by Flextrick; 8th July 2014 at 01:31 PM.)
#1  
Flextrick's Avatar
Senior Member - OP
Thanks Meter 1358
Posts: 842
Join Date: May 2012

 
DONATE TO ME
Default [TOOL][WINDOWS] ANDROID MULTITOOL v3.5.2

ANDROID MULTITOOL



Hello,
I´m glad to present my Android Multitool wich makes it easier to decompile/recompile applications + jar framework files. You can also sign your apk by easily clicking a button.

Requirements:
  • Winows OS XP / 7 / 8 / 8.1
  • Installed Java on Windows
  • Installed Microsoft Powerpacks
  • Installed .NET framework

- Easy handling: Select your apk and push the "decompile" button!
- This tool makes modding much faster and easier, no cmd handling any more.
- You can read the log which is integrated in the tool to find your mistake in the error.
- ADB inside: Push files into your file system with a few clicks

It looks like this so far:











How to use this tool?

Follow this small how to!


Here you go..

Well, first extract the AndroidMultitool folder to C:\. Otherwise it propably won´t work
-copy your framework-res.apk and other files you want to mod in the "Files" folder (this folder is for all your files you want to mod, don't pick files from any other location)
-Next you have to start AndroidMultitool.exe
-select your framework-res.apk and push the "install" button (check log for errors)


Decompiling and recompiling apk files:

-select the apk you want to mod/decompile and push the "decompile" button (check log for errors)
Note: You can check the "use baksmali" checkbox, then e.g. the useless .line text will be removed
-your decompiled apk will be located in C:\AndroidMultitool\Decompiled_apk\"apkname" as a folder
-if you want to compile your apk again, select your decompiled folder, check the "apk" radiobutton and compile it again (check log for errors)
!!!NOTE!!! After compiling you have to copy the AndroidManifest.xml and the META-INF folder from your old apk to your newly compiled one!! Otherwise you´ll get bootloop! (Don't check the smali checkbox, it will create a classes.dex file from you smali files)

-your recompiled apk will be located in C:\AndroidMultitool\Compiled_apk\"apkname"


Decompiling and recompiling jar files:

-select in the combobox ".jar" (check the "use baksmali" checkbox for deleting the useless .line comments)
-select the ".jar" file you want to mod
-push the "decompile" button
-your decompiled jar file will be locaten in C:\AndroidMultitool\Decompiled_jar\"jarname"
-for recompiling you have to check the "jar" radiobutton and select the folder within your decompiled ".jar" file
-push the compile button
-your compiled jar file will be located in C:\AndroidMultitool\Compiled_jar\"jarname"\classes .dex
-delete the "classes.dex" file in your ".jar" file
-copy the new "classes.dex" file you compiled in the ".jar" file


Signing apk files:

-select the ".apk" you want to sign
-push the "sign" button
-the signed apk file is located in C:\AndroidMultitool\Signed_apk\"apkname_signed"


Using tags:

You want to decompile many files from different devices or different android versions / frameworks? Tagging makes it possible!
- before installing your framework type in any tag (like "hero")
- then install your framework and work normally


Android Debug Bridge

You want to push files with adb to your device? Follow these instructions:
Please klick on the "advanced" register in the tool
-push "check" to control if your device is ready
-if the device is not ready please follow the instructions, which are listed in the tool (device offline, no device...)
-if the device is ready, choose a file you want to push
-choose a path on the device, where the file should be placed later
-push the "push" Button
-alternately: press "Reboot device" to reboot your device and to let changes take effect

If there are any questions or bugs, please post them in the thread.

You can also check out my application, makes modding (basically copying system files and setting permissions) faster and easier:

Sysfile Copymaster


Please press thanks if you want to download, I think one more click is not much work.


Follow me on Google+ : Daniel Huber


[DOWNLOAD]

MIRROR: https://drive.google.com/file/d/0B6-...it?usp=sharing



Enjoy easier apk handling!



Questions and answers:

Q: The programm does not start, it crashes.

A: Please install Powerpacks, this one: http://go.microsoft.com/fwlink/?Link...27&clcid=0x804


Q: What do you mean exactly with "!!!NOTE!!! After compiling you have to copy the AndroidManifest.xml and the META-INF folder from your old apk to your newly compiled one!! Otherwise you´ll get bootloop! " .. I don't understand.

A: You have to open your old apk (this one you selected for decompiling in the folder /files) and copy from that apk the AndroidManifest.xml and the META-INF folder to the apk you just decompiled and recompiled.


Q: I followed all steps in the startpost but I'm still getting this error: "apktool is not recognized as internal or external command"
What can I do?

A: Please refer to this post by @LasVegasRomeo: http://forum.xda-developers.com/show...&postcount=681


Credits:
Developers (brut.all, iBotPeaches) of the base Apktool
mike_galaxy_s for his help on testing

------------------------------------------------------


Changelog:

v3.5.2:

add more detailed log
fix decompiling/compiling/signing/installing framework multiple times sometimes
add batch decompiling (preview)
fix donation image not fitting center
add txt files with descriptions for all tools inside (thanks to @bovirus)

v3.5.1:

update all files

v3.5:

code rework
fix UI freezing on long tasks
add progress bar
many other small fixes

v3.4:

access files from all locations of the pc (you're not limeted to the /Files folder)
add version number to the tool

v3.3:

add tag support (tagging allows multiple framework support)
rework interface
small additions and fixes
support for Win7 / 8 / 8.1 (no extra versions)

v3.2.1:

add apktool b9

v3.2:

add different apktool, aapt and batch files
should solve some problems on de - and recompiling

v3.1:

Fixes for adb push
button to reboot device
many other fixes and code rework

v3.0:

SlimBean apktool ((de)compiling also with inverted folders from trds)
ADB (AndroidDebugBridge for pushing files to your device)
Some Links in the tool for support and donation

v2.2 Beta1:

apktool 2.0.0
Details:
 

Details
v1.5.x -> v2.0.0
Java JRE 1.7 is required!
Update apktool to v2.0.0
aapt is now included inside the apktool binary. Its not required to maintain your own aapt install under $PATH. (However, features like -a / --aapt are still used and can override the internal aapt).
Remove framework $HOME/apktool/framework/1.apk or manually update via (FrameworkFiles)
Eagle eye users will notice resources are now decoded before sources now. This is because we need to know the API version via the manifest for decoding the sources.
Parameter Changes




Smali/baksmali 2.0 are included. This is a big change from 1.4.2. Please read the smali updates here for more information.
-o / --output is now used for the output of apk/directory.
-t / --tag is required for tagging framework files
-advance / --advanced will launch advance parameters and information on the usage output.
-m / --match-original is a new feature for apk analysis. This retains the apk is nearly original format, but will make rebuild more than likely not work due to ignoring the changes that newer aapt requires.
After [d]ecode, there will be new folders (original / unknown) in the decoded apk folder.
original/ = META-INF folder / AndroidManifest.xml, which are needed to retain the signature of APKs to prevent resigning. Used with -c / --copy-original on [b]uild.
unknown/ = Files / folders that are not part of the standard AOSP build procedure. These files will be injected back into the rebuilt APK.
apktool.yml collects more information than before
SdkInfo = Used to re-populate the sdk information in AndroidManifest.xml since aapt requires it to be passed at runtime.
packageInfo = Used to help support Android 4.2 due to renamed manifest packages. Automatically detects difference between manifest and resources and performs automatic --rename-manifest-package on [b]uild.
versionInfo = Used to re-populate the version information in the AndroidManifest.xml since aapt requires it to be passed at runtime.
compressionType = Used to determine the compression that resources.arsc had on the original apk to duplicate on [b]uild.
unknownFiles = Used to record the name/location/compression type of non-standard files in Apk.



v2.1:

fixed freezes
bigger UI for better overview
option to save log to a text file
other small fixes

v2.0:

complete code rework
folder structure for a better overview
decompiled, recompiled, signed files will be located in their own folder
no more messy file handling
added radio buttons for choosing jar or apk
some graphical changes
added info button in the "installing framework" section

V1.2:

Added ability to decompile and recompile ".jar" files
Added baksmali
FolderBrowserDialog: If you push the "browse" button you are in the right directory now and needn't to scroll and search the "AndroidApktool" folder
other small fixes

V1.1:

Added ability to sign .apk
Changed comboboxes to browse buttons
bigger log - screen


Initial Release
The Following 554 Users Say Thank You to Flextrick For This Useful Post: [ Click to Expand ]
 
machhho
Old
#2  
Senior Member
Thanks Meter 116
Posts: 660
Join Date: Feb 2011
thanks alot
The Following 3 Users Say Thank You to machhho For This Useful Post: [ Click to Expand ]
 
clark44
Old
(Last edited by clark44; 23rd June 2013 at 09:51 PM.)
#3  
clark44's Avatar
Senior Member
Thanks Meter 6647
Posts: 2,764
Join Date: Mar 2011
Location: Virginia

 
DONATE TO ME
Very nice tool!

One feature request, could you have a checkbox for say the -b command so that we can get rid of the useless .linexx and .prologue lines? That would make this tool perfect

Another feature is adding the twframework-res.apk as a framework file? Thats essential for modding samsung system apk's. I usually have to install both twframework-res.apk and framework-res.apk before decompiling. Maybe adding 2 slots for the framework in the tool?

Thanks again!!



Phone: Samsung Galaxy S4 16GB White
Recovery: TWRP!
ROM: FreeGS4 v4.0.0
Modem: MDL

IRC Channel: #TeamSonic Freenode
FreeGS4 For Sprint By Team Sonic
FreeGS3 For Sprint By Team Sonic
Lean Stock SGS3 Sprint
Bekinged EVO 4G
Absurd Rom
How-To Root S-OFF Evo 3D
ICS SDK Port For HTC EVO3D
The Following 2 Users Say Thank You to clark44 For This Useful Post: [ Click to Expand ]
 
Flextrick
Old
#5  
Flextrick's Avatar
Senior Member - OP
Thanks Meter 1358
Posts: 842
Join Date: May 2012

 
DONATE TO ME
Quote:
Originally Posted by clark44 View Post
Very nice tool!

One feature request, could you have a checkbox for say the -b command so that we can get rid of the useless .linexx and .parameterxx lines? That would make this tool perfect

Another feature is adding the twframework-res.apk as a framework file? Thats essential for modding samsung system apk's. I usually have to install both twframework-res.apk and framework-res.apk before decompiling. Maybe adding 2 slots for the framework in the tool?

Thanks again!!
Sure, adding a second slot will be no problem!
But I don't know what you mean with this checkbox, could you explain me exactly what you mean?

~ via Nexus
The Following 12 Users Say Thank You to Flextrick For This Useful Post: [ Click to Expand ]
 
clark44
Old
#6  
clark44's Avatar
Senior Member
Thanks Meter 6647
Posts: 2,764
Join Date: Mar 2011
Location: Virginia

 
DONATE TO ME
Quote:
Originally Posted by Flextrick View Post
Sure, adding a second slot will be no problem!
But I don't know what you mean with this checkbox, could you explain me exactly what you mean?

~ via Nexus
When I decompile using baksmali this is the command I run...

Code:
java -jar baksmali.jar -b -o c:/smali c:/smali/classes.dex
The -b command prompts baksmali to remove all .line type code from the smali.

Here is an example .smali file before and after the -b command...

BEFORE: http://pastebin.com/gYKQ90cW
AFTER: http://pastebin.com/17i8k1X2

This method of decompiling smali makes it much much simpler to compare to other code.

Thanks!!



Phone: Samsung Galaxy S4 16GB White
Recovery: TWRP!
ROM: FreeGS4 v4.0.0
Modem: MDL

IRC Channel: #TeamSonic Freenode
FreeGS4 For Sprint By Team Sonic
FreeGS3 For Sprint By Team Sonic
Lean Stock SGS3 Sprint
Bekinged EVO 4G
Absurd Rom
How-To Root S-OFF Evo 3D
ICS SDK Port For HTC EVO3D
The Following 4 Users Say Thank You to clark44 For This Useful Post: [ Click to Expand ]
 
Flextrick
Old
#7  
Flextrick's Avatar
Senior Member - OP
Thanks Meter 1358
Posts: 842
Join Date: May 2012

 
DONATE TO ME
Ah, I'm understanding. Yes, I think that's possible as well!

~ via Nexus
The Following 9 Users Say Thank You to Flextrick For This Useful Post: [ Click to Expand ]
 
clark44
Old
#8  
clark44's Avatar
Senior Member
Thanks Meter 6647
Posts: 2,764
Join Date: Mar 2011
Location: Virginia

 
DONATE TO ME
Quote:
Originally Posted by Flextrick View Post
Ah, I'm understanding. Yes, I think that's possible as well!

~ via Nexus
Cool. Cant wait

One more thing, will you be adding the ability to decompile more then one apk/jar?



Phone: Samsung Galaxy S4 16GB White
Recovery: TWRP!
ROM: FreeGS4 v4.0.0
Modem: MDL

IRC Channel: #TeamSonic Freenode
FreeGS4 For Sprint By Team Sonic
FreeGS3 For Sprint By Team Sonic
Lean Stock SGS3 Sprint
Bekinged EVO 4G
Absurd Rom
How-To Root S-OFF Evo 3D
ICS SDK Port For HTC EVO3D
 
Flextrick
Old
#9  
Flextrick's Avatar
Senior Member - OP
Thanks Meter 1358
Posts: 842
Join Date: May 2012

 
DONATE TO ME
At once? Would work, I think.
Two possibilities:
The first apk decompiles, and then the second one
Or: Both are decompiling at the same time, but in two different processes.

~ via Nexus
The Following 4 Users Say Thank You to Flextrick For This Useful Post: [ Click to Expand ]
 
clark44
Old
#10  
clark44's Avatar
Senior Member
Thanks Meter 6647
Posts: 2,764
Join Date: Mar 2011
Location: Virginia

 
DONATE TO ME
Quote:
Originally Posted by Flextrick View Post
At once? Would work, I think.
Two possibilities:
The first apk decompiles, and then the second one
Or: Both are decompiling at the same time, but in two different processes.

~ via Nexus
One then the second and so on would save the most memory and prevent crashes on weaker machines



Phone: Samsung Galaxy S4 16GB White
Recovery: TWRP!
ROM: FreeGS4 v4.0.0
Modem: MDL

IRC Channel: #TeamSonic Freenode
FreeGS4 For Sprint By Team Sonic
FreeGS3 For Sprint By Team Sonic
Lean Stock SGS3 Sprint
Bekinged EVO 4G
Absurd Rom
How-To Root S-OFF Evo 3D
ICS SDK Port For HTC EVO3D

The Following 2 Users Say Thank You to clark44 For This Useful Post: [ Click to Expand ]
Tags
adb, apk, apktool, compile, decompile
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes