[UTILITY] Android Utility - [apktool|dex2jar|smali|more][Mac & Linux][Feb13, 2012]

Search This thread

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Looks like a great tool. Can't wait to see the other elements included.

On Linux using apk compression, it isn't removing the apk from the "original_apps" folder. Looks like it performs the rm command but leaves off the file extension so it can't find the file to remove.

EDIT: I get this between each file.
Code:
rm: cannot remove '/home/tmartin/android-utility/working-folder/mod-here-multi/original_apps/HtcProfileWidget': No such file or directory
HtcProfileWidget.apk decompressed
Decompressing HtcRingtoneWidget.apk
/home/tmartin/android-utility/working-folder/mod-here-multi/original_apps/HtcRingtoneWidget: No such file or directory

EDIT #2: Looks like it made ever file 24.2mb & unreadable??

Hey TMartin.

I checked the script. The only error I can see is the "open" command, which doesn't regard our situation with the "rm" command.

Here is the code I used:
Code:
decomp_it ()
{
cd $e	
for F in *.apk ; do
echo "Decompressing $F"
cd $e
$HOME/bin/7z x -y -o"${F/.apk}" $F &>/dev/null
cd $e/${F/.apk}
zip -"$COMP"r $d/decompressed_apps/$F *
rm -r $d/original_apps/${F/.apk}
echo "$F Decompressed"
done
}
In the above, here are the variables:
Code:
d=$HOME/android-utility/working-folder/mod-here-multi
e=$d/original_apps
COMP=compression level

For some reason "$HOME/bin/7z x -y -o"${F/.apk}" $F &>/dev/null" isn't creating the correct output directory for you. The compression script first decompresses the apk into a directory inside /original_apps with same name (Rosie.apk -> Rosie), then compresses contents in "Rosie" into a Rosie.apk inside /decompressed_apps. Then the "Rosie" folder gets deleted. In your case...the output folder "HtcProfileWidget" was never created. Your error wasn't the "rm" that removes the apk, but the directory that was created during the decompression.

Let me run this script with some other apks and we'll find out the issue.

Here is my output:
Code:
Welcome to Apk Compression Manager

Compression Level set to 5
[0 = no compression | 9 = high compression]

Please set compression level [default=5 ; 0 -> 9]: 0

Compression Level set to 0

Please Place apks in /home/tommytomatoe/android-utility/working-folder/mod-here-multi/original_apps

(nautilus:2168): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed

Please press [enter] when ready 
Preparing to decompress Apks with Compression Level 0

Decompressing Rosie-v0.9.9a.apk
  adding: AndroidManifest.xml (stored 0%)
  adding: classes.dex (stored 0%)
  adding: META-INF/ (stored 0%)
  adding: res/ (stored 0%)
 <snipped snipped>
  adding: resources.arsc (stored 0%)
Rosie-v0.9.9a.apk Decompressed
Decompressing Rosie-v0.9.9.apk
  adding: AndroidManifest.xml (stored 0%)
  adding: classes.dex (stored 0%)
  adding: META-INF/ (stored 0%)
  <snipped snipped>
  adding: resources.arsc (stored 0%)
Rosie-v0.9.9.apk Decompressed

Remove Original Apks? [Y/n]: y

Thank you for choosing Android Utility
brought to you by tommytomatoe :-)

Please Don't Drink and Drive

Edit 1. Are you placing the apk file inside "original_apps"?
 

TMartin

Inactive Recognized Developer
Jun 30, 2008
2,186
1,582
Sunbury, Ohio
Nexus 7 (2013)
Nexus 9
Hey TMartin.

I checked the script. The only error I can see is the "open" command, which doesn't regard our situation with the "rm" command.

Here is the code I used:
Code:
decomp_it ()
{
cd $e	
for F in *.apk ; do
echo "Decompressing $F"
cd $e
$HOME/bin/7z x -y -o"${F/.apk}" $F &>/dev/null
cd $e/${F/.apk}
zip -"$COMP"r $d/decompressed_apps/$F *
rm -r $d/original_apps/${F/.apk}
echo "$F Decompressed"
done
}
In the above, here are the variables:
Code:
d=$HOME/android-utility/working-folder/mod-here-multi
e=$d/original_apps
COMP=compression level

