Ho cercato un sacco di argomenti sul collegamento di libpng al mio progetto Android ndk ma ho trovato la risposta giusta per il mio problema e spero che qualcuno mi aiuti.Aggiunta di libpng nel progetto android ndk
Questa è la gerarchia del mio progetto:
jni
different_cpp_files
different_hpp_files
Android.mk
libpng
different_cpp_files
different_hpp_files
Android.mk
Android.mk nella cartella 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)
Suppongo che tutto è proprio qui ..
Android.mk nella cartella 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)
L'ultima riga mostra che mi sono libpng come lib native_app_glue (nella directory di fonti Android NDK) Ora voglio compilare libpng dal mio progetto. Cosa devo cambiare nel file Android.mk?
Grazie mille per la risposta, ma non è quello che voglio. Devo inviare il mio progetto alla compagnia. Non penso che sarà educato dire loro cosa devono fare per far funzionare il mio progetto - voglio dire copiare i file in android_ndk_folder e così via. Lo compileranno e quindi tutti i file necessari devono essere inclusi all'interno del progetto. –
Funziona solo con dispositivi ARM e solo quelli vecchi. Mancano MIPS, ARM a 64 bit, x86, x86 a 64 bit, ARM con unità a virgola mobile, ... – dascandy
Questo ha funzionato come un edificio di fascino su un dev Widnwos ... ha funzionato anche con le versioni precedenti di libpng. Testato con 1.4.19. Basta scaricare dal sito ufficiale e copiare/incollare i file Android e Application.mk nella cartella scaricata ed eseguire ndk-build – velval