pxb1988 / dex2jar

Tools to work with android .dex and java .class files
Apache License 2.0
12.2k stars 2.1k forks source link

Error #357

Open dfvips opened 4 years ago

dfvips commented 4 years ago

This file is generated by dex2jar

Please report this file to one of following link if possible (any one). https://sourceforge.net/p/dex2jar/tickets/ https://bitbucket.org/pxb1988/dex2jar/issues https://github.com/pxb1988/dex2jar/issues dex2jar@googlegroups.com

There are 2 methods fail to translate. 2020-04-14 09:20:01 UTC version: [dex-reader-2.1-SNAPSHOT, dex-reader-api-2.1-SNAPSHOT, dex-ir-2.1-SNAPSHOT, d2j-smali-2.1-SNAPSHOT, d2j-base-cmd-2.1-SNAPSHOT, dex-tools-2.1-SNAPSHOT, dex-translator-2.1-SNAPSHOT] cmdline: [C:\Users\dreanfly\Desktop\dex-tools-2.1-SNAPSHOT\classes3.dex] env: java.runtime.name: Java(TM) SE Runtime Environment java.vm.version: 25.161-b12 java.vm.vendor: Oracle Corporation java.vendor.url: http://java.oracle.com/ java.vm.name: Java HotSpot(TM) 64-Bit Server VM java.vm.specification.name: Java Virtual Machine Specification java.runtime.version: 1.8.0_161-b12 java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment java.endorsed.dirs: E:\JAVA\JDK\jre\lib\endorsed java.io.tmpdir: C:\Users\dreamfly\AppData\Local\Temp\ java.vm.specification.vendor: Oracle Corporation java.library.path: E:\JAVA\JDK\bin;. java.specification.name: Java Platform API Specification java.class.version: 52.0 java.awt.printerjob: sun.awt.windows.WPrinterJob java.specification.version: 1.8 java.vm.specification.version: 1.8 java.home: E:\JAVA\JDK\jre java.specification.vendor: Oracle Corporation java.vm.info: mixed mode java.version: 1.8.0_161 java.ext.dirs: E:\JAVA\JDK\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext java.vendor: Oracle Corporation java.vendor.url.bug: http://bugreport.sun.com/bugreport/

================= 0 =================== Landroid/widget/RemoteViews$ViewContentNavigation;.apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V java.lang.ClassCastException: com.googlecode.dex2jar.ir.expr.InvokePolymorphicExpr cannot be cast to com.googlecode.dex2jar.ir.expr.InvokeExpr at com.googlecode.dex2jar.ir.ts.NewTransformer.findInvokeExpr(NewTransformer.java:361) at com.googlecode.dex2jar.ir.ts.NewTransformer.replaceAST(NewTransformer.java:98) at com.googlecode.dex2jar.ir.ts.NewTransformer.transform(NewTransformer.java:68) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:150) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:442) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:40) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:132) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:575) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:434) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:450) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:175) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:275) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:112) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V .catchall { :L0 .. :L3 } :L4 .registers 9 iget v0, p0, Landroid/widget/RemoteViews$ViewContentNavigation;->viewId:I invoke-virtual { p1, v0 }, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 if-nez v0, :L0 return-void :L0 iget-object v1, p0, Landroid/widget/RemoteViews$ViewContentNavigation;->this$0:Landroid/widget/RemoteViews; iget-boolean v2, p0, Landroid/widget/RemoteViews$ViewContentNavigation;->mNext:Z if-eqz v2, :L1 const-string/jumbo v2, "showNext" goto :L2 :L1 const-string/jumbo v2, "showPrevious" :L2 const/4 v3, 0 const/4 v4, 0 invoke-static { v1, v0, v2, v3, v4 }, Landroid/widget/RemoteViews;->access$700(Landroid/widget/RemoteViews;Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle; move-result-object v1 invoke-polymorphic { v1, v0 }, Ljava/lang/invoke/MethodHandle;->invoke([Ljava/lang/Object;)Ljava/lang/Object;, (Landroid/view/View;)V :L3 nop return-void :L4 move-exception v1 new-instance v2, Landroid/widget/RemoteViews$ActionException; invoke-direct { v2, v1 }, Landroid/widget/RemoteViews$ActionException;->(Ljava/lang/Throwable;)V throw v2 .end method

================= 1 =================== Landroid/widget/RemoteViews$ReflectionAction;.apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V java.lang.ClassCastException: com.googlecode.dex2jar.ir.expr.InvokePolymorphicExpr cannot be cast to com.googlecode.dex2jar.ir.expr.InvokeExpr at com.googlecode.dex2jar.ir.ts.NewTransformer.findInvokeExpr(NewTransformer.java:361) at com.googlecode.dex2jar.ir.ts.NewTransformer.replaceAST(NewTransformer.java:98) at com.googlecode.dex2jar.ir.ts.NewTransformer.transform(NewTransformer.java:68) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:150) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:442) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:40) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:132) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:575) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:434) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:450) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:175) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:275) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:112) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:290) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:33)

.method public apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V .catchall { :L1 .. :L2 } :L3 .registers 9 iget v0, p0, Landroid/widget/RemoteViews$ReflectionAction;->viewId:I invoke-virtual { p1, v0 }, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 if-nez v0, :L0 return-void :L0 invoke-direct { p0 }, Landroid/widget/RemoteViews$ReflectionAction;->getParameterType()Ljava/lang/Class; move-result-object v1 if-eqz v1, :L4 :L1 iget-object v2, p0, Landroid/widget/RemoteViews$ReflectionAction;->this$0:Landroid/widget/RemoteViews; iget-object v3, p0, Landroid/widget/RemoteViews$ReflectionAction;->methodName:Ljava/lang/String; const/4 v4, 0 invoke-static { v2, v0, v3, v1, v4 }, Landroid/widget/RemoteViews;->access$700(Landroid/widget/RemoteViews;Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle; move-result-object v2 iget-object v3, p0, Landroid/widget/RemoteViews$ReflectionAction;->value:Ljava/lang/Object; invoke-polymorphic { v2, v0, v3 }, Ljava/lang/invoke/MethodHandle;->invoke([Ljava/lang/Object;)Ljava/lang/Object;, (Landroid/view/View;Ljava/lang/Object;)V :L2 nop return-void :L3 move-exception v2 new-instance v3, Landroid/widget/RemoteViews$ActionException; invoke-direct { v3, v2 }, Landroid/widget/RemoteViews$ActionException;->(Ljava/lang/Throwable;)V throw v3 :L4 new-instance v2, Landroid/widget/RemoteViews$ActionException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct { v3 }, Ljava/lang/StringBuilder;->()V const-string v4, "bad type: " invoke-virtual { v3, v4 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v4, p0, Landroid/widget/RemoteViews$ReflectionAction;->type:I invoke-virtual { v3, v4 }, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual { v3 }, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct { v2, v3 }, Landroid/widget/RemoteViews$ActionException;->(Ljava/lang/String;)V throw v2 .end method

nick-botticelli commented 3 years ago

Duplicate; see #311 for my comment for more information about a fix for this issue.