libpngのビルド手順|Android開発

libpngのスタティックライブラリ作成方法です。Windowsでの手順になります。
以降JNIフォルダをapp\src\main\jni、libpngフォルダをapp\src\main\jni\libpngとします。
また、本記事時点のlibpngバージョンは1.6.29なので以降のダウンロードフォルダもその内容で記述しています。

ソースファイルのダウンロード

上記サイトのリンク先からlibpngのソースファイルをダウンロードします。

ビルド対象ファイルの配置

  1. ダウンロードしたファイルからlpng1629フォルダ直下の.c、.hをlibpngフォルダにコピーします
  2. 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
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です