I am developing a payment processing app for Android, and I want to prevent a hacker from accessing any resources, assets or source code from the APK file.<
Developers can take following steps to prevent an APK from theft somehow,
the most basic way is to use tools like ProGuard
to obfuscate their code, but up until now, it has been quite difficult to completely prevent someone from decompiling an app.
Also I have heard about a tool HoseDex2Jar. It stops Dex2Jar
by inserting harmless code in an Android APK that confuses and disables Dex2Jar
and protects the code from decompilation. It could somehow prevent hackers from decompiling an APK into readable java code.
Use some server side application to communicate with the application only when it is needed. It could help prevent the important data.
At all, you can not completely protect your code from the potential hackers. Somehow, you could make it difficult and a bit frustrating task for them to decompile your code. One of the most efficient way is to write in native code(C/C++) and store it as compiled libraries.