多だだ段Make | Android系女史

Android系女史

Android開発など雑多なプログラムの愚痴でもしています。

コードの内容について一通り説明をしてもらう。
大体の処理の流れと書き換え箇所を把握。
ついでにこれから先のAndroid化の作業順について話し合い。

1. C++コードをAndoroid.mkでビルドできるように
2. ウィンドウ画面を表示し、JavaからC++のコードを読み出して描画
3. コールバック関数などの実装
4. Webとのアップロード、ダウンロード、カメラなどの実装

の順で。

なのでまずは1.から。

コードは処理の内容ごとにフォルダに分かれているので
フォルダごとにAndroid.mkを書くことにする。

まずはフォルダ内のファイル数が少ないやつでテスト。
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := ライブラリ名
LOCAL_SRC_FILES := C++ファイル名列挙

include $(BUILD_SHARED_LIBRARY
)
で上手くいかない。
Android.mkは間違ってないし何故?
と悪戦苦闘したらAndroid.mkはjniフォルダ内にないとビルドできないっぽいということが判明。理由はわからない。

ここのC++ファイルはWindows版でもiOS版でも共有で使っているから
フォルダ名変えるわけにもな。と試行錯誤したところ
jniフォルダ内にAndroid.mkを置いてそこからビルドしたいフォルダのAndroid.mkをincludeしたらできた。
LOCAL_PATH := $(call my-dir)
include ビルドしたいフォルダへのパス/Android.mk
include $(CLEAR_VARS)

LOCAL_MODULE := ライブラリ名

include $(BUILD_SHARED_LIBRARY)
元々フォルダごとにAndroid.mkを置いて起点となるAndroid.mkから呼び出そうと思っていたので
それをjniフォルダ以下のAndroid.mkにすればいいかな。

でも何故フォルダ名がjniじゃないと上手くいかないかが調べてもわからんとです。