Ich versuche, etwas von diesem einfachen Beispiel zu machen:Einfache SSH Verbindung mit JSch
SSH, execute remote commands with Android
Ich will nur sehen, wenn ich von meinem Android-Handy auf einem Linux-Server mit SSH eine Verbindung herstellen können, aber es doesn ‚t Arbeit ...
Hier ist mein Haupt-Code:
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());
}
}
}
Was habe ich falsch gemacht? Ich habe keine Fehlermeldungen und ich sehe keine SSH-Verbindung auf meinem Linux. Ich habe die Bibliotheken jsch und jzlib hinzugefügt. Ich habe kein Problem mit einer Putty-Session zu verbinden.
EDIT1: Tatsächlich fand ich einen Fehler, der erklärt, warum es nicht funktioniert, selbst wenn ich nicht weiß, wie man das Problem löst. Der Fehler ist:
android.os.NetworkOnMainThreadException
so scheint es, zu verstehen, dass der App nicht einen Netzwerkbetrieb auf seinem Haupt-Thread ausführen kann ...
Vielen Dank ! Ich werde deine Lösung versuchen. – Pozinux