How to cache/download google map v2 tile programmatically?
From this link I understand that you must have licence for what you want. At the bottom of the page says
You can license Google Maps as an embedded feature of your stand-alone software or device
Google provides you a lot of free services, but most of all have a limit and after that limit you must pay that service.