【问题标题】:Library in the Android source tree is not getting builtAndroid 源代码树中的库未构建
【发布时间】:2014-08-31 03:27:06
【问题描述】:

具体来说,我正在尝试构建 sensors.hammerhead.so,它位于 device/lge/hammerhead/libsensors/

我下载并编译了 4.4.2_r1 分支。
但是这个模块没有被构建(在 out/target/product/hammerhead/system/lib/hwsystem/vendor/lib/hw 下找不到它)

我尝试使用mmm device/lge/hammerhead/libsensors,但我得到:

make: `all_modules' 无事可做。


其他模块如lights.hammerhead.so (device/lge/hammerhead/liblight/) 或sensors.default.so (hardware/akm/AKM8975_FS/libsensors/) 工作mmm 很好。

【问题讨论】:

    标签: android build makefile android-source hal


    【解决方案1】:

    如果您查看 device/lge/hammerhead/libsensors/Android.mk,您会看到文件的全部内容都被排除在 ifeq (0,1) 条件下:

    ifeq (0,1)
    ifneq ($(TARGET_BUILD_PDK), true)
    LOCAL_PATH := $(call my-dir)
    ...
    endif
    endif
    

    使用git blame我们可以发现这个条件是在commit 4e858dde中添加的。我不知道为什么该模块被禁用,但您可以通过恢复所述提交 (git revert 4e858dde) 重新启用它。这是否会产生真正有效的东西是另一回事。通过浏览 git 的历史,您可能会发现更多线索。这个特殊的传感器经历了很长的一系列启用-禁用-启用-禁用提交。

    【讨论】:

    • 哦,我不知道我是怎么错过的!非常感谢,也感谢使用 git 的提示。顺便说一句,我还注意到 device/lge/hammerhead/device.mk 中的 PRODUCT_PACKAGES 中不包含“sensors.hammerhead”,这有关系吗?
    • 在 PRODUCT_PACKAGES 中包含或排除模块通常不会影响模块是否构建,但在考虑安装什么时显然会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多