这段时间一直在研究MINA框架~
下面是我在打签名包遇到如下问题~
E/org.a.a.a.f.n: class org.a.a.c.a.a.a must have a public constructor with one ExecutorService parameter, a public constructor with one Executor parameter or a public default constructor.
06-05 16:23:13.390 1408-1408/?
D/LongConnectService: 服务器启动异常...java.lang.IllegalArgumentException: class org.a.a.c.a.a.a must have a public constructor with one ExecutorService parameter, a public constructor with one Executor parameter or a public default constructor.
启动的代码~
/**
* 启动服务
*/
private void startService() {
IoAcceptor acceptor;
try {
// 创建一个非阻塞的server端的Socket
acceptor = new NioSocketAcceptor();
// 设置过滤器(使用mina提供的文本换行符编解码器)
DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
// acceptor.getFilterChain().addLast("decoder",
// new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"),
// LineDelimiter.WINDOWS.getValue(), LineDelimiter.WINDOWS.getValue())));
// 为接收器设置管理服务
acceptor.setHandler(new ServiceHandler());
acceptor.getFilterChain().addLast("encoder", new ProtocolCodecFilter(new FrameCodecFactory()));
// 自定义的编解码器
acceptor.getFilterChain().addLast("decoder", new ProtocolCodecFilter(new FrameCodecFactory()));
// 设置读取数据的换从区大小
acceptor.getSessionConfig().setReadBufferSize(2048);
// 读写通道10秒内无操作进入空闲状态
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 60);
// 绑定端口
acceptor.bind(new InetSocketAddress(Param.PORT));
Log.d(TAG, "服务器启动成功... 端口号未:" + Param.PORT);
mIStartConnectService.startConnect();
} catch (Exception e) {
Log.d(TAG, "服务器启动异常..." + e);
}
}
加了这两行混淆就能解决以上的问题~
-keep class org.slf4j.** {*;}
-keep class org.apache.mina.transport.** {*;}
以上是个人的解决方案~
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.youkuaiyun.com/qq_30483301/article/details/80583123