Android Framework小知识

33 阅读1分钟

Android Framework小知识

1.

c语言中输入命令并可以得到打印

int cmd_system(const char* command,char *out)
{
    char* result = "";
    FILE *fpRead;
    fpRead = popen(command, "r");
    char buf[128];
    memset(buf,'\0',sizeof(buf));
    while(fgets(buf,128-1,fpRead)!=NULL)
    {
       memcpy(out,buf,128);
    }
    if(fpRead!=NULL)
        pclose(fpRead);
    return 0;
}
//获取温度节点
cmd_system("cat sys/devices/platform/pinctrl/mt_gpio | grep 028",command);
result = command[7] - '0';

2.

自己写一个rc文件启动一个服务

service wkkinit /vendor/bin/wkk.sh
    class core
    user root
    group shell log readproc
    oneshot
    writepid /dev/stune/foreground/tasks
    seclabel u:r:vold:s0

在mk文件中加入或者直接拷贝到etc/init底下

LOCAL_INIT_RC := wkk.rc
PRODUCT_COPY_FILES += \
    vendor/wkk/common/***/init_wkk.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init_wkk.rc

3.

adb查找app并启动activity:pm list package

dumpsys package 包名

am start -n com.maxhub.screenshare.server.tv/com.maxhub.screenshare.server.ui.TVMainActivity

持续更新。。。。