Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Android applications are written in Java. Java is especially susceptible to reverse engineering due to the fact that it supports reflection, or the capability to look up code objects at runtime by name. These labels are kept when the application is compiled. When someone has knowledge of what your application does and the ability to systematically inspect the elements of your code in a human-readable fashion, it takes only a short amount of time to unwind your hard work and exploit it.
Android developers can use the ProGuard tool to make code more difficult to interpret and understand. ProGuard obfuscates, shrinks, and optimizes your code. The end result is a smaller, more secure application package file. Enabling ProGuard is simple in Eclipse with the ADT plug-in. For Android developers, there’s little excuse not to provide at least this moderate level of protection to your application source code.