通过 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:我能够实现此要求并且我的应用程序 运行 已投入生产!
我想创建一个 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:我能够实现此要求并且我的应用程序 运行 已投入生产!