Android OS Forum banner

[UTILITY] Android Utility - [apktool|dex2jar|smali|more][Mac & Linux][Oct09, 2011]

13550 Views 12 Replies 6 Participants Last post by  redsox 98
Hello again! What up Rootzwiki!

I thought it would be cool to share this with the community. :)

This time, here to present you with Android Utility - a tool to discover and modify Android.

Love,
tommytomatoe


Currently available for Mac OS X and Linux

Windows Coming in the future.

Code:
Welcome back tommytomatoe,<br />
<br />
  Android Utility by tommytomatoe. Version 1.0.7. Special Edition<br />
<br />
|-------------------------------||-------------------------------|<br />
|-------------------------------||-------------------------------|<br />
|         BASIC TOOLS           ||         ADVANCE TOOLS         |<br />
|-------------------------------||-------------------------------|<br />
| 1.  adb tools                 || 7.  apk Re-Engineering        |<br />
| 2.  keystore manager          || 8.  apk Optimization          |<br />
| 3.  sign apk and update.zip   || 9.  dex code utility          |<br />
| 4.  zipalign                  ||10.  draw9patch utilities      |<br />
| 5.  change-log creator        ||11.  AU ROM Utility            |<br />
| 6.  png swap themer           ||12.  3vodex                    |<br />
|-------------------------------||-------------------------------|<br />
|                 K. Run dsixda's Android Kitchen                |<br />
|----------------------------------------------------------------|<br />
|----------------------------------------------------------------|<br />
| x.  Run Installation Guide    || e.  Extras                    |<br />
| i.  Install Android SDK       || q.  Quit                      |<br />
| u.  Update Android-Utility    ||                               |<br />
|-------------------------------||-------------------------------|<br />
 Select an Option: <br />
Install Instructions and Frequently Asked Questions in POST #3

What AU can help you do
Change apktool versions 1.3.1, 1.3.2, 1.4.1 on the fly
Apk optimization
Apk re-engineering (via apktool)
Keystore manager
Easy ADB
Draw9Patch compiler/decompiler
Zipalign
Dex Editing (via smali and baksmali)
Dex2Jar
Pngout
pngcrush
advpng
optipng
Auto ODEX
Auto dex-removal
Android Kitchen Integration
Much much more
The Goal
A tool for Mac! AU will provide the tools necessary to begin theming projects, apk modifications, optimizations, and hacks. At the end of the day, I hope this project has helped you in doing these things.

AU can also help the user install and utilize apktool even if the user chooses not to use the Android Utility Interface.

Note, in some instances of the utility superuser permissions must be granted (sudo). Please be aware that the changes made are reversible and are not destructive to the Host Operating System.

Please READ Posts #1, 2, and 3 in their Entirety before proceeding.

Feel free to post concerns and bugs. This is still in development! Thank you.
The Goods
Version History

Android Utility Source Code and information

Mac OS X Version 1.0.2 Download:
Android Utility Mac OS X Version 1.0.2

Linux Version 1.0.7 Download:
Android Utility Universal Installer Automated Script
Download tar file. Open with Archive Manager. Extract au.installer. Run in terminal by double clicking on it. Follow on-screen prompts. Done. :)

Old Versions
Mac OS X
Android Utility Github Direct Download Version 1.0.1
Mirror - Full Version 1.0.1 Download
Mac Mirror Version b-1.0.0
Android Utility Github Direct Download Version b-1.0.0
Android Utility Github Direct Download Version 1.0.2
Update Package - 1.0.1 -> 1.0.2 - ONLY USE IF RUNNING VERSION 1.0.1. Extract "update" folder into root of android-utility, then run "update_script" by clicking on it.
Patch Update 1.0.2.b - Fixes three scripts. Extract "update" folder into root of android-utility, then run "update_script" by clicking on it.
Linux
Android Utility Github Direct Download Version 1.0.1
Update Package - 1.0.0 -> 1.0.1 - ONLY USE IF RUNNING VERSION 1.0.0. Extract "update" folder into root of android-utility, then run "update_script" by clicking on it.
Android Utility Github Direct Download Version 1.0.2
Patch Update 1.0.2.b - Fixes two scripts. Extract "update" folder into root of android-utility, then run "update_script" by clicking on it.

Android Utility Mirror Mediafire Full Version 1.0.2 Linux
Install Instructions and Frequently Asked Questions

Credits

Brut.all - apktool.jar and sound advice
JesusFreke - baksmali.jar and smali.jar
Stericson/JF - testsign.jar
Google - AOSP
Pendo - sound advice/answering my rookie questions :)
aamikam - sound advice
themikmik.com - Awesome sauce [jadeboy, nick, cho, et cetera :)]
myn's thread - dougjamal, myn, lowetax, ageesm, persnlmgr, et cetera
xda developers - Roots
JsChiSurf - sound advice
dsixda - sound advice
Amon_RA - sound advice
Igor Pavlov - 7zip
Ardfry Imaging, LLC. - pngout
Glenn Randers-Pehrson - pngcrush
Andrea Mazzoleni - advpng
Cosmin Truta - optipng
Emmanuel Dupuy - JD-GUI
Xclusive Rydah, Chingy, misfit - testing and ideas
See less See more
  • Like
