I have a Java app, which also runs as an applet. The UI side is very simple, it is just a single JPanel. However, the program paints some quite complex graphics (it is a viewer for specialised visualisation). This is done using the standard awt Graphics2d. Is Graphics2D supported on Android? If I wanted to use the same code base, without making large numbers of changes, what would be the best way to do it? I was thinking of wrapping the Graphics2D class in an interface so that my code doesn't use awt directly. Then on Android I could create a new thin layer to map my interface onto the Android equivalent calls. Any advice?