Posts

Showing posts from 2012

APK Viewer

In a previous post I wrote about "How to read Android apk contents", since then I have tested those apps and have drawn conclusions.
There is no need for all of those apps, all one needs is two main apps which can do everything one might want with his apks!
The clear winners are:
APKInspector APK Multi Tool
These two application complement each other and let you view any aspect of an APK (apkInspector) and change it as you wish (apk multi tool).
I have explained a bit about APK Multi Tool in the previous post about reading android apk contents and so I want to clarify a bit about APK Inspector.

APKInspector is a python application which runs only on linux and needs several packages to be installed for it to run.
The above requirements can frighten many people so a virtual box (Oracle virtual box) was created using the  Ubuntu OS and all packages (as well as the main app) already are installed on it.
In order to download this virtual machine (4.2 gb) go to the following site: h…

Java Stopwatch

In many cases, when programming, i want to measure the time some block of code has taken.
This functionality is needed in many projects I work on, and on each project it is sometimes needed many times.
The first few times i have done it manually, use getTimeInMillis() and deducted the end time from the starting time.
When it occurred several more times I have built a Stopwatch class, which is the path many have gone on before.
After tweaking that class several times, as my requirements became clearer to me, I have understood that I can do a decent job in the stopwatch class, but I can use a robust and maintained framework which has done a nicer job than mine, that was the stage where i went googling it out.
And i have found many classes implementing the stopwatch functionality, after narrowing them down, 3 frameworks remained: 1. Apache commons 2. Spring 3. Google's Guava
Which one did I pick? What are the differences between them?
Basically they do the same things with slight ch…

Localize Android app

You have created this great android app.
Then you discover that the world is actually flat and your app will be downloaded by dudes all over the planet, and they want your app in their own language.
How can you localize your app? Be sure that all of the text in the app is using strings.xml, please note that the actual java files as well as the layout xml files should refer to the strings.xml file.Create a directory for each language you want your app to be localized to, so if you want your app to be localized to 11 languages you will need to create 11 additional directories; These directories should be located in the "res" directory and should be named values-XX where XX is a 2 letter country code, which you can find here: http://www.loc.gov/standards/iso639-2/php/code_list.phpCopy your strings.xml file into each one of those directoriesTranslate each one of those strings.xml files to their relevant languages (I managed to have those files translated in one go using google…

The Ultimate Utility Toolset

Are you called from time to time to fix friends' / neighbors' / family's computers? Do you then pull your good old collection of cds each one containing a different utility you might need?
Well, those days are gone! Today you need only carry a nice 8gb flash drive on your key chain.
What will it contain? Download the latest hiren's boot cd (currently 15.1 but it gets updated every now and then) from your favorite torrent site.Follow these orders (in the link) in order to format and make your flash drive bootable.  Copy the contents of the hiren's boot cd into the flash drive (as mentioned in the link above).You have just created a bootable hiren flash disk (and for those who don't know, hiren's boot disk is the best rescue disk you'll ever need).Download the portable apps app, install it on your computer and download every app you find handy. This stage could take some time and could get to 5gb of downloaded no installer freeware.Add needed apps from he…

How to read Android apk contents

Lets say you want to read the contents of an android apk file.
Why? Maybe it's yours and you want to be sure of the version, maybe you want to see if the code in that apk contains the latest feature you inserted. Or maybe it isn't your code but you want to check something with someone else's code (without breaking any license etc).
In a nutshell - What are the steps one should take in order to explore an apk file?
1. Only read the manifest contents of an apk: Use the following command (make sure you have aapt.exe and the apk file on your path):
aapt dump badging XXYY.apk
[Later Edit] 1.5 You want to change some resources of the apk using a nice GUI
Try APK Edit - It will enable you to do the following:

Change icons of your android application.Change the applications name.Edit the localized text (Strings.xml) used in applications.

2. You want to read all of the apk's contents:
Method A. Use the following tool: apktool (apktool d filename.apk) [It will generate .smali fil…