pxb1988 / dex2jar

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

java.lang.RuntimeException: can not merge L and F #114

Open rightm opened 7 years ago

rightm commented 7 years ago

linux CentOS release 6.6 (Final) jdk java version "1.7.0_07" dex2jar

m-0.txt Lcom/baidu/tbadk/core/util/c;.a(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap; java.lang.RuntimeException: can not merge L and F at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.copyTypes(TypeTransformer.java:311) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.fixTypes(TypeTransformer.java:226) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:207) at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

.method public static a(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap; .catchall { :L5 .. :L8 } :L7 .registers 10 const/4 v0, 0 const/high16 v6, 16384 if-lez p1, :L0 if-ltz p2, :L0 if-eqz p0, :L0 invoke-virtual { p0 }, Landroid/graphics/Bitmap;->isRecycled()Z move-result v1 if-eqz v1, :L2 :L0 move-object p0, v0 Lcom/baidu/tbadk/core/util/c;.a(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap; java.lang.RuntimeException: can not merge L and F at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.copyTypes(TypeTransformer.java:311) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.fixTypes(TypeTransformer.java:226) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:207) at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32) .... at com.alibaba.dubbo.common.bytecode.Wrapper23.invokeMethod(Wrapper23.java) at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) Lcom/baidu/tbadk/core/util/c;.a(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap; java.lang.RuntimeException: can not merge L and F at com.googlecode.dex2jar.ir.TypeClass.merge(TypeClass.java:100) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeRef.updateTypeClass(TypeTransformer.java:174) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.copyTypes(TypeTransformer.java:311) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.fixTypes(TypeTransformer.java:226) at com.googlecode.dex2jar.ir.ts.TypeTransformer$TypeAnalyze.analyze(TypeTransformer.java:207) at com.googlecode.dex2jar.ir.ts.TypeTransformer.transform(TypeTransformer.java:44) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:162) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

    at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:288)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:242)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:229)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at com.alibaba.dubbo.rpc.protocol.rest.DubboHttpServer$RestHandler.handle(DubboHttpServer.java:86)
    at com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet.service(DispatcherServlet.java:64)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
rightm commented 7 years ago

summary.txt There are 1 methods fail to translate. 2017-04-25 21:54:16 UTC version: [dex-reader-2.0, dex-reader-api-2.0, dex-ir-2.0, d2j-smali-2.0, d2j-base-cmd-2.0, dex-tools-2.0, dex-translator-2.0] cmdline: [/home/zhanghua03/dubbo/tmp/9c595a1c-023d-4125-a781-35ad37c305d7/classes.dex, -o, /home/zhanghua03/dubbo/tmp/9c595a1c-023d-4125-a781-35ad37c305d7/classes.jar] env: java.runtime.name: Java(TM) SE Runtime Environment java.vm.version: 23.3-b01 java.vm.vendor: Oracle Corporation java.vendor.url: http://java.oracle.com/ java.vm.name: Java HotSpot(TM) Client VM java.util.logging.config.file: /home/zhanghua03/apache-tomcat-7.0.32/conf/logging.properties java.vm.specification.name: Java Virtual Machine Specification java.runtime.version: 1.7.0_07-b10 java.awt.graphicsenv: sun.awt.X11GraphicsEnvironment java.endorsed.dirs: /home/zhanghua03/apache-tomcat-7.0.32/endorsed java.io.tmpdir: /home/zhanghua03/apache-tomcat-7.0.32/temp java.vm.specification.vendor: Oracle Corporation java.util.logging.manager: org.apache.juli.ClassLoaderLogManager java.naming.factory.url.pkgs: org.apache.naming java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib java.specification.name: Java Platform API Specification java.class.version: 51.0 java.awt.printerjob: sun.print.PSPrinterJob java.specification.version: 1.7 java.class.path: /home/zhanghua03/apache-tomcat-7.0.32/bin/bootstrap.jar:/home/zhanghua03/apache-tomcat-7.0.32/bin/tomcat-juli.jar java.naming.factory.initial: org.apache.naming.java.javaURLContextFactory java.vm.specification.version: 1.7 java.home: /usr/local/jdk7/jre java.specification.vendor: Oracle Corporation java.vm.info: mixed mode java.version: 1.7.0_07 java.ext.dirs: /usr/local/jdk7/jre/lib/ext:/usr/java/packages/lib/ext java.vendor: Oracle Corporation java.vendor.url.bug: http://bugreport.sun.com/bugreport/

rightm commented 7 years ago

i just use the jar files as my lib in a javaweb application public static void main(String[] args) { String[] params = new String[3] ; String dexFilePath = "G:\deleted\apktool\aaa" ; String out = "G:\deleted\apktool\aaa\classes.jar" ; params[0] = dexFilePath+File.separatorChar+dexSuffix ; params[1] = "-o"; params[2] = out;

    System.out.println( params[0] );
    Dex2jarCmd.main(params);

}