Google's documentation as far as in app billing goes states that:
To keep your public key safe from malicious users and hackers, do not embed it in any code as a literal string. Instead, construct the string at runtime from pieces or use bit manipulation (for example, XOR with some other string) to hide the actual key. The key itself is not secret information, but you do not want to make it easy for a hacker or malicious user to replace the public key with another key.
But the verification process is calling the Google servers where the private key is stored, so what if they replace the key? it will anyway be rejected by the call to Google servers
Or does it mean that the cracker has also modified the apks code and has also replaced the call to the google servers with a call to their private server? if that is the case, then having the public key visible is the least of the problems.
What am I missing?