首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

基于goldfish跟android2.3.5学习之:开天辟地Android启动机制[二]

2012-09-15 
基于goldfish和android2.3.5学习之:开天辟地Android启动机制[二]***************************************

基于goldfish和android2.3.5学习之:开天辟地Android启动机制[二]

***************************************************************************************************************************
作者:EasyWave                                                                                 时间:2012.07.29

类别:Android系统源码分析                                                              声明:转载,请保留链接

注意:如有错误,欢迎指正。这些是我学习的日志文章......

***************************************************************************************************************************

在我的博文基于goldfish和android2.3.5学习之:开天辟地Android启动机制[一]中,介绍了整个android系统的启动机制,这次将更深入的详细分析android的uevent的机制以及如何android是如何透过内核传递过来的数据通过uevent建立设备节点以及一些hotplug事件。在Andorid2.3.5源码system/core/init.c函数中ueventd_main()函数。详细的代码如下:

int add_dev_perms(const char *name, const char *attr,                  mode_t perm, unsigned int uid, unsigned int gid,                  unsigned short prefix) {    struct perm_node *node = calloc(1, sizeof(*node));    if (!node)        return -ENOMEM;    node->dp.name = strdup(name);    if (!node->dp.name)        return -ENOMEM;    if (attr) {        node->dp.attr = strdup(attr);        if (!node->dp.attr)            return -ENOMEM;    }    node->dp.perm = perm;    node->dp.uid = uid;    node->dp.gid = gid;    node->dp.prefix = prefix;    if (attr)        list_add_tail(&sys_perms, &node->plist);    else        list_add_tail(&dev_perms, &node->plist);    return 0;}

还未完,具体的分析在《基于goldfish和android2.3.5学习之:开天辟地Android启动机制[三]》 来分析。。。。



热点排行