Netty 3.4.1.Final不适用于Android

时间:2012-04-25 08:17:58

标签: netty

昨天我尝试从3.3.2.Final-SNAPSHOT升级到最新版本。但是,由于以下错误,它在Android上失败:

  • / AndroidRuntime(720):FATAL EXCEPTION:main E / AndroidRuntime(720):java.lang.NoClassDefFoundError:java.util.concurrent.LinkedTransferQueue E / AndroidRuntime(720):at org.jboss.netty.util.internal.QueueFactory.createQueue(QueueFactory.java:48)

事实证明,在Android(这是2.3)上,由于Deflater类包含字段SYNC_FLUSH,因此DetecationUtil.javaVersion()返回7。以下是所有字段Deflater.getDeclaredFields()。

04-25 08:08:51.305:I / System.out(25674):[public static final int java.util.zip.Deflater.BEST_COMPRESSION,public static final int java.util.zip.Deflater.BEST_SPEED, public static final int java.util.zip.Deflater.DEFAULT_COMPRESSION,public static final int java.util.zip.Deflater.DEFAULT_STRATEGY,public static final int java.util.zip.Deflater.DEFLATED,public static final int java.util。 zip.Deflater.FILTERED,private static final int java.util.zip.Deflater.FINISH,public static final int java.util.zip.Deflater.FULL_FLUSH,public static final int java.util.zip.Deflater.HUFFMAN_ONLY,public static final int java.util.zip.Deflater.NO_COMPRESSION,public static final int java.util.zip.Deflater.NO_FLUSH,private static final [B java.util.zip.Deflater.STUB_INPUT_BUFFER,public static final int java.util.zip .Deflater.SYNC_FLUSH,private [B java.util.zip.Deflater.inputBuffer,private boolean java.util.zip.Deflater.finished,private long java.util.zip.Deflater.streamHandle,private int java。 util.zip.Deflater.inLength,private int java.util.zip.Deflater.inRead,private int java.util.zip.Deflater.compressLevel,private int java.util.zip.Deflater.strategy,private int java.util。 zip.Deflater.flushParm]

有没有其他方法可以解决这个问题,以便它可以在Android平台上运行?我没有调查过(但......)。如果android是一个应该支持的平台,也许我们也可以检查特定于Android的类?

这样的东西可以添加到DetectionUtil中的int javaVersion0():

try {
        Class.forName("android.app.Application");
        return 5;
    } catch (ClassNotFoundException e) {
        //Ignore
    }

亲切的问候/约翰拉斯克

1 个答案:

答案 0 :(得分:2)

请在netty的问题跟踪器中打开一个问题。我将确保在下一个应该在下周发布的版本中处理它。

请参阅问题跟踪器[1]。

[1] https://github.com/netty/netty/issues