java - exception from simulation local variable type mismatch while converting jar to dex -
i trying apply aspect on constructor of class.i have created jar file of compiled class aspect. noq want convert jar file .dex file . while converting shows me exception:
f:\sachin\tools\adt_bundle\adt-bundle-windows-x86\sdk\platform-tools>dx --dex -- output=classes.dex yepme_jar_with_aspect_on_settext.jar exception simulation: local variable type mismatch: attempt set or access value of type int using local variable of type pak.hookyepmeaspect. symptomatic of .class tra nsformation tools ignore local variable information. ...at bytecode offset 00000009 locals[0000]: locals[0001]: ljava/lang/string; locals[0002]: ljava/lang/string; locals[0003]: ljava/lang/string; locals[0004]: ljava/lang/string; locals[0005]: ljava/lang/string; locals[0006]: ljava/lang/string; locals[0007]: ljava/lang/string; locals[0008]: ljava/lang/string; locals[0009]: ljava/lang/string; locals[000a]: ljava/lang/string; locals[000b]: ljava/lang/string; locals[000c]: lorg/aspectj/runtime/internal/aroundclosure; locals[000d]: <invalid> stack[0003]: lorg/aspectj/runtime/internal/aroundclosure; stack[0002]: [ljava/lang/object; stack[0001]: [ljava/lang/object; stack[top0]: int{0x00000000 / 0} ...while working on block 0007 ...while working on method ajc$around$pak_hookyepmeaspect$2$93ff7f29proceed:(ilj ava/lang/string;ljava/lang/string;ljava/lang/string;ljava/lang/string;ljava/lang /string;ljava/lang/string;ljava/lang/string;ljava/lang/string;ljava/lang/string; ljava/lang/string;ljava/lang/string;lorg/aspectj/runtime/internal/aroundclosure; )ljava/lang/object; ...while processing ajc$around$pak_hookyepmeaspect$2$93ff7f29proceed (iljava/lan g/string;ljava/lang/string;ljava/lang/string;ljava/lang/string;ljava/lang/string ;ljava/lang/string;ljava/lang/string;ljava/lang/string;ljava/lang/string;ljava/l ang/string;ljava/lang/string;lorg/aspectj/runtime/internal/aroundclosure;)ljava/ lang/object; ...while processing pak/hookyepmeaspect.class 1 error; aborting
this aspect code:
public aspect abc{ pointcut pkt_findviewbyid(int id):call(view android.app.activity.findviewbyid(int)) && args(id); view around(int id):pkt_findviewbyid(id) && within(com.yepme.*) { } }
my observation whenever pass int
argument to pointcut, error generated, don't know why behaves . please tell me can solution error ...thanks in advance . .
i know reply late, better keeping question unanswered. after lot of research found around pointcut takes arguments , if first argument
int
while creating .dex gives error. resolve took first argument target object , passed target.
void around(object target, int arg1,string arg2): call(* *.foo(int,string)) && args(arg1,arg2) && target(target) { <code body> }
and worked me..
Comments
Post a Comment