how to protect android app from .apk backup apps
What the answers say is not true. If you set your app to use the old copy protection in the market (the checkbox is still there), it will require a rooted phone to read the APK. Also, I've seen an app recently (ICE, in case of emergency), that I couldn't backup and I think it wasn't using the old copy protection. I have no idea how it's doing it. Also, it's not a matter of "stealing" assets, that's irrelevant. For a cracker, every extra step, every nuisance he finds in his way undermines his determination to crack your app, that's what this is be about. It takes just one determined cracker to have thousands of pirate copies roaming around, and we don't want that to happen.
There is not, as far as I'm aware, a full-proof method to stop this. But even so, I would always ask myself before going to the effort of trying whether I even really care if some one tries to steal something from my app. I spend my effort on making sure any data is secure.