我正在构建AOSP Kitkat(4.4)并尝试查找定义 libnfc-nci 模块的Android.mk文件。 libnfc_nci_jni 模块依赖于此本地共享库(下面包含Android.mk),我想查看生成此.so文件的源代码。我知道nfc.h存在于/hardware/libhardware/include/hardware/nfc.h中,但这只是标题。
据我所知,搜索android源代码的可用工具是cgrep,jgrep和resgrep。但是,据我所知,这些不会搜索Android.mk文件。是否有一个我可以用来查找包含模块 libnfc-nci 的目录的工具?
以下是libnfc_nci_jni的Android.mk(可在/packages/apps/Nfc/nci/jni/Android.mk找到)
VOB_COMPONENTS := external/libnfc-nci/src
NFA := $(VOB_COMPONENTS)/nfa
NFC := $(VOB_COMPONENTS)/nfc
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PRELINK_MODULE := false
ifneq ($(NCI_VERSION),)
LOCAL_CFLAGS += -DNCI_VERSION=$(NCI_VERSION) -O0 -g
endif
LOCAL_CFLAGS += -Wall -Wextra
define all-cpp-files-under
$(patsubst ./%,%, \
$(shell cd $(LOCAL_PATH) ; \
find $(1) -name "*.cpp" -and -not -name ".*") \
)
endef
LOCAL_SRC_FILES:= $(call all-cpp-files-under, .)
LOCAL_C_INCLUDES += \
bionic \
bionic/libstdc++ \
external/stlport/stlport \
external/libxml2/include \
external/icu4c/common \
frameworks/native/include \
libcore/include \
$(NFA)/include \
$(NFA)/brcm \
$(NFC)/include \
$(NFC)/brcm \
$(NFC)/int \
$(VOB_COMPONENTS)/hal/include \
$(VOB_COMPONENTS)/hal/int \
$(VOB_COMPONENTS)/include \
$(VOB_COMPONENTS)/gki/ulinux \
$(VOB_COMPONENTS)/gki/common
LOCAL_SHARED_LIBRARIES := \
libicuuc \
libnativehelper \
libcutils \
libutils \
liblog \
libnfc-nci \
libstlport
LOCAL_STATIC_LIBRARIES := libxml2
LOCAL_MODULE := libnfc_nci_jni
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
我正在运行Ubuntu 14.04
答案 0 :(得分:0)
在更多google搜索后,我在/ external / libnfc-nci中找到了libnfc-nci。似乎没有更好的工具来搜索aosp的模块而不是google(除非你自己编写脚本)。
正如Gabe Sechan所说,grep解决方案是可能的。这是我使用的命令,似乎可以解决这个问题(工作目录是AOSP的根目录)。
grep -inIEr "LOCAL_MODULE := libnfc-nci" .
答案 1 :(得分:0)
你应该尝试: godir libnfc-nci 如果有几个这样的目录,它应该给你选择