Jak połączyć dowolną bibliotekę w aplikacji ndk

Zten samouczek.

zobacz, że mam jedną wstępnie zbudowaną statyczną bibliotekę o nazwie asstackoverflow.a i mastackoverflow.h

teraz chcę użyć funkcji tej statycznej biblioteki w

ndk_demo.c // ten samouczek ma ten plik

za to w środkundk_demo.c dodałem

<code>#include 'stackoverflow.h'  
</code>

Edytować

<code>inside `android-ndk-r7c`
         |
        apps
         |
        ndk_demo
         |
     -----------------
     |               |
   project          Application.mk
     |
--------------------
|                   |
all other           |
folder             jni
                    |  
-------------------------------------------------------------------
  |               |                     |          |              |
ndk_demo.c      stackoverflow.h        lib    com_marakana       Android.mk
                                        |      _NativeLib.h
                                        |
                             --------------------
                             |                   |
                          Android.mk          libstackoverflow.a
</code>

TerazAplikacja.mk

<code>APP_PROJECT_PATH := $(call my-dir)/project
APP_MODULES      := ndk_demo stackover
</code>

Terazjni / Android.mk

<code>include $(call all-subdir-makefiles)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := ndk_demo
LOCAL_SRC_FILES := ndk_demo.c
LOCAL_STATIC_LIBRARIES := stackover
include $(BUILD_SHARED_LIBRARY)
</code>

terazjni / lib / Android.mk

<code>   LOCAL_PATH := $(call my-dir)
   include $(CLEAR_VARS)
   LOCAL_MODULE := stackover
   LOCAL_SRC_FILES := libstackoverflow.a
   include $(PREBUILT_STATIC_LIBRARY)
   LOCAL_PATH := $(call my-dir)
</code>

Teraz odandroid-ndk-r7c katalog, który uruchamiam

<code>make APP=ndk_demo
</code>

pokazuje mi błąd

<code>Android NDK: Building for application 'ndk_demo'    
make: *** No rule to make target `build/core/ndk_demo.c', needed by `out/apps/ndk_demo/armeabi/objs/ndk_demo/ndk_demo.o'.  Stop.
</code>

dlaczego to się nie dzieje?

jeśli komentuję

<code>#include $(call all-subdir-makefiles)
</code>

to odjni/Android.mk to pokazuje następujący błąd

<code>Android NDK: Building for application 'ndk_demo'    
Compile thumb  : ndk_demo <= ndk_demo.c
SharedLibrary  : libndk_demo.so
./out/apps/ndk_demo/armeabi/objs/ndk_demo/ndk_demo.o: In function `Java_com_marakana_NativeLib_hello':
/home/jeegar/android-ndk-r7c/apps/ndk_demo/project/jni/ndk_demo.c:10: undefined reference to `stackoverflowInit'
collect2: ld returned 1 exit status
make: *** [out/apps/ndk_demo/armeabi/libndk_demo.so] Error 1
</code>

questionAnswers(1)

yourAnswerToTheQuestion