I have been using JIT on my ADP1 with 2.1, and it hasn't broken anything. Performance is great, 3.5mflops in linpack vs 2.4mflops. But I am confused, why do you think there is a compatibility break?
I'm not seeing the problem here...
So do I recode my FFTs in Java and say goodbye to anyone running pre-2.2 until the carriers/handset makers get around to upgrading everyone in a couple of years time, or do I keep my code in it's little C++ NDK ghetto, safe from testing and rapid enhancements that Java would bring?
It's so frustrating that Google has fixed this problem NOW, but between carrier indifference and custom-'enhancement' inertia at handset makers, it's going to take forever for 2.2 to be a legitimate development target. This is a solved problem in iPhone-land.
I have news for you, in iPhone-land the phones in a couple years will be faster too. :)