For some reason "$HOME/bin/7z x -y -o"${F/.apk}" $F &>/dev/null" isn't creating the correct output directory for you. The compression script first decompresses the apk into a directory inside /original_apps with same name (Rosie.apk -> Rosie), then compresses contents in "Rosie" into a Rosie.apk inside /decompressed_apps. Then the "Rosie" folder gets deleted. In your case...the output folder "HtcProfileWidget" was never created. Your error wasn't the "rm" that removes the apk, but the directory that was created during the decompression.

Let me run this script with some other apks and we'll find out the issue.

Here is my output:
Code:
Welcome to Apk Compression Manager

Compression Level set to 5
[0 = no compression | 9 = high compression]

Please set compression level [default=5 ; 0 -> 9]: 0

Compression Level set to 0

Please Place apks in /home/tommytomatoe/android-utility/working-folder/mod-here-multi/original_apps

(nautilus:2168): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed

Please press [enter] when ready 
Preparing to decompress Apks with Compression Level 0

Decompressing Rosie-v0.9.9a.apk
  adding: AndroidManifest.xml (stored 0%)
  adding: classes.dex (stored 0%)
  adding: META-INF/ (stored 0%)
  adding: res/ (stored 0%)
 <snipped snipped>
  adding: resources.arsc (stored 0%)
Rosie-v0.9.9a.apk Decompressed
Decompressing Rosie-v0.9.9.apk
  adding: AndroidManifest.xml (stored 0%)
  adding: classes.dex (stored 0%)
  adding: META-INF/ (stored 0%)
  <snipped snipped>
  adding: resources.arsc (stored 0%)
Rosie-v0.9.9.apk Decompressed

Remove Original Apks? [Y/n]: y

Thank you for choosing Android Utility
brought to you by tommytomatoe :-)

Please Don't Drink and Drive

Edit 1. Are you placing the apk file inside "original_apps"?

You're right...it's not creating that folder which explains why I'm getting both errors but all the apk's files coming out to 24.2mb seems a bit odd. I was testing compression level 9 for sh*ts & giggles.

EDIT: Yes, I had around 10 apk's in the original_apps folder
 
Last edited:

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
You're right...it's not creating that folder which explains why I'm getting both errors but all the apk's files coming out to 24.2mb seems a bit odd. I was testing compression level 9 for sh*ts & giggles.

EDIT: Yes, I had around 10 apk's in the original_apps folder

Lol. Sh*ts and giggles makes me laugh. One time my fiancée told me that wasn't a thing and that it was kicks and giggles. We Google it and urban dictionary told her it was a private school sheltered version of sh*ts and giggles. Hehe.

Did you go through the entire install process? My only guess is that 7z didn't install properly. Do you care to check $HOME/bin to see if 7z and 7z.so are both there? Perhaps the 7z version I packed with au isn't supported on your version of Ubuntu. It is 9.04 7zip binary by Igor Pavlov but I'm pretty sure it should. Works on karmic koala.

Sent from my PC36100 using Tapatalk
 

TMartin

Inactive Recognized Developer
Jun 30, 2008
2,186
1,582
Sunbury, Ohio
Nexus 7 (2013)
Nexus 9
Lol. Sh*ts and giggles makes me laugh. One time my fiancée told me that wasn't a thing and that it was kicks and giggles. We Google it and urban dictionary told her it was a private school sheltered version of sh*ts and giggles. Hehe.

Did you go through the entire install process? My only guess is that 7z didn't install properly. Do you care to check $HOME/bin to see if 7z and 7z.so are both there? Perhaps the 7z version I packed with au isn't supported on your version of Ubuntu. It is 9.04 7zip binary by Igor Pavlov but I'm pretty sure it should. Works on karmic koala.

Sent from my PC36100 using Tapatalk

Yea...I'll double check her in a few. I have a GoToMeeting in 10 then I'll pull out my laptop. My 11.04 already has 7z support so I'm not sure if that effects anything negatively.
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Yea...I'll double check her in a few. I have a GoToMeeting in 10 then I'll pull out my laptop. My 11.04 already has 7z support so I'm not sure if that effects anything negatively.

Work first!

