2016-04-12 8 views
0

Ich baue AOSP Kitkat (4.4) und versuche, die Android.mk Datei zu finden, die das libnfc-nci Modul definiert. Das Modul libnfc_nci_jni hängt von dieser lokalen gemeinsam genutzten Bibliothek ab (Android.mk ist unten enthalten) und ich möchte die Quelle sehen, die diese .so-Datei erzeugt. Ich weiß, dass die nfc.h in /hardware/libhardware/include/hardware/nfc.h existiert, aber das sind nur die Header.Wie finden Sie ein Android-Modul in AOSP namentlich?

Soweit ich weiß, sind die verfügbaren Tools für die Suche nach android Quellcode Cgrep, Jgrep und Resgrep. Jedoch (nach meinem Wissen) durchsuchen diese nicht Android.mk Dateien. Gibt es ein Tool, das ich vermisse, das ich verwenden kann, um das Verzeichnis zu finden, das das Modul libnfc-nci enthält?

Hier wird die Android.mk für libnfc_nci_jni

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) 

ich Ubuntu bin mit 14,04

+2

Wie wäre es nur grep? Das ist, was ich verwende, um Code zu suchen. –

+0

Das stimmt. Ich denke, ich suchte nach einer präziseren Lösung, da Grep auf dem AOSP-Baum eine Bibel mit Referenzen ausspuckt –

Antwort

0

Ich fand libnfc- (in /packages/apps/Nfc/nci/jni/Android.mk gefunden) nci in/external/libnfc-nci nach etwas mehr googeln. Es scheint, dass es kein besseres Werkzeug gibt, um aosp für ein Modul zu suchen als Google (es sei denn, Sie schreiben Ihr eigenes Skript).

Wie Gabe Sechan bemerkte, ist eine Grep-Lösung möglich. Hier ist der Befehl, den ich verwendet habe, der den Trick zu tun schien (Arbeitsverzeichnis ist die Wurzel von AOSP).

grep -inIEr "LOCAL_MODULE := libnfc-nci" . 
0

sollten Sie versuchen: godir libnfc-NCI Es sollte Ihnen Optionen für den Fall geben thete ae mehrere solcher Verzeichnisse