weikipeng / dex2jar

Automatically exported from code.google.com/p/dex2jar
0 stars 0 forks source link

error while retrieving jar from apk #238

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
java.lang.NullPointerException
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze$1.use(LiveAnalyze.java:175)
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze$1.use(LiveAnalyze.java:190)
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze$1.exec(LiveAnalyze.java:118)
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze$1.exec(LiveAnalyze.java:98)
    at com.googlecode.dex2jar.ir.ts.Cfg.Forward(Cfg.java:272)
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze.analyze0(LiveAnalyze.java:98)
    at com.googlecode.dex2jar.ir.ts.LiveAnalyze.analyze(LiveAnalyze.java:90)
    at com.googlecode.dex2jar.v3.IrMethod2AsmMethod.reIndexLocal(IrMethod2AsmMethod.java:63)
    at com.googlecode.dex2jar.v3.IrMethod2AsmMethod.convert(IrMethod2AsmMethod.java:265)
    at com.googlecode.dex2jar.v3.V3MethodAdapter.visitEnd(V3MethodAdapter.java:207)
    at com.googlecode.dex2jar.v3.V3ClassAdapter$2.visitEnd(V3ClassAdapter.java:255)
    at com.googlecode.dex2jar.reader.DexFileReader.acceptMethod(DexFileReader.java:702)
    at com.googlecode.dex2jar.reader.DexFileReader.acceptClass(DexFileReader.java:451)
    at com.googlecode.dex2jar.reader.DexFileReader.accept(DexFileReader.java:333)
    at com.googlecode.dex2jar.v3.Dex2jar.doTranslate(Dex2jar.java:90)
    at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:145)
    at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:136)
    at com.googlecode.dex2jar.v3.Main.doData(Main.java:43)
    at com.googlecode.dex2jar.v3.Main.doData(Main.java:35)
    at com.googlecode.dex2jar.v3.Main.doFile(Main.java:63)
    at com.googlecode.dex2jar.v3.Main.main(Main.java:85)

