Question: Developing in Android is going to be different for me, having spent the last 10 years coding games in C++. What's the main differences / pitfalls / bottlenecks to developing for the Android? My big worry is moving to Java, what am I going to miss most?

To be clearer: what would I miss if I coded the whole thing in Java compared to the way I normally code C++ for consoles?

Answer: 
The single biggest thing that you'd probably miss would be explicit memory management. On the plus side, Java has run-time type information and real generics.
Also see [this link](https://developer.android.com/topic/performance) for some tips from Google on how to keep your Java code efficient.

Raymond Chen has recently been venting about garbage collection and memory management in the CLR and his blog posts are great for understanding how it works. (I know the following links are for the CLR, but they're still relevant for Java development).
See especially [here](https://devblogs.microsoft.com/oldnewthing/20100809-00/?p=13203) and
[here](https://devblogs.microsoft.com/oldnewthing/20100810-01/?p=13183).

That being said, there isn't that much difference between Java and C++, and as Chris pointed out, you *can* code in C/C++ on Android using the NDK.
You are worrying too much. The API for OpenGL in Android, OpenGL-ES, was deliberately kept C-like. See the OpenGL specs at <http://www.khronos.org/opengles/> for details.

It is even possible that you won't miss much of anything from C++. A lot of developers, even the famous programming author Bruce Eckel ('Thinking in C++', 'Thinking in Java'), have found Java a much more effective language for object-oriented programming. Largely because the things they 'missed' at first turned out not to be so important after all.

That said, what I miss most is the ability to override operators, not just methods. The syntax really is clumsier when you have to define/override methods instead of operators.

Consider, for example complex number arithmetic. It is really elegant in C++. Not so in Java. But this turns out to have minimal impact on most real projects.

Some people complain about the inability to do multiple-inheritance. But the most useful kind of multiple inheritance IS the kind that Java does with the 'interface', so you shouldn't really miss it that much.