I have already an ASP.NET MVC3 application and I want to develop an Android application for it, what are the options that I have?
After some research I figured I might:
Is any of these options valid and what other options is there? which is the best way to do this?
Another option is to could create another MVC app or area that contains controllers for data access specifically for use with the app.
I know you're using MVC3, but you might want to look at MVC4 web api for an example.
Best practice says that you should have some kind of service layer between your app and the database, so I would eliminate the second option from your list. The other two options are viable though.
You can utilize either jquery mobile or KendoUI (if you feel like paying for the license, it's a great product suite) to help with developing an HTML5+Js only application that connects to data provided by your MVC project as JSON data.
Once the pure html+Js app is written, you could use PhoneGap to compile it into an app for Android and iOs both.
If you have already deployed your MVC app you can follow what @Ron said. What you can do is to create an html5/html page which embed your live mvc app using iframes, then use PhoneGap to deploy your application.
However if you want to deploy your android app to google play you will need to sign your app. Follow this link: https://github.com/amirudin/build/wiki/Android-Signing for step by step tutorial on how to sign your android application.