Reactions: 5
1 - 13 of 13 Posts
Version: 1.0.2

### Welcome to Android Utility
# README
# Author: Tommy Nguyen [tommytomatoe]
# Date: August 24, 2011

### Update. August 22, 2011
>version 1.0.2
>updated main menu
>updated apktool (1.4.2 and 1.3.2-mod)
>added png Optimization [pngout, pngcrush, optipng, and advpng]
>updated installation guide
>added support for touchwhix and sony
>added 3vodex script capabilities
>removed 7z in apk_compress and res_compress
>updated installau
>added auto-dex-removal [dexrm and dexrm2]
>BIGGEST CHANGE: added dex2jar
>added smali/baksmali support

### Update. July 14, 2011
>version 1.0.1
>updated sign script
>updated main menu
>added ROM Utility
>added apk Optimization
>added change-log creator
>fixed error logging for decompiling and recompile process
>added resources.arsc decompression

### Update. July 13, 2011
>version b-1.0.0
>redid decompile and rebuild scripts
>added error logging to decode and rebuild
>added filter to adb script
>changed main menu layout

### Update. July 08, 2011
>more preparation
>added zipalign script
>added sign apk/update.zip scripts
>updated apktool decode mechanism, now includes META-INF extractions

### Update. July 05, 2011
> preparing for initial release
> added apktool build script
> added draw9patch stuff

### Update. June 20, 2011
> added some major changes
> got confirmation for use of PNGOUT
> preparing for initial release

### Update. June 15, 2011
> major changes to install script
> minor changes to andutil script
> Version a-0.89 should be up and running soon

### Update. June 06, 2011
> github repo created

### CREDITS
> brut.all for apktool.jar and decode9patchPng.jar
> jesusfreke for smali and baksmali
> PNGOUT.EXE used with permission of Ardfry Imaging, LLC.
> pngcrush - Copyright (C) 1998-2002,2006-2011 Glenn Randers-Pehrson
> advpng - Andrea Mazzoleni
> optipng - Copyright (C) 2001-2011 Cosmin Truta
> dex2jar - [email protected]
> JD-GUI - Copyright © 2008-2011 Emmanuel Dupuy
> Igor Pavlov for 7zip
> Google
> Android
> HTC
> xda developers
> themikmik.com
> tommytomatoe
See less See more
  • Like
Reactions: 1
Please follow these INSTRUCTIONS Carefully. The usefulness of AU depends on your attention of these instructions. Thank you.

### Installation ###

*** MAC ***

Prerequisite: JAVA (standard on Mac OS X)

1. Download from Github.com link or direct link or mirror.
2. Unpack the archive (tar.gx or zip) to your HOME folder.
HOME folder is located in /Users/username. To determine HOME folder, open Terminal in Applications Drawer and type:
open $HOME
3. Place the unzipped folder in the finder window that opens.
4. Rename the folder to "android-utility" - ATTENTION! CASE SENSITIVE (ie. Android-utility ≠ android-utility).
5. Double check and make sure name of folder is "android-utility".
6 From here, you have two options (A or B).

# Option A
Open in Finder the android-utility
Look for the file "andutil"
Double click on "andutil"
A Terminal Window will open up with Welcome Screen (Which you will see only on initial install)
Continue through the installation

# Option B
Open a Terminal Window
Type these lines followed by ENTER key:
cd $HOME/android-utility
./andutil
Continue through the installation

From now on, to run AU, you can either double click on the andutil icon, or simply type "andutil" in Terminal from any directory. AU adds necessary files to your PATH.
*** Linux ***
Prerequisite: JAVA

If you have Java, continue. If not, run these commands (pressing ENTER key after each one) in Terminal to install Java:

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-bin sun-java6-jre
sudo apt-get -f install
sudo apt-get install sun-java6-bin sun-java6-jre

1. Download from Github.com link or direct link or mirror.
2. Unpack the archive (tar.gx or zip) to your HOME folder.
HOME folder is located in /home/username. To determine HOME folder, open Terminal in Applications Drawer and type (for Gnome Environment):
nautilus $HOME
3. Place the unzipped folder in the window that opens.
4. Rename the folder to "android-utility" - ATTENTION! CASE SENSITIVE (ie. Android-utility ≠ android-utility).
5. Double check and make sure name of folder is "android-utility".
6 From here, you have two options (A or B).

# Option A
Open in Finder the android-utility
Look for the file "andutil"
Double click on "andutil"
A Terminal Window will open up with Welcome Screen (Which you will see only on initial install)
Continue through the installation

# Option B
Open a Terminal Window
Type these lines followed by ENTER key:
cd $HOME/android-utility
./andutil
Continue through the installation

From now on, to run AU, you can either double click on the andutil icon, or simply type "andutil" in Terminal from any directory. AU adds necessary files to your PATH.
*** Windows ***

