Android Sensor Issues

[Compile]

1. LOCAL_PROPRIETARY_MODULE 宏引起的编译报错"(native:platform) should not link to libhubconnection (native:vendor)"
  • Situation
    今天在协助客户移植第三方 sensorhub HAL层代码时,遇到如下编译问题:
    vendor/{platform}/modules/sensors/libcwmsensorhub/Android.mk: error: sensors.nano (native:platform) should not link to libhubconnection (native:vendor)
  • Root Cause
    Android.mk 中写明会编译生成两个LOCAL_MODULE,第一个LOCAL_MODULE会依赖引用第二个LOCAL_MODULE。问题的关键来了,参照平台默认的 sensor HAL 代码的Android.mk,我对第一个LOCAL_MODULE新增了LOCAL_PROPRIETARY_MODULE := true 属性,而第二个LOCAL_MODULE没有这么做。LOCAL_PROPRIETARY_MODULE是Android vendor module 必须具有的属性,此属性声明将 vendor module放入vendor分区(vendor native),未声明该属性的module将放在system分区(platform native),且这两个分区是不能进行链接的,所以编译会报两个LOCAL_MODULE无法链接的错误。
    参考:LOCAL_PROPRIETARY_MODULE
  • Resolution
    将移植的vendor module中的Andorid.mk 中所有LOCAL_MODULE都加上LOCAL_PROPRIETARY_MODULE := true 属性。
发布了60 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xiaosaerjt/article/details/99325621