Tôi đã tìm kiếm rất nhiều chủ đề về liên kết libpng với dự án ndk android của mình nhưng tôi đã tìm thấy câu trả lời đúng cho vấn đề của mình và tôi hy vọng ai đó sẽ giúp tôi.Thêm libpng vào dự án ndk android
Đây là hệ thống các dự án của tôi:
JNI
different_cpp_files
different_hpp_files
Android.mk
libpng
different_cpp_files
different_hpp_files
Android.mk
Android.mk trong thư mục libpng:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LS_C=$(subst $(1)/,,$(wildcard $(1)/*.c))
LOCAL_MODULE := png
LOCAL_SRC_FILES := \
$(filter-out example.c pngtest.c,$(call LS_C,$(LOCAL_PATH)))
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_LDLIBS := -lz
include $(BUILD_STATIC_LIBRARY)
Tôi cho rằng mọi thứ đều ở đây ..
Android.mk trong thư mục JNI:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LS_CPP=$(subst $(1)/,,$(wildcard $(1)/*.cpp))
LOCAL_MODULE := pacman
LOCAL_CFLAGS := -Wno-psabi
LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH))
LOCAL_LDLIBS := -landroid -llog -lEGL -lGLESv1_CM -lOpenSLES
LOCAL_STATIC_LIBRARIES := android_native_app_glue png
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
$(call import-module,libpng)
Dòng cuối cùng cho thấy rằng tôi đã libpng như lib native_app_glue (trong thư mục nguồn android-ndk) Bây giờ tôi muốn biên dịch libpng từ dự án của tôi. Tôi cần thay đổi gì trong tệp Android.mk?
Cảm ơn rất nhiều vì câu trả lời của bạn nhưng đó không phải là điều tôi muốn. Tôi phải gửi dự án của mình cho công ty. Tôi không nghĩ rằng nó sẽ lịch sự để nói với họ những gì họ phải làm để làm cho dự án của tôi hoạt động - tôi có nghĩa là sao chép các tập tin trong android_ndk_folder và như vậy. Họ sẽ biên dịch nó để tất cả các tập tin cần thiết cần được đưa vào bên trong dự án. –
Điều này sẽ chỉ hoạt động đối với các thiết bị ARM, và sau đó chỉ có các thiết bị cũ. Bạn đang thiếu MIPS, 64-bit ARM, x86, 64-bit x86, ARM với các đơn vị dấu chấm động, ... – dascandy
Điều này làm việc giống như một tòa nhà quyến rũ trên một dev Widnwos ... nó cũng làm việc với các phiên bản cũ của libpng. Thử nghiệm với 1.4.19. Chỉ cần tải xuống từ trang web chính thức và sao chép/dán tệp Android và Application.mk vào thư mục đã tải xuống và chạy ndk-build – velval