通过 Android Studio Android 到 Android 远程连接

Android to Android remote connection via Android Studio

我想创建一个 android 应用程序,它可以远程访问另一个 android 设备,还可以通过共享屏幕控制该设备。我和我的教授谈过这个,他说你不能这样做,除非你有你的设备。但我看到 Team Viewer Quick Support 在没有设备被 root 的情况下做同样的事情。他们是怎么做到的?

关于这个主题的文档很少。每个主题或教程都说 android 到桌面连接。我真的很困惑我应该从哪里开始。我尝试了 JSch,但它不起作用,并且给出的唯一文档(代码示例)不是针对 Android Studio 而是针对 Eclipse。

可以考虑。

您可以通过 JNI (Java Native Interface)C++C 与 java 一起使用。另请注意,您将需要一台服务器来建立计算机之间的连接。

就像 Teamviewer 使用端口 80 连接到中央服务器。一旦你 运行 Teamviewer 连接到他们的服务器,你就会得到一个唯一的 ID。可以分享给别人,让别人找到你的电脑,输入密码后授权远程连接你的电脑。

由于 Android Studio 自带 Java 和 Kotlin,您可以使用 Jsch 库与 Java 建立到远程 SSH 服务器的连接。这是示例代码:

Session session = null;
ChannelExec channel = null;

try {
    session = new JSch().getSession(username, host, port);
    session.setPassword(password);
    session.setConfig("StrictHostKeyChecking", "no");
    session.connect();
    
    channel = (ChannelExec) session.openChannel("exec");
    channel.setCommand(command);
    ByteArrayOutputStream responseStream = new ByteArrayOutputStream();
    channel.setOutputStream(responseStream);
    channel.connect();
    
    while (channel.isConnected()) {
        Thread.sleep(100);
    }
    
    String responseString = new String(responseStream.toByteArray());
    System.out.println(responseString);
} finally {
    if (session != null) {
        session.disconnect();
    }
    if (channel != null) {
        channel.disconnect();
    }
}

PS:我能够实现此要求并且我的应用程序 运行 已投入生产!