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