android手机端与PC端使用adb forword通信
发布时间 - 2026-01-11 00:45:41 点击率:次PC端与Android手机端使用adb forword通信

服务器端代码如下:
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Server {
public static final String TAG = "server";
public static int PC_LOCAL_PORT = 22222;
public static int PHONE_PORT = 22222;
public static String ADB_PATH = "adb.exe";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
YingyonghuiHubServer.execAdb();
}
public static void execAdb() {
// run the adb bridge
try {
Process p = Runtime.getRuntime().exec(
ADB_PATH + " forward tcp:" + PC_LOCAL_PORT + " tcp:"
+ String.valueOf(PHONE_PORT));
Scanner sc = new Scanner(p.getErrorStream());
// If there is some output, it failed to start adb
if (sc.hasNext()) {
while (sc.hasNext())
System.out.println(sc.next());
System.err.println("Cannot start the Android debug bridge");
return;
}
initializeConnection();
} catch (Exception e) {
System.err.println(e.toString());
}
}
static Socket socket;
public static void initializeConnection() {
// Create socket connection
try {
socket = new Socket("localhost", PC_LOCAL_PORT);
ObjectOutputStream oos = new ObjectOutputStream(
socket.getOutputStream());
oos.writeObject("lalala");
oos.close();
socket.close();
} catch (UnknownHostException e) {
System.err.println("Socket connection problem (Unknown host)"
+ e.getStackTrace());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Could not initialize I/O on socket");
e.printStackTrace();
}
}
}
客户端代码如下:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
public class Client extends Activity {
public static final String TAG = "client";
public static int PHONE_PORT = 22222;
Context mContext = null;
TextView textView = null;
ServerSocket server = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.mContext = this;
this.textView = (TextView) this.findViewById(R.id.textView1);
try {
server = new ServerSocket(PHONE_PORT);
} catch (IOException e) {
e.printStackTrace();
return;
}
new RepackTestTask().execute();
}
private class RepackTestTask extends AsyncTask {
@Override
protected Object doInBackground(Object... params) {
Socket client = null;
// initialize server socket
while (true) {
try {
// attempt to accept a connection
client = server.accept();
Log.d(TAG, "Get a connection from "
+ client.getRemoteSocketAddress().toString());
ObjectInputStream ois = new ObjectInputStream(
client.getInputStream());
String somewords = (String) ois.readObject();
Log.d(TAG, "Get some words" + somewords);
this.publishProgress(somewords);
client.close();
} catch (IOException e) {
Log.e(TAG, "" + e);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
protected void onProgressUpdate(Object... values) {
super.onProgressUpdate(values);
Toast.makeText(mContext, values[0].toString(), Toast.LENGTH_LONG)
.show();
}
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# adb
# forword通信
# forword实现手机和PC通信
# Android自定义PasswordInputView密码输入
# Android NDK开发简单程序分享(Hello Word!)
# Android webview转PDF的方法示例
# Android实现pdf在线预览或本地预览的方法
# Android 下载并打开PDF
# Doc
# Dwg文档实例
# Android使用模板生成支持手机直接查看的Word文档
# 希望能
# 谢谢大家
# 客户端
# Runtime
# bridge
# Process
# getRuntime
# valueOf
# tcp
# exec
# run
# Auto
# generated
# main
# TODO
# YingyonghuiHubServer
# execAdb
# method
# stub
# sc
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel PHP版本要求一览_Laravel各版本环境要求对照
香港服务器如何优化才能显著提升网站加载速度?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Android中AutoCompleteTextView自动提示
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
如何用好域名打造高点击率的自主建站?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
如何快速搭建高效简练网站?
香港服务器部署网站为何提示未备案?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
免费视频制作网站,更新又快又好的免费电影网站?
在centOS 7安装mysql 5.7的详细教程
Android自定义listview布局实现上拉加载下拉刷新功能
如何在建站之星网店版论坛获取技术支持?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
Laravel如何优化应用性能?(缓存和优化命令)
PHP 500报错的快速解决方法
海南网站制作公司有哪些,海口网是哪家的?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
黑客如何利用漏洞与弱口令入侵网站服务器?
打造顶配客厅影院,这份100寸电视推荐名单请查收
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel怎么调用外部API_Laravel Http Client客户端使用
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何快速查询网站的真实建站时间?
java获取注册ip实例
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何在IIS7中新建站点?详细步骤解析
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
如何在企业微信快速生成手机电脑官网?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何快速使用云服务器搭建个人网站?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
如何基于云服务器快速搭建个人网站?
如何挑选最适合建站的高性能VPS主机?
长沙做网站要多少钱,长沙国安网络怎么样?
如何获取免费开源的自助建站系统源码?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel安装步骤详细教程_Laravel环境搭建指南

