我已经看到了关于这个问题的几个问题,但它们适用于旧版本的Netty.
我已经尝试了他们的答案,用io.netty切换org.jboss.netty,但同样的错误发生了.
我正在尝试使用启用了Proguard的Netty 5.0.0Alpha2(build#16)编译一个Android应用程序.
没有Proguard,该应用程序运行良好.
一旦启用Proguard,我在尝试使用Netty时会遇到此异常:
java.lang.IllegalStateException: unknown type parameter 'I': class io.netty.channel.SimpleChannelInboundHandler
at io.netty.util.internal.TypeParameterMatcher.find0(Unknown Source)
at io.netty.util.internal.TypeParameterMatcher.find(Unknown Source)
at io.netty.channel.SimpleChannelInboundHandler.<init>(Unknown Source)
at io.netty.channel.SimpleChannelInboundHandler.<init>(Unknown Source)
...
Run Code Online (Sandbox Code Playgroud)
这是我的Proguard配置:
# billing
-keep class com.android.vending.billing.**
# butterknife
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector {
*;
}
-keepnames class * {
@butterknife.InjectView *;
}
# admob
-keep public class com.google.android.gms.ads.** {
public *;
}
-keep public class com.google.ads.** {
public *;
}
# logging
-assumenosideeffects class android.util.Log
# netty (partial)
-dontwarn io.netty.**
-dontwarn sun.**
Run Code Online (Sandbox Code Playgroud)
我已经在没有-dontwarn选项的情况下测试了它,看看警告是否会指向正确的方向,但是它们都缺少像slf4j和Tomcat这样的可选依赖项. …