2012-04-04 38 views
7

Tôi đang mắc kẹt tại biên soạn curl với lỗi:Xây dựng với ndk JNI cho curl

$ndk-build 
Android NDK: Building for application 'curl' 
Android NDK: Trying to define local module 'curl' in sources/curl//jni/Android.mk. 
Android NDK: But this module was already defined by sources/curl//jni/Android.mk. 
build/core/build-module.mk:34: *** Android NDK: Aborting. . Stop. 

bất cứ ai có thể cung cấp các thủ tục bạn sử dụng để biên dịch phụ thuộc?

+0

Bạn có thể đăng Android.mk của mình (phần cho mô-đun curl) – Samveen

Trả lời

1

Tôi đã gặp lỗi tương tự khi cố gắng đưa thư viện tĩnh được biên dịch trước vào dự án NDK. Tôi đã sửa nó bằng cách chỉnh sửa tệp Android.mk của dự án của mình để di chuyển dòng $(call import-module,<MY_MODULE_NAME>) đến cuối tệp (sau include $(BUILD_SHARED_LIBRARY)).

+2

Cảm ơn bạn đã trợ giúp nhưng tôi không thể tìm thấy $ (call import-module, trong android.mk của tôi – Harshawardhan

0

Trong trường hợp của tôi, tôi đã thêm một thư viện chia sẻ rằng cần gnustl_shared, vì vậy tôi đã thêm nó vào tập tin Android.mk tôi:

include $(CLEAR_VARS) 
LOCAL_MODULE := libgnustl_shared 
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_STATIC_LIBRARY) 
LOCAL_SRC_FILES := $(LOCAL_PATH)/../../native_libs/$(TARGET_ARCH)/libgnustl_shared.so 
include $(PREBUILT_SHARED_LIBRARY) 

Cuộc xung đột tôi nhận được điều này:

Android NDK: Trying to define local module 'gnustl_shared' in jni/Android.mk. 
Android NDK: But this module was already defined by c:/android-ndk-r10d/sources/cxx-stl/gnu-libstdc++/Android.mk.

Lý do là vì Tôi đã sử dụng nó như một thư viện tĩnh. Đây là trong Application.mk:

APP_STL := gnustl_static

Giải pháp là để thay đổi nó để APP_STL := gnustl_shared, và sau đó để loại bỏ các phần LOCAL_MODULE := libgnustl_shared từ Android.mk.

0

Tôi gặp phải vấn đề tương tự vì tôi đã sử dụng lệnh sai.

trong Android.mk dir, tôi đã sử dụng "ndk-build -f Android.mk", điều này đã gây ra vấn đề
Android NDK: Trying to define local module 'SRC' in Android.mk.
Android NDK: But this module was already defined by ...

nhưng khi tôi đầu vào "ndk-build", xây dựng thành công!

Các vấn đề liên quan