I don't think it would. The script calls for the 7z tthat is in $HOME/bin. I dunno. I have 7z installed too but when using au it Calls for the one in $home/bin. If that is the issue then I will rework the script and make it call from the default 7z tthat people have installed. I think /usr/local/bin is where mine is and /usr/lib/pzip is where the 7z.so is. I will check later. I'm at work too ;-)

Sent from my PC36100 using Tapatalk
 

TMartin

Inactive Recognized Developer
Jun 30, 2008
2,186
1,582
Sunbury, Ohio
Nexus 7 (2013)
Nexus 9
Work first!

I don't think it would. The script calls for the 7z tthat is in $HOME/bin. I dunno. I have 7z installed too but when using au it Calls for the one in $home/bin. If that is the issue then I will rework the script and make it call from the default 7z tthat people have installed. I think /usr/local/bin is where mine is and /usr/lib/pzip is where the 7z.so is. I will check later. I'm at work too ;-)

Sent from my PC36100 using Tapatalk

Yea both 7z and 7z.so are both there in $HOME/bin. I didn't overwrite my bin folder during install because I had beyond compare installed and it uses the same folder. But like I said, it looks like all the right files are there.
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Yea both 7z and 7z.so are both there in $HOME/bin. I didn't overwrite my bin folder during install because I had beyond compare installed and it uses the same folder. But like I said, it looks like all the right files are there.

mmmm. Do you care to try a couple more things for me? I know you're a smart guy so don't take this the wrong way lol.

in terminal do:

$HOME/bin/7z

See if the output is what it's supposed to be. And lastly, have you tried again? Perhaps with just one apk. Maybe the first time was a fluke.
 

jonas2295

Senior Member
Jan 4, 2010
5,128
2,787
Bavaria
Awesome tool but can't use it atm because I have no Linux distro atm :(
Can we run the tool via cgwin ?
Thanks in advance :)

Sent from my HD2 using XDA Premium App
 

TMartin

Inactive Recognized Developer
Jun 30, 2008
2,186
1,582
Sunbury, Ohio
Nexus 7 (2013)
Nexus 9
mmmm. Do you care to try a couple more things for me? I know you're a smart guy so don't take this the wrong way lol.

in terminal do:

$HOME/bin/7z

See if the output is what it's supposed to be. And lastly, have you tried again? Perhaps with just one apk. Maybe the first time was a fluke.

Looks like this:
Code:
exec: 2: /usr/lib/p7zip/7z: not found
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Mac Version 1.0.1 is Live!

Code:
### 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

Link to update script (without installing au all over again)

Unzip the "update" folder into "$HOME/android-utility" and run the "update_script". Folder needs to be called "update". Done :)

New Menu
Code:
Welcome back Tommy,

   Android Utility by tommytomatoe
      ----------------------     
   Blue Waffle Magic Pack v 1.0.1
|-------------------------------||-------------------------------|
|-------------------------------||-------------------------------|
|         BASIC TOOLS           ||         ADVANCE TOOLS         |
|-------------------------------||-------------------------------|
| 1.  adb tools                 || 6.  apk Re-Engineering        |
| 2.  keystore manager          || 7.  apk Optimization          |
| 3.  sign apk and update.zip   || 8.  smali and baksmali        |
| 4.  zipalign                  || 9.  draw9patch utilities      |
| 5.  change-log creator        ||10.  AU ROM Utility            |
|                               ||                               |
|----------------------------------------------------------------|
|                          SETUP TOOLS                           |
|----------------------------------------------------------------|
| x.  Run Installation Guide    || e.  Extras                    |
| i.  Install Android SDK       || q.  Quit                      |
|-------------------------------||-------------------------------|
|-------------------------------||-------------------------------|
 Select an Option:
 
Last edited:

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Looks like this:
Code:
exec: 2: /usr/lib/p7zip/7z: not found

mmm. Interesting. I don't get that error on karmic koala.

Maybe try this:
Code:
sudo cp $HOME/bin/7z /usr/lib/p7zip/7z
sudo cp $HOME/bin/7z.so /usr/lib/p7zip/7z

Then run the decompress again.

That is the only thing I can think of besides changing the script..which isn't hard. Just need to change instances of $HOME/bin/7z to 7z.
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Forgot to mention.

With version 1.0.1 you have option to type "andutil" or "au".

au is faster. Hehe

