How to reduce code from different alert-dialogue?
I also like to keep classes short, but I don't think it should influence your design.  You can put the alert building code in another class file if you really want to.  

I would not try to coerce the geolocation alert with onJsAlert/onJsConfirm since it is quite different.  But you could do something if you really wanted to reuse some code for those two (onJsAlert/onJsConfirm).  The positive OnClickListener could be defined outside and shared for onJsAlert/onJsConfirm.  You could instead write a common method for building those two alert dialogs, with an if-statement that checks if a negative button should be added or not.