我已經對bluedroid代碼進行了修改。AOSP構建:如何跳過本地頭包括
我的代碼需要使用通常 semaphore.h中,其在位於:現在<aosp_root>/prebuilts/ndk/current/platforms/<platform>/<arch>/usr/include/semaphore.h
,在AOSP 6.0+ bluedroid駐留在<aosp_root>/system/bt/
在那裏,在一個標頭: <aosp_root>system/bt/osi/include/semaphore.h
在通常的AOSP構建中,如果我在我的代碼中留下了一個簡單的#include <semaphore.h>
,則會將osi頭部包含在內,這是不兼容的。有沒有辦法修改構建系統,以便ndk的頭被用於我的代碼?
我很高興地在我的代碼中包含了這個相對路徑,但<arch>
(可能是<platform>
)是編譯時變量,不應該被硬編碼。 workarround爲此也受歡迎作爲備用答案。
Link to osi's header
Link to bluedroid main make file