Hello Fabio,
The @EActivity is currently the only component that can be extended, and I'm sometimes wondering if that was a good design decision. The main problem here is that it makes users rely on the generated code, and this may change from one release to another.
One way to solve this would be to avoid generation of intermediate subclasses, and directly collect annotations from all super classes and apply them all at once in the final generated class. However, annotation processing isn't made to work this way, you only collect annotations for classes that are being compiled (and the super classes may already be compiled).
Regarding your use case, I think being able to inject one implementation or another depending on the Android version is quite a good use case. But this information cannot live on "@EBean", because of incremental compilation : the information is needed at the place your inject, not on the component declaration. So that would be something added to @Bean.