微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 多网络和Linux代理的Android无线远程控制系统

多网络和Linux代理的Android无线远程控制系统

时间:02-02 来源:电子科技 点击:

通知会显示详细信息。

  接收文件:Socket后台接收文件,保存在/sdcard/download文件夹下,然后通过Agent命令执行copy命令,将文件复制到命令里面指定的路径下。文件名和保存路径通过报头获取。

  管理应用:安装应用分两步实现,第一步接收文件,第二步执行安装。第一步实现与上面所讲的接收文件相同,只是报文为"install‖n ame.apk"。默认保存到SD卡上的mnt/sdcard/apk路径下,然后,调用agent执行shell安装命令install mnt/sdeard/apk/name.apk。卸载应用时,直接执行接收到的命令uninstall packagename。启动应用时,通过Android系统接口Intent实现,停止和卸载都是通过被控终端上的Agent代理实现。"start‖appName"启动应用的时候,通过本地包管理获取到appName对应的包名packageName,新建一个Intent,启动包含该包的应用。代码如下:

  

  通过shell命令执行kill PID。PID是应用进程号,通过ActivityManager可以获取到。

  设备控制:可以通过命令例如"shell‖reboot"直接控制重启。

  3.4 Agent代理实现

  在编译系统内核的时候,将agent_server编入到路径/data/agentserver/agent_server下,用以接收命令。调用的时候,通过建立一个本地Socket,通过数据流发送shell命令到agent_setwer所在路径,实现通信。当agent_server接收到命令后,执行shell命令。

  4  测试结果

  设计的系统在ZTE U880手机上连接WiFi进行测试。图3为控制端界面,图4为控制端发送消息,图5为被控终端接收消息,图6为发送文件,图7为远程安装应用软件,图8为远程卸载应用软件,图9为shell命令界面。测试结果表明,系统能够实现发送消息、发送文件、安装和卸载应用,以及执行shell命令实现系统重启功能。

  

  

  结语

  本文设计了一个采用C/S模式实现的Android远程控制系统。控制端与被控终端之间采用Socket进行网络通信,在知道对方SIM卡号的情况下,也能通过GSM发送短信通信,能够实现多种网络的稳定通信。通过Linux代理能够实现root权限的操作,理论上可以实现对Android系统的完全远程控制。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top