Tôi có thư viện libfoo.so dùng chung và cần sử dụng nó trong ứng dụng android của mình.cách bao gồm các thư viện được chia sẻ sẵn trong apk với eclipse
thử đầu tiên của tôi là để có trong Android.mk:
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := test.cpp
LOCAL_LDLIBS := -L$(PATH_TO_FOO) -lfoo
include $(BUILD_SHARED_LIBRARY)
trong hoạt động của tôi, tôi có:
statis
{
System.loadLibrary("foo");
}
này được xây dựng một cách chính xác, tuy nhiên tôi nhận thấy rằng tạo apk doesnt bao gồm libfoo. vì vậy (tôi cũng thấy nó không được sao chép vào libs/armeabi). Tôi đoán vì lý do đó tôi có UnsatisfiedLinkError khi thực hiện ứng dụng của tôi.
tôi thấy trong một số bài viết khác mà tôi cần phải thêm $ (PREBUILD_SHARED_LIBRARY), vì vậy tôi thêm dòng sau vào Android.mk tôi:
include $(CLEAR_VARS)
LOCAL_MODULE:= foo
LOCAL_SRC_FILES := $(FOO_PATH)/libfoo.so
include $(PREBUILD_SHARED_LIBRARY)
Nhưng bây giờ tôi đang nhận được lỗi build:
foo: LOCAL_SRC_FILES points to a missing file.
Tôi chắc chắn rằng đường dẫn là chính xác. Lưu ý rằng libfoo.so đã có số phiên bản về mặt kỹ thuật ở cuối, mặc dù tôi đã phải loại bỏ nó (và chỉ để lại .so) kể từ khi ndk-build bị khiếu nại.
Tôi đang làm gì sai?
này không làm việc cho tôi (ADT22, Indigo, ndk-r9). Các lib bị xóa trên xây dựng. – WindRider