android-ndk – 在android ndk项目中添加libpng

搜索了很多关于将libpng链接到我的 Android ndk项目的主题,但是我已经找到了正确的答案,我希望有人会帮助我.

这是我的项目的层次结构:

JNI

different_cpp_files
different_hpp_files
Android.mk
libpng
    different_cpp_files
    different_hpp_files
    Android.mk

Android.mk在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)

我想这一切都在这里.

Android.mk中的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)

最后一行显示我有libpng,如native_app_glue lib(在android-ndk源目录下)现在我想从我的项目中编译libpng.在Android.mk文件中需要更改什么?

解决方法

我有另一种方式给你:

>从这里下载所有文件,并将其粘贴到系统中的任何位置的新文件夹中:
https://github.com/julienr/libpng-android
>进入文件夹并运行:
运行./build.sh
>你将在[YOUR_FOLDER] /obj/local/armeabi/libpng.a中找到一个libpng.a文件
将此文件复制到
[YOUR_ANDROID_NDK_FOLDER] /平台/ [ALL_FOLDERS_IN_HERE] /弓形臂/usr/lib中/
>现在您可以使用简单的行在所有项目中使用libpng:
LOCAL_LDLIBS = -lpng
>你只需要把它包含在你的cpp里:
#include< png.h>

玩的开心!

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...