Coming Later.

Frequently Asked Questions

1. What if I get /usr/local/bin not a directory? ScreenShot
Answer: Post #111 aka my Epiphany

2. What if I get an error "Apk cannot be decoded"? ScreenShot
Answer: Please be sure that your apk has no spaces in its name. Post #98

3. Why is my new apk so much smaller than my original apk?
Answer: Two reasons. 1. Apktool when it builds, it uses full compression. 2. The new apk has not been signed, so the signature files "META-INF" are not present.

4. What can I use to edit xml files?
Answer: Mac: TextEdit or TextWrangler. Linux: Gedit (my personal favorite). Windows: Notepad++

5. Why won't my apk decompile?
Answer: Well, multiple reasons. Let's start fresh.
a. Have you installed proper "framework" files, ie framework-res.apk and com.htc.resources.apk? These go inside working-folder/framework-here/. Install via Option #1 in Apk re-engineering.
b. Have you installed a new version of apktool? Sometimes that will resolve your issues.

6. Why won't my apk recompile/build?
Answer: Again, could be multiple reasons.
a. Are you sure your framework files are installed?
b. Your edits could just be bad/mistakes.
c. Install a different version of "aapt", available in installau and the apk Re-engineering suite.

7. I get the error: "apktool.yml does not exist".
Answer: Please refer to questions 5 and 6. A file "apktool.yml" gets created that's used by apktool during the decode process. If that went wrong, then you won't be able to compile.

8. AU tells me to check build_log for errors. But there is nothing there!
Answer: Currently the build_log is funky. I will fix in the future. If it tells you to check log and nothing is there...then ignore it. There really wasn't an error. But if the log does exist, then you have an error.

9. When will a PC Version exist?
Answer: When I have time.

10. When will you include latest apktool (v1.4.2)?
Answer: AU Version 1.0.2 will include latest tools.

11. When will smali/baksmali support be available?
Answer: AU Version 1.0.2 will include latest tools.

12. When will png optimization be available?
Answer: AU Version 1.0.2 will include latest tools.

13. Why cant't I sign my apk with test keys? They won't install!
Answer: Using an archive manager, delete the ORIGINAL "META-INF" (aka the signature) and then sign.

14. I get errors using Draw9Patch decompiler after using 9.png from a decompiled apk.
Answer: Post 151

15. What if I have a non-HTC Device, like Xperia or Sammy?
Answer: Currently, support for those devices does not exist for the "Apk Re-Engineering", namely Option #1 Install Framework first. The tool is written to only look for "framework-res.apk" and "com.htc.resources.apk". Future versions will have support for more proprietary ROMs. More info on Post 134.

More to come.

Enjoy!
See less See more
  • Like
Reactions: 1
This is wicked! Thanks alot!
TreyM said:
This is wicked! Thanks alot!
No problem man. Thank you. Feel free to drop any feedback you want. :)

Sent from my PC36100 using Tapatalk
I had to modify the signing script to sign to the same filename. I just created a "signed" folder to place the new signed zips/apks in. This way, they still retain the original filename.
TreyM said:
I had to modify the signing script to sign to the same filename. I just created a "signed" folder to place the new signed zips/apks in. This way, they still retain the original filename.
That's cool man. The sign script was one of the first I wrote. At the time I started work on AU I didn't want to create an excessive amount of directories. But after I added more and more functions it was inevitable to create different directories for each task. In version 1.0.3 I will revisit some of the older scripts and update them. Thanks for the input :)

Sent from my PC36100 using Tapatalk
Having issues with this script. After doing the full install as you stated, I go to terminal and type "andutil" and the application opens, BUT I can not place the rom in the specified folder. I ended up having to change the permission of all the folders back to me in order to access the folder and sign the file. NOTE: the script recognizes me forcing the .zip in the folder through nautilus but will not write or give output of the signed .zip. I dont know if you knew this or not, but I think you should change to where you do not give root only to the folders. Just food for thought I guess.
Peperm1nt said:
Having issues with this script. After doing the full install as you stated, I go to terminal and type "andutil" and the application opens, BUT I can not place the rom in the specified folder. I ended up having to change the permission of all the folders back to me in order to access the folder and sign the file. NOTE: the script recognizes me forcing the .zip in the folder through nautilus but will not write or give output of the signed .zip. I dont know if you knew this or not, but I think you should change to where you do not give root only to the folders. Just food for thought I guess.
That's very interesting indeed. I haven't had that issue and you are the first to have presented it to me. I need to update the op anyways. Linux has version 1.0.7 up with auto updating.

The permissions should not be for root user by default. I would recommend deleting the android-utility folder completely and starting over later when I update. There is now an installer script that does all the work for you. I'll update the op after my errands today.

But on another note, which folder are you trying to place the Rom?

tapatalk signature here. lovely.
Dude this is awesome! Especially that installation script for Linux, keep the great work up!
I've been using Apk Manager for a long time, but it's very nice to see a new up-to-date utility for Linux, with many more features! Thank you so much!
See less See more
1 - 13 of 13 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top