Decompile is a process to revert the compile operation. I main, decompile converts the low level code in high level code. The Android application is compiled in APK container that groups files as: xml, images and class. APK containers are actually ZIP containers. An interest thing is can see the xml configuration or some source code of others applications. If this applications are Free Software is not a problem, but if this applications are privated we can’t see its configuration. The next application help you to decompile an APK file to see xml configuration and source code.

Some tools I’ve found:

  • APKTool: Decompile all the configuration XML and resources as images. It’s great to view AndroidManifest.xml or some layout xml. The source code is decompiled to “smali”. This assembler language is based in dalvik but it’s not translate to JAVA.
  • dex2jar: If we unzip the APK file we find a .dex files. This tools translate .dex file to JAR file with all the class files of the project. So, you can use any class2java decompiler to view source code
  • JAD Java Decompiler: It’s widely used through command line and very useful to make scripts by automatic process
  • JDGUI: Graphic decompiler and integrated with eclipse. It’s not a efficient solution to run process in background.
Currently, I’m interesting in decompile Android applications because I want to know the data imported/exported by them. And this is possible if I can analyze the AndroidManifest.xml and the source code.
facebooktwittergoogle_pluslinkedinmailby feather
Categories: Uncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts


Always Parcelable, never Serializable (in Android)

“The final conclusion of Android Team is that Serializable in JAVA is far too slow to satisfy Android’s interprocess-communication requirements. So the team built the Parcelable solution”. Just read this sentence is enough to forget Serializable mechanism. But, Read more…


ARviewer, PhoneGap and Android

Three months ago I wrote a post describing the plan that Raúl Roman and I are involved: build an augmented reality interface using PhoneGap. Today, we have uploaded a beta version (0.1.0) of ARviewer-PhoneGap to Read more…


Address2Mobile: Final project of “Master on Free Software”

Address2Mobile project facilitates to user transfer information from screen (other devices also is possible) to mobile. In concrete it helps to user to create new nodes into LibreGeoSocial (LGS) application. Until now if you would like to create Read more…