I am not able to use Smack on Android whereas aSmack works perfectly? When compared the source code it looks somewhat similar, where does the difference comes from?
Smack < 4.1 does not work on Android, mostly because of APIs missing on Android (e.g. most of the javax APIs). That is the reason the aSmack build environment was born. It is a way to modify Smack so that it can be used on Android.
Besides many minor changes the biggest changes are
Make sure to read the README and and init the relevant code before doing any XMPP related actions.
More information can be found @ https://github.com/Flowdalic/asmack/wiki/Modifications