2014-01-10 2 views
2

У меня есть два проекта. Выходной сигнал первого - libtest.so файл. Используя этот файл общих объектов во втором проекте, я хочу сгенерировать окончательный исполняемый файл андроида, AndroidExe.Как связать файл .so в android

Я создал libtest.so и его Android.mk приводится ниже

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_CFLAGS := -g 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE :=test 
LOCAL_SRC_FILES := test.c 
export LD_LIBRARY_PATH=/data/local/tmp 

include $(BUILD_SHARED_LIBRARY) 

Здесь проблема я столкнулся в том, что я не знаю, как связать это .so файл в моем окончательном исполняемом проекте. В этом финальном проекте я использую одну из функций (sum (a, b)), определенных в .so lib.While do build, показывая ошибку undefined ссылку на «sum». Файл Android.mk приведен ниже:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_CFLAGS := -g 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE :=AndroidExe 
LOCAL_SHARED_LIBRARIES := libtest.so 
LOCAL_SRC_FILES := AndroidExe.c 

include $(BUILD_EXECUTABLE) 

ответ

2

просто проверьте ndk documentation и попробуйте некоторые из samples.

+0

Извините ... я не нашел ни одного образца в каталоге ndk, который объясняет создание исполняемого файла. Все образцы предназначены для создания библиотек. – RHS

+0

Мой вопрос в том, как я могу вызывать функции, определенные в файле .so, используя исполняемый файл. – RHS

+0

Хорошо ... наконец-то я дойду до ответа .. спасибо всем .. – RHS

Смежные вопросы