Dongle烧写模块重构(八)--添加自测模块方便根据通信协议进行自测试

来源:互联网 发布:in照片软件 编辑:程序博客网 时间:2024/06/07 13:15

在Android native层的应用程序,当前已知的操作方式有如下:

1.通过终端输入参数来进行,这种方式适合与通过终端adb去操作,也可以通过脚本利用系统指令进行操作:

 ./android_peripheral_assist -r

2.将软件做成一个service,然后利用socket通信和上层APP或者其他C++应用程序通信,这种方式最好提供一个通信的接口


公司的大型软件除了通过接口来实现解耦和合作外,通常还通过定义协议来组织不同的软件模块,因此为了方便,上述两种方式都要支持,要能够提供自测模块便捷地对自身进行测试。

这里可以用到getopt这个命令:

详细见(搜索还是要用google(用不了的用http://www.jwss.com/,这个搜索引擎可以保留下来),百度搜不到这个,唉):

http://www.gnu.org/software/libc/manual/html_node/Getopt.html

这样的话,软件内部实现一个自测模块,就可以利用终端来进行调试了!(这里用moduleTest函数将命令传递给自测模块,其实就是将命令给到实际运行时的命令接受接口)

比如:

static int checkArgs(int argc, char * argv []) {    int opt;int dongle_opt = TYPE_DONGLE_ERROR;    while ((opt = getopt(argc, argv, "ihsutrc:")) != -1) {        switch (opt) {          case 'c':{printf("\ncheck the pro,c:'%s'\n",optarg);moduleTest(optarg);break;}            default: {                break;            }        }    }    return dongle_opt;}int main(int argc, char *argv[]){char buffer[22];memset(buffer,0,sizeof(buffer));int __args = checkArgs(argc,argv);printf("__args=%d\n",__args);LOGE("pro AndroidPeripheralAssist start begin ...\n");}


0 0
原创粉丝点击