1的问题, ldd还没开始看,暂不清楚2的问题, 也是蛮简单的,android对gsensor的HAL调用已经完成了,接口也定义好了,你只需实现就可以了。接口在 hardware/libhardware/include/hardware/sensors.h在 sdk/emulator/sensors/sensors_qemu.c 是模拟器用的假驱动的HAL,可以参考一下。至于HAL的写法和组织等,一句话讲不清楚,可以看 jollen的Android Framework &HAL 整合的ppt,网上搜一下,一大把的。

解决方案 »

  1.   

    第一个问题没看太懂 ,LZ说清楚一点了。
    设备文件结构里的platform_data是什么数据啊 ?
      

  2.   

    1.看起来是I2C找设备都没有找到,我用printk打印出来client的地址超级大的负数呢。
      

  3.   

    这看不出来不正常的啊, linux上用的都是虚拟地址,一般都是很大的数。地址要用十六进制打印。
    如果最低位不是4字节对齐的,肯定有问题, 否则都是正常的。
      

  4.   

    1.这个问题解决了。打印出来设备的名称是正确的。data为空是初始化没做好。
    2.我还是没跑通。在HAL层加了代码,但是好象没有和framework连通起来。
      从service层打log看,SuppressWarnings这个函数进来了,但是调用_sensors_control_init这个函数,没有能正确进入android_init。不清楚为什么?
      感觉路一直没走通