Sent from my PC36100 using Tapatalk
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Need some time to update Linux version. Gonna use unzip instead of 7z. I think 7z might cause issues that unzip won't have.

Sent from my PC36100 using Tapatalk
 

moseso

Senior Member
Dec 9, 2010
212
56
Hopkins, MN, USA
moseso.com
Good morning, Tommy --
Here's what happened when I tried running apktool on the G5 Mac:

++++++++++++++++++++++++++++++++++++
Welcome to Android Application Re-Engineering Manager

|----------------------------------------------------------------|
/Users/Leonard/android-utility/utility/apk_tool: line 202: apktool: command not found
/Users/Leonard/android-utility/utility/apk_tool: line 202: /usr/bin/sed: Bad CPU type in executable
|### |
|----------------------------------------------------------------|

| Apktool Utility |
|-----------------------------------------------------|
| 1. Install framework first (ie. framework-res.apk)|
| 2. Decompile Apk |
| 3. Decompile Multiple Apk |
| 4. Recompile Apk |
| 5. Recompile Multiple Apk |
|-----------------------------------------------------|

| Optional Flavors |
|-----------------------------------------------------|
| a. Use different version of apktool |
| b. Use different version of aapt |
| q. Go Back to Main Menu |
|-----------------------------------------------------|

Please Select Feature: 2

Android Utility found this apk: DeskClock.apk

Would you like to decode it? [default=Yes]

1. Yes
2. No

Decoding DeskClock.apk to ../mod-here-solo/DeskClock:

/Users/Leonard/android-utility/utility/apk_dec: line 167: apktool: command not found

Would you like to extract original META-INF? [default=Yes]

1. Yes
2. No


Extracting Original META-INF from DeskClock.apk
......

Please check decode_log for apks with errors

Please press [enter] to continue


Welcome to Android Application Re-Engineering Manager

|----------------------------------------------------------------|
/Users/Leonard/android-utility/utility/apk_tool: line 202: apktool: command not found
/Users/Leonard/android-utility/utility/apk_tool: line 202: /usr/bin/sed: Bad CPU type in executable
|### |
|----------------------------------------------------------------|

| Apktool Utility |
|-----------------------------------------------------|
| 1. Install framework first (ie. framework-res.apk)|
| 2. Decompile Apk |
| 3. Decompile Multiple Apk |
| 4. Recompile Apk |
| 5. Recompile Multiple Apk |
|-----------------------------------------------------|

| Optional Flavors |
|-----------------------------------------------------|
| a. Use different version of apktool |
| b. Use different version of aapt |
| q. Go Back to Main Menu |
|-----------------------------------------------------|

Please Select Feature:
++++++++++++++++++++++++++++++++++++++

From the decode_log: "On Jul20_111201, DeskClock.apk was not Decoded Properly"
But, we knew that already....

It did extract the META-INF directory, but that's all it did.
I do have an Intel Mac at home -- and it all appears to be working there. I was just hoping it would work on my at-work rig. Oh, well... I guess I can do this stuff at home...
 
Last edited:

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Linux v 1.0.1 will release soon. I am testing. Updated 7z scripts to "unzip" and "zip".

Good morning, Tommy --
Here's what happened when I tried running apktool on the G5 Mac:

++++++++++++++++++++++++++++++++++++
Welcome to Android Application Re-Engineering Manager

|----------------------------------------------------------------|
/Users/Leonard/android-utility/utility/apk_tool: line 202: apktool: command not found
/Users/Leonard/android-utility/utility/apk_tool: line 202: /usr/bin/sed: Bad CPU type in executable
|### |
|----------------------------------------------------------------|

| Apktool Utility |
|-----------------------------------------------------|
| 1. Install framework first (ie. framework-res.apk)|
| 2. Decompile Apk |
| 3. Decompile Multiple Apk |
| 4. Recompile Apk |
| 5. Recompile Multiple Apk |
|-----------------------------------------------------|

| Optional Flavors |
|-----------------------------------------------------|
| a. Use different version of apktool |
| b. Use different version of aapt |
| q. Go Back to Main Menu |
|-----------------------------------------------------|

Please Select Feature: 2

Android Utility found this apk: DeskClock.apk

Would you like to decode it? [default=Yes]

1. Yes
2. No

