今天android 开源代码发布。 并在随后的博文里会对部分代码进行解析。
关于android manager 软件博文地址为:/acanoe/article/details/9044525
PC 端源码地址为:/acanoe/androidmanager
android 手机端源码地址为:/acanoe/phonemanager
项目主要涉猎的技术方向为:QT,Linux C, android SDK/NDK。
项目纵览:
主机主动发送请求TCP
1.数据通信命令、应答格式:
2.数据通信各字段说明:
通信协议描述:
每一帧数据需要以包头为起始点,客户端需要按接收的包头来校验数据,按数据命令CMD来解析数据包,目前数据包帧格式为:
#defineCMD_IMAGE1 // 图片数据包
#defineCMD_VIDEO2 // 视频数据包
#defineCMD_MUSIC3 // 音乐数据包
#defineCMD_APP4 // 应用数据包
#defineCMD_MMS5 // 短信数据包
#defineCMD_BOOK6 // 电话簿数据包
#defineCMD_STORAGE7 // 存储数据包
#defineCMD_SENDMESSAGE8 // 发送短信数据包
#defineCMD_CALLPHONE 9 // 打电话数据包
#defineCMD_ALL 10 // 所有数据总数据包
3.4软件流程
数据接收成功跳转到UI
软件开启
USB端口检测
发现android设备 有新版本安装
检测客户端应用版本
等待数据 无新版本,启动
加载UI界面
跳转到界面
数据接收失败post失败信号
进入正常数据访问流程
4.1.2.2NDK底层模块
AndoridndkAPI
publicstaticnativeintsetappinfo(intapppath,intappattribute,
Stringappname,Stringpackname,Stringappversion,Stringsize,intcount);
publicstaticnativevoidsetimageinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativevoidsetvideoinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativevoidsetmusicinfo(Stringname,Stringpath,
Stringsize,intcount);
publicstaticnativeintsetbookinfo(Stringname,Stringnumber,intcount);
publicstaticnativevoidsetmmsinfo(Stringname,Stringnumber,Stringdata,Stringtime,inttypeID,intcount);
publicstaticnativevoidsetstorageinfo(StringsdSize,StringsdAvail,StringmemorySize,StringmemoryAvail);
publicnativestaticvoidexitprograme();
publicstaticnativeStringgetmmsnumber();
publicstaticnativeStringgetmmsdata();
publicstaticnativevoidgotosend(intargv);
publicnativestaticvoidstartservice();
publicnativestaticvoidjnipthreadinit();
publicnativestaticvoidimageinfosend();
publicnativestaticintwhatyouwant();
publicnativestaticStringgetphonenumber();