libpngのビルド手順|Android開発
libpngのスタティックライブラリ作成方法です。Windowsでの手順になります。
以降JNIフォルダをapp\src\main\jni、libpngフォルダをapp\src\main\jni\libpngとします。
また、本記事時点のlibpngバージョンは1.6.29なので以降のダウンロードフォルダもその内容で記述しています。
ソースファイルのダウンロード
上記サイトのリンク先からlibpngのソースファイルをダウンロードします。
ビルド対象ファイルの配置
- ダウンロードしたファイルから
lpng1629フォルダ直下の.c、.hをlibpngフォルダにコピーします lpng1629\script\pnglibconf.h.prebuiltをlibpngフォルダにpnglibconf.hにリネームしてコピーします
Makefile
Android.mk
JNIフォルダのAndroid.mkを下記のようにします。
LOCAL_PATH := $(call my-dir)
# libpng section
include $(CLEAR_VARS)
LOCAL_MODULE := libpng
LOCAL_SRC_FILES := \
libpng\png.c \
libpng\pngerror.c \
libpng\pngget.c \
libpng\pngmem.c \
libpng\pngpread.c \
libpng\pngread.c \
libpng\pngrio.c \
libpng\pngrtran.c \
libpng\pngrutil.c \
libpng\pngset.c \
libpng\pngtest.c \
libpng\pngtrans.c \
libpng\pngwio.c \
libpng\pngwrite.c \
libpng\pngwtran.c \
libpng\pngwutil.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libpng
include $(BUILD_STATIC_LIBRARY)
ndk-buildをすればスタティックライブラリが作成されます。
作成したスタティックライブラリを使用する際には、zlibも必要ですが、Android NDKに含まれているため、使用側でAndroid.mkのLOCAL_LDLIBSに-lzを追加すればリンクされます。
LOCAL_LDLIBS := -lz