Decoding DeskClock.apk to ../mod-here-solo/DeskClock:

/Users/Leonard/android-utility/utility/apk_dec: line 167: apktool: command not found

Would you like to extract original META-INF? [default=Yes]

1. Yes
2. No


Extracting Original META-INF from DeskClock.apk
......

Please check decode_log for apks with errors

Please press [enter] to continue


Welcome to Android Application Re-Engineering Manager

|----------------------------------------------------------------|
/Users/Leonard/android-utility/utility/apk_tool: line 202: apktool: command not found
/Users/Leonard/android-utility/utility/apk_tool: line 202: /usr/bin/sed: Bad CPU type in executable
|### |
|----------------------------------------------------------------|

| Apktool Utility |
|-----------------------------------------------------|
| 1. Install framework first (ie. framework-res.apk)|
| 2. Decompile Apk |
| 3. Decompile Multiple Apk |
| 4. Recompile Apk |
| 5. Recompile Multiple Apk |
|-----------------------------------------------------|

| Optional Flavors |
|-----------------------------------------------------|
| a. Use different version of apktool |
| b. Use different version of aapt |
| q. Go Back to Main Menu |
|-----------------------------------------------------|

Please Select Feature:
++++++++++++++++++++++++++++++++++++++

From the decode_log: "On Jul20_111201, DeskClock.apk was not Decoded Properly"
But, we knew that already....

It did extract the META-INF directory, but that's all it did.
I do have an Intel Mac at home -- and it all appears to be working there. I was just hoping it would work on my at-work rig. Oh, well... I guess I can do this stuff at home...

Sorry to hear that Mose! But it's good you have an intel at home. I guess work is for work.
 

tommytomatoe

Inactive Recognized Developer
Dec 13, 2010
6,282
6,800
34
Knoxville USA
Linux Download:
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.

The Update Package is a much much smaller download (since all the binaries are left out). Only use if you currently have Version b 1.0.0 or 1.0.0.

Extract the "update" folder into the root of "android-utility", where you see the "andutil", "README", and "installau"

Open the update folder and click on the "update_script". Choose "Run in terminal".

Done :)

Additions: here + unzip support

Enjoy!
 
  • Like
Reactions: TMartin

Top Liked Posts

  • There are no posts matching your filters.
  • 90
    [UTILITY] Android Utility - [apktool|dex2jar|smali|more][Mac & Linux][Feb13, 2012]

    Code:
    October 12. 2011.
    
     Dear AU users:
    
    I want to make a list of all the projects/themes/ROMs that AU helped make/optimize/perfect. If you all could be so kind as to post a link to your projects and I can put in op. 
    
    The goal: (a.) to demonstrate the scope of AU, and (b.) to show off all of your ideas and projects.
    
    I would appreciate your help with this.
    
    Sincerely yours,
    
    Tommy

    Hello again!

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


    Currently available for Mac OS X and Linux

    Windows Coming in the future.

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

    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.x.x 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
    21
    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!
    17
    Version: 1.0.6

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

    ### Update. October 06, 2011
    >Version 1.0.5
    >added adb logcat ultimate tool
    >added auto-update
    >Version 1.0.6
    >added update options

    ### Update. October 04, 2011
    >updated res_compress
    >added auto-zipalign option

    ### Update. October 04, 2011
    >added system app sign option
    >removed 7z and 7z.so

    ### Update. October 03, 2011
    >Version 1.0.3
    >updated main menu
    >added kitchen plugin

    ### 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 - pxb1...@gmail.com
    > JD-GUI - Copyright © 2008-2011 Emmanuel Dupuy
    > Igor Pavlov for 7zip
    > Google
    > Android
    > HTC
    > xda developers
    > themikmik.com
    > tommytomatoe
    5
    Just a little wittle announcement

    I will be haulting features development of Android-Utility for the time being.

    In the meantime, I will be updating the Mac OS X version to be current with the Linux version.

    Also, as a side project for school, I will attempt to write a GUI for AU with C++ using QT (I am in a C++ class at the moment). This will be a little extra credit project for me. Don't expect anything anytime soon, but I will post pics and posts if anything awesome happens. Wish me luck!

    As always, thank you for choosing android-utility for you android modding needs!
    3
    v1.1.1

    apktool 1.4.3.

    updated