DexMethodVisitor mv=cv.visitMethod(0, new 
Method("Lcom/wqluhhadftsfkwivxpl/AdActionHandler;","D",new String[]{ 
"Landroid/os/Bundle;","Lcom/wqluhhadftsfkwivxpl/AdView$ACTION;"},"Lcom/wqluhhadf
tsfkwivxpl/AdPlayer;"));
DexCodeVisitor code = mv.visitCode();
code.visitArguments(8,new int[]{ 5,6,7});
code.visitConstStmt(OP_CONST_STRING,0,"player_properties",2);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 6,0},new 
Method("Landroid/os/Bundle;","getParcelable",new String[]{ 
"Ljava/lang/String;"},"Landroid/os/Parcelable;"));
code.visitMoveStmt(OP_MOVE_RESULT,0,2);
code.visitClassStmt(OP_CHECK_CAST,0,"Lcom/wqluhhadftsfkwivxpl/AdController$Playe
rProperties;");
code.visitConstStmt(OP_CONST_STRING,1,"expand_dimensions",2);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 6,1},new 
Method("Landroid/os/Bundle;","getParcelable",new String[]{ 
"Ljava/lang/String;"},"Landroid/os/Parcelable;"));
code.visitMoveStmt(OP_MOVE_RESULT,1,2);
code.visitClassStmt(OP_CHECK_CAST,1,"Lcom/wqluhhadftsfkwivxpl/AdController$Dimen
sions;");
code.visitClassStmt(OP_NEW_INSTANCE,2,"Lcom/wqluhhadftsfkwivxpl/AdPlayer;");
code.visitMethodStmt(OP_INVOKE_DIRECT,new int[]{ 2,5},new 
Method("Lcom/wqluhhadftsfkwivxpl/AdPlayer;","<init>",new String[]{ 
"Landroid/content/Context;"},"V"));
code.visitConstStmt(OP_CONST_STRING,3,"expand_url",2);
code.visitMethodStmt(OP_INVOKE_STATIC,new int[]{ 3,6},new 
Method("Lcom/wqluhhadftsfkwivxpl/AdUtils;","getData",new String[]{ 
"Ljava/lang/String;","Landroid/os/Bundle;"},"Ljava/lang/String;"));
code.visitMoveStmt(OP_MOVE_RESULT,3,2);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 2,0,3},new 
Method("Lcom/wqluhhadftsfkwivxpl/AdPlayer;","setPlayData",new String[]{ 
"Lcom/wqluhhadftsfkwivxpl/AdController$PlayerProperties;","Ljava/lang/String;"},
"V"));
code.visitClassStmt(OP_NEW_INSTANCE,0,"Landroid/widget/RelativeLayout$LayoutPara
ms;");
DexLabel L0=new DexLabel();
code.visitJumpStmt(OP_IF_NEZ,1,L0);
code.visitConstStmt(OP_CONST,1, Integer.valueOf(-1),0); // int: 0xffffffff  
float:NaN
code.visitMethodStmt(OP_INVOKE_DIRECT,new int[]{ 0,1,1},new 
Method("Landroid/widget/RelativeLayout$LayoutParams;","<init>",new String[]{ 
"I","I"},"V"));
code.visitConstStmt(OP_CONST,1, Integer.valueOf(13),0); // int: 0x0000000d  
float:0.000000
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 0,1},new 
Method("Landroid/widget/RelativeLayout$LayoutParams;","addRule",new String[]{ 
"I"},"V"));
code.visitMoveStmt(OP_MOVE,1,0,2);
code.visitMoveStmt(OP_MOVE,0,2,2);
DexLabel L1=new DexLabel();
code.visitLabel(L1);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 0,1},new 
Method("Lcom/wqluhhadftsfkwivxpl/AdPlayer;","setLayoutParams",new String[]{ 
"Landroid/view/ViewGroup$LayoutParams;"},"V"));
code.visitFieldStmt(OP_IGET,0,5,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdActionHandler;","d","Landroid/widget/RelativeL
ayout;"),2);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 0,2},new 
Method("Landroid/widget/RelativeLayout;","addView",new String[]{ 
"Landroid/view/View;"},"V"));
code.visitFieldStmt(OP_IGET,0,5,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdActionHandler;","b","Ljava/util/HashMap;"),2);
code.visitMethodStmt(OP_INVOKE_VIRTUAL,new int[]{ 0,7,2},new 
Method("Ljava/util/HashMap;","put",new String[]{ 
"Ljava/lang/Object;","Ljava/lang/Object;"},"Ljava/lang/Object;"));
code.visitMethodStmt(OP_INVOKE_DIRECT,new int[]{ 5,2},new 
Method("Lcom/wqluhhadftsfkwivxpl/AdActionHandler;","D",new String[]{ 
"Lcom/wqluhhadftsfkwivxpl/AdPlayer;"},"V"));
code.visitReturnStmt(OP_RETURN,2,2);
code.visitLabel(L0);
code.visitFieldStmt(OP_IGET,3,1,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdController$Dimensions;","d","I"),0);
code.visitFieldStmt(OP_IGET,4,1,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdController$Dimensions;","A","I"),0);
code.visitMethodStmt(OP_INVOKE_DIRECT,new int[]{ 0,3,4},new 
Method("Landroid/widget/RelativeLayout$LayoutParams;","<init>",new String[]{ 
"I","I"},"V"));
code.visitFieldStmt(OP_IGET,3,1,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdController$Dimensions;","D","I"),0);
code.visitFieldStmt(OP_IPUT,3,0,new 
Field("Landroid/widget/RelativeLayout$LayoutParams;","topMargin","I"),0);
code.visitFieldStmt(OP_IGET,1,1,new 
Field("Lcom/wqluhhadftsfkwivxpl/AdController$Dimensions;","b","I"),0);
code.visitFieldStmt(OP_IPUT,1,0,new 
Field("Landroid/widget/RelativeLayout$LayoutParams;","leftMargin","I"),0);
code.visitMoveStmt(OP_MOVE,1,0,2);
code.visitMoveStmt(OP_MOVE,0,2,2);
code.visitJumpStmt(OP_GOTO,L1);
code.visitEnd();
mv.visitEnd();

Original issue reported on code.google.com by raj...@gmail.com on 28 Jan 2015 at 7:35