AE runs fine on the Nexus One, which is a 2.1 device. So it can't be a problem with 2.1 alone. Is that update for the Hero an official one or some "hacked" version? Do other Open GL based applications run in the VM (there are some examples in the SDK)?
Anyway, try to remove these lines from the demo:
mGLView.setEGLConfigChooser(new GLSurfaceView.EGLConfigChooser() {
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
// Ensure that we get a 16bit framebuffer. Otherwise, we'll fall
// back to Pixelflinger on some device (read: Samsung I7500)
int[] attributes = new int[] { EGL10.EGL_DEPTH_SIZE, 16, EGL10.EGL_NONE };
EGLConfig[] configs = new EGLConfig[1];
int[] result = new int[1];
egl.eglChooseConfig(display, attributes, configs, 1, result);
return configs[0];
}
});
If that doesn't help, try Texture.defaultTo4bpp(false);
If that doesn't help either, try to determine which is the last method call that happens. From the log, this is hard to tell. Obviously, the renderer gets initialized correctly and something goes wrong afterwards. The big question is: Where and what exactly?