ソースのコピペ?
コピペで新しいファイル作成も面倒なので、ライブラリ化してみた。
■ Android.mkの記述
include $(BUILD_STATIC_LIBRARY)と記述する。
BUILD_SHARED_LIBRARYをBUILD_STATIC_LIBRARYに置き換える。
■ Application.mkの記述
APP_OPTIM := release
APP_MODULES := devInf ← モジュール名
モジュール名を定義する。
これでCソースをビルドすると、objフォルダ内にライブラリファイル(libdevinf.a)が生成された。
■ ライブラリの使用
生成されたライブラリを別のプロジェクトで使用してみる。
※新しいCソースには以下の記述を定義しておくことで、ライブラリ内の関数を呼び出すことができる。
// ---------------------------------------------------------
// devinfライブラリ内の関数定義// ---------------------------------------------------------
extern void _initDevInf( void );
上記で生成されたライブラリ(libdevinf.a)をJNIフォルダにコピーし、Android.mkに定義を追記する。
LOCAL_MODULE := devicelib ← 一時的に生成するライブラリ名
LOCAL_SRC_FILES := libdevInf.a ← 上記で生成したライブラリ名include $(PREBUILT_STATIC_LIBRARY)
LOCAL_MODULE := CheckInf
LOCAL_SRC_FILES := checkInf.c ← 新しいプロジェクトのCファイル
LOCAL_STATIC_LIBRARIES := devicelib ← 一時的に生成するライブラリ名
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY) ← .soライブラリを生成する
そうなんやぁ ・・ って感じ。
こんな使い方するのって誰もいないんかな?
0 件のコメント:
コメントを投稿