как включить готовые общие библиотеки в apk с помощью eclipse

У меня есть разделяемая библиотека libfoo.so и мне нужно использовать ее в моем приложении для android.

Моя первая попытка была в Android.mk:

include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.cpp
LOCAL_LDLIBS := -L$(PATH_TO_FOO) -lfoo
include $(BUILD_SHARED_LIBRARY)

в моей деятельности, у меня есть:

statis
{
    System.loadLibrary("foo");
}

Это собирает правильно, однако я заметил, что созданный apk не включает libfoo.so (также я вижу, что он не скопирован в libs/armeabi). Думаю, по этой причине у меня возникает UnsatisfiedLinkError при выполнении моего приложения.

Я видел в других сообщениях, что мне нужно добавить $(PREBUILD_SHARED_LIBRARY), поэтому я добавил следующее в Android.mk:

include $(CLEAR_VARS)
LOCAL_MODULE:= foo
LOCAL_SRC_FILES := $(FOO_PATH)/libfoo.so
include $(PREBUILD_SHARED_LIBRARY)

Но теперь я получаю ошибку сборки:

foo: LOCAL_SRC_FILES points to a missing file.

Я уверен, что путь правильный. Обратите внимание, что libfoo.so изначально имел номер версии в конце, хотя мне пришлось удалить его (и оставить только .so), так как ndk-build пожаловался.

Что я делаю не так?

7
задан Sasha Nikolic 28 October 2011 в 09:06
поделиться