Two of your tools will be code obfuscation and server-side processing.
For the first, obfuscation, the Android team encourages the use of Proguard .
The second task is to make your confidential processing on the server and create a good licensing model. This ensures that the user does not even have access to the compiled code. They only get the results of the code, and you can use licensing to run it to make sure they are a valid user. For more information on licensing for Android, see Licensing .
source share