I have successfully implemented the MVC pattern for my Presentation layer, the Domain Model, Services Layer, Repository, and Common are all platform agnostic. Where I do need to have platform specific code such as the NetworkConnectionManager (my name) I use #if #endif to wrap the objects or where I need to do Unit Testing I use a Console app for all my unit tests, its the exact same project as the Android, iPhone and Windows Phone projects except I leave out the UI layer which is all the User Interface platform specific crud. I also tag my Console with the CONSOLE define, and my Android projects with ANDROID define so that I can do the #if #endif
I have to say it works great, if I can put my entire MVC layer under unit test in the console and have it working under Android than I am pretty much gauranteed it will work under iPhone and Windows Phone because Console doesn't even have an interface. It's the perfect way to test the Genericness of my Presentation layer. Albeit this approach I am taking may be overkill, I plan to support this application for a long time, and I also plan to port it to Android Tablets, iPad and Windows 8 framework so IMO its necessary to take the extra time to get this right.
I attempted the MVP pattern but it wasn't quite flexible enough under this circumstance to work. I tried various frameworks as well but I have ended up custom developing the entire framework as it gives me the most flexability. It is not trivial by any means, and if you do not have a very thorough grasp on abstraction, generics, and object oriented design than I suggest a simpler approach or you will make your life hell trying to get it to work.
As previously stated, Android has a lot of ins-and-outs, for instance the biggest problem I have run into with Android is multi-threading or async operations and Activity rotation, which will completely destory your activity and recreate it thus obliterating your View along with it. I chose the path to manage all the rotation configuration on my own which means I must clean up all drawables, and resources used by the activity manually.