Or create a new interface that implements the interesection of the methods between the two interfaces. That is the option I would go with.
I wouldn't take this approach as it forces users of Smack to learn a custom pull parsing API instead of using one of the existing standardized ones. If Stax can't be made to work well on Android, then we are better off sticking with the pull parser that we use now.
If we were to wrap the Android pull parser implementation with the Stax API, I would just throw an UnsupportedOperationException on any operation that doesn't match up and isn't easily translated. Assuming of course that we can write providers without that functionality, which I assume we can since we don't use it now.
Certainly for non Android usage, Stax would be preferable as it seems to have more momentum with several available implementations, including of course the one in the sun JDK. This also means available parsers that are being actively worked on and advanced.