안녕하세요.

개발환경은 Windows + SDK8 + Cygwin 입니다.
libBB.so 안에서 libAA.so 안의 함수를 부르고 싶은데 잘 안되네요.

Android.mk 안에서는...

#-----------------
LOCAL_PATH := $(call my-dir)

# shared lib AA
include $(CLEAR_VARS)
LOCAL_MODULE    := AA
LOCAL_SRC_FILES := AA.c
include $(BUILD_SHARED_LIBRARY)

# shared lib
include $(CLEAR_VARS)
LOCAL_MODULE    := BB
LOCAL_SRC_FILES := BB.c
LOCAL_SHARED_LIBRARIES := AA # 이 부분을 잘못한 게 아닌가 의심됩니다.
include $(BUILD_SHARED_LIBRARY)
#-------------------

와 같이 썼습니다.
AA는 순수한 C 헤더와 함수이고, BB는 JNI 헤더 및 함수입니다.
BB 안에서 #include "AA.h" 를 하고 AA_func() 를 호출합니다.

ndk-build로 일단 두 so 파일 생성하는 건 됩니다만, 생성 자체가 잘 된건지는 모르겠네요.
잘못한거 같다고 의심된다고 한 부분이, 샘플코드의 two-libs를 살짝 고친 것인데,
two-libs 는 AA를 static로 하더군요. 근데 저는 여건상 AA, BB 둘 다 shared 로 해야합니다.
AA를 호출하는 shared 라이브러리 CC(역시 JNI)를 나중에 만들어 붙이도록 설계되어 있어서요...
즉 한 어플 내에서 jni BB와 jni CC가 동시에 순수c AA를 호출하는데, CC는 당장 붙지 않고 추후에 붙습니다.

감사합니다.

--- 추가합니다 ---

ndk-build 를 하면 so 파일 두개가 생기고 자동으로 프로젝트 폴더로 복사도 됩니다.
새로고침 하여서, 프로젝트상에 so 파일 두개가 모두 뜬 것도 확인했습니다만...
LogCat 다음과 같은 경고가 뜨고
08-10 05:18:10.645: INFO/dalvikvm(446): Unable to dlopen(/data/data/com.xxx.xxx/lib/libBB.so): Cannot load library: link_image[1995]: failed to link libBB.so
이제 뭔가 호출하면 바로 에러가 납니다.

다시 보니
libs
ㄴ armeabi
    ㄴ gdb.setup
    ㄴ gdbserver
    ㄴ libAA.so
    ㄴ libBB.so
obj
ㄴ local
    ㄴ armeabi
        ㄴ objs
         |  ㄴ AA
         |  ㄴ BB
        ㄴ libBB.so

와 같이 나타나네요.
폴더를 확인해보니 obj/local/armeabi 안에 libAA.so도 있는데, 프로젝트에 안뜹니다. ㅠㅠ