2014-06-18 4 views
0

Soot를 사용하여 APK 파일을 계측하고 있습니다. soot.Main (내 몸체 변환기를 만들지 않고도)을 실행하기 전에 다음 명령문을 추가하면 regCount 오류가 발생합니다. (. 같은 오류가 다른 APK 파일에 대한 다른 방법에 나타납니다)그을음으로 APK를 계측 할 때 regCount 오류가 발생했습니다.

Scene.v().addBasicClass("MyScheduler"); 
    // PackManager.v().getPack("jtp").add(new Transform("jtp.myInstrumenter", new MyBodyTransformer())); 
    soot.Main.main(args); 

내가 오류는 다음과 같습니다 사전에

Transforming android.support.v4.view.ViewConfigurationCompat$FroyoViewConfigurationVersionImpl... 
    Exception in thread "main" java.lang.RuntimeException: regCount does not match the number of arguments of the method 
     at org.jf.dexlib.Code.Format.Instruction35c.checkItem(Instruction35c.java:160) 
     at org.jf.dexlib.Code.Format.Instruction35c.<init>(Instruction35c.java:69) 
     at soot.toDex.instructions.Insn35c.getRealInsn0(Insn35c.java:96) 

감사합니다.

답변

0

내 문제는 추가하려고 시도한 클래스 코드 때문입니다. 정말 미묘한 점입니다 : "Long"의 ArrayList를 사용하지만, 일부 메서드는 "long"유형의 변수를 추가/제거하는 것입니다. Java가 복싱을 수행하고 Java 코드 실행에 문제가 없었지만 이러한 차이는 중간 언어에서 문제가됩니다.