Introduction
Xamarinを再び勉強しはじめています。
Nativeのライブラリを使いたいので、試行錯誤中です。
Get Started!!
Androidで動作するNativeライブラリを作成するには、Android NDK (Native Development Kit) が必要です。
最初自分は g++ でできると思い込んで、それをAndroidのEmulatorに配置していたのですが、それは間違っていました(白目) なので、NDKの使い方から。
Download
公式のDownloadから入手します。
Windows、Mac、Linux用が提供されています。今回はWindows版を。
ダウンロードしたら、適当な場所に展開し、パスを通しておきます。
が、パスに空白が入ると動かないので注意。
パスを通したら
1 | C:\WINDOWS\system32>ndk-build |
のように表示されれあば準備完了です。
Build
コンパイル環境ができましたので、ビルドを行います。
ビルドについては、
が非常に参考になりました。
ソースは下記です。
calc.cpp
1 |
calc.h
1 |
|
export.h
1 |
次にビルドする際は、CMakeLists.txtのようなビルドの手順を示した
- Android.mk
- Application.mk
ファイルを用意します。
Application.mk
1 | APP_PROJECT_PATH := $(NDK_PROJECT_PATH) APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/src/Android.mk |
Android.mk
1 | LOCAL_PATH := $(call my-dir) |
これらを下記のような構成で展開します。
1 | │ Application.mk |
ここで、Application.mkにカレントディレクトリを移動して、下記のコマンドを実行することで、ライブラリが生成されます。
1 | $ ndk-build NDK_PROJECT_PATH=%cd% NDK_APPLICATION_MK=Application.mk |
libsフォルダにアーキテクチャ毎にライブラリが生成されます。