wjwjx123456 2013-09-10 09:28 采纳率: 0%
浏览 1780

android client使用 apache 第三方远程访问包TelnetClient,一直出错请众大神帮帮忙

error:
dalvikvm Could not find class 'org.apache.commons.net.telnet.TelnetClient',

referenced from method com.test.telnet.TelnetUtil.
AndroidRuntime FATAL EXCEPTION: Thread-1263
AndroidRuntime java.lang.NoClassDefFoundError:

org.apache.commons.net.telnet.TelnetClient
AndroidRuntime at com.test.telnet.TelnetUtil.(TelnetUtil.java:9)
AndroidRuntime at com.test.main.MainActivity$2.run(MainActivity.java:46)
AndroidRuntime at java.lang.Thread.run(Thread.java:841)

source:
package com.test.telnet;

import java.io.InputStream;
import java.io.PrintStream;
import org.apache.commons.net.telnet.TelnetClient;

public class TelnetUtil {

private TelnetClient telnet = new TelnetClient();

private InputStream in;  

private PrintStream out; 

private String port;

private String ip;

public TelnetUtil(String ip, String port){

    this.ip=ip;

    this.port=port;

}

 /** 
 * @return boolean 连接成功返回true,否则返回false 
 */  

public boolean connect() {  

    boolean isConnect = true;  

    try { 

        telnet.connect(ip, Integer.parseInt(port));  

        in = telnet.getInputStream();  

        out = new PrintStream(telnet.getOutputStream());  

    } catch (Exception e) {  

        isConnect = false;  

        e.printStackTrace();  

        return isConnect;  

    }

    return isConnect;  
}  

protected void disconnect() { 

    try {  

        telnet.disconnect();  

    } catch (Exception e) {

        e.printStackTrace();  

    }  

}  

public String readUtil() { 

    try {  

        StringBuffer sb = new StringBuffer();  

        char ch=0;

        while (true) {  

            ch = (char) in.read();

            sb.append(ch);

            if(sb.length()>=512){  //----buffer size = 512*2 byte = 1 kB---
                                   //synchronized block  
                return sb.toString();

            }
        }  

    } catch (Exception e) {  

        e.printStackTrace();  

    } 

    return null;  

}  

private void write(String value) { 

    try {  

        out.println(value);

        out.flush();  

    } catch (Exception e) { 

        e.printStackTrace(); 

    }  

}  

/**
 * 向服务器发送命令
 * @param string
 */

public String sendCommand(String command) {  

    try {  

        write(command);

    } catch (Exception e) {

        e.printStackTrace();

    }  

    return null;  

}  

}

线程内调用:

TelnetUtil tu = new TelnetUtil("218.56.40.136","1602");
tu.connect();
tu.sendCommand("client");
res=tu.readUtil();

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-31 07:25
    关注

    您的错误消息表明您的Android应用程序找不到类"org.apache.commons.net.telnet.TelnetClient"。该类是TelnetClient的主类,因此它需要在编译您的应用程序时可用。


    检查您的项目中是否已添加org.apache.commons.net包。如果没有,请使用maven或其他方法将其添加到您的项目中。

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名