我正在尝试从这个简单的例子中做一些事情:
我只是想看看我是否可以使用 SSH 从我的 android 手机连接到 linux 服务器,但它不起作用......
这是我的主要代码:
package com.example.ssh;
import java.util.Properties;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try
{
JSch jsch = new JSch();
Session session = jsch.getSession("root","192.168.0.26", 22);
session.setPassword("xxxxx");
// Avoid asking for key confirmation
Properties prop = new Properties();
prop.put("StrictHostKeyChecking", "no");
session.setConfig(prop);
session.connect();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
我做错什么了 ?我没有错误消息,并且在我的 Linux 上看不到任何 SSH 连接。我添加了库 jsch 和 jzlib。我可以毫无问题地连接腻子会话。
EDIT1:事实上,我发现了一个错误,它解释了为什么即使我不知道如何解决问题它也不起作用。错误是:
android.os.NetworkOnMainThreadException
所以这似乎意味着该应用程序无法在其主线程上执行网络操作......