I know that this reply is too late, but its better than keeping question as unanswered. After a lot of research i found that the around pointcut that takes arguments and if first argument is
int
then while creating .dex it gives error. So to resolve this i took first argument as target Object and passed it as a target.
void around(Object target, int arg1,String arg2): call(* *.foo(int,String)) && args(arg1,arg2) && target(target)
{
<code body>
}
and it worked for me..