たまたんのぶろぐ

たまたんが時たま言いたいことを書いてます。ジャンルはめっちゃええ加減ですwソフトやプログラムのことが多いかもしれませんが。。。。。

AndroidStudioでLuaを動かす(その2) <アプリの作成>

前回は用意だけしかしておりませんでした。(; ̄ー ̄A アセアセ・・・

どこが、Luaの動作じゃっちゅうねん!!って感じで怒られそうですが、

とりあえず、回数を稼ぐために分けさせてもらいましたw<m(__)m>

この回が終わったら、もう少し期間をあけて投稿します。 

とりあえず、アプリケーションの外枠の作成から、再開!!

ワッショイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワッショイ

 

アプリケーションの作成

 Androidアプリの普通の作成モードで作成します。

1) NeXT押下

f:id:tama-jp:20150102184406p:plain

NDKで設定の時注意なのが「Company Domain」に、「-」等の記号を使わないように。

記号を使うとパッケージ名に「_(アンダーバー)」が使用されます。

NDKは、パッケージ名にアンダーバーがつくと認識できないようで、

ドメイン名を

「test-dayo.com」

のようにすると、例えば、testPackageというPackageを作成となると

「com.test_dayo.Package

となります。

このパッケージをNDKで一部作り、

JAVAからNDKを呼び出すと、

例えば、「runLua()」関数を呼び出すように考える。

っと、NDKでは、

jint Java_com_test_dayo_Package_runLua(JNIEnv* _env,jobject thiz) { ...

っと書きます。

っが、

com.test.dayo.Package.runLua();

っと言うように、判別されていまいます。

ですので、出来るだけ記号は使わない方がよろしいです。

(私はこれではまりましたwいいやり方があれば教えてください。)

2) NeXT押下

f:id:tama-jp:20150102184418p:plain

3) NeXT押下

f:id:tama-jp:20150102184441p:plain

3) Finishを押下

f:id:tama-jp:20150102184503p:plain

4)作成できたので左ペインで「Android」から「Project」に変更し、

フォルダーをわかりやすくする。

f:id:tama-jp:20150102200825p:plain

 

5)local.propertiesを選択し、NDKのコンパイラ位置を設定

f:id:tama-jp:20150102201025p:plain

私の場合、アプリケーション内にNDKを設置したので以下の通りになります。

 これで、NDKをコンパイルできます。

6)app/nuild.gradleを編集

f:id:tama-jp:20150102201621p:plain

 

設定値の内容は以下の通り

moduleName :ライブラリ名を作成。(出来たライブラリは、「libxxx.so」となります)
stl "gnustl_shared" <-固定です。
abiFilters "armeabi", "armeabi-v7a", "x86", "mips" <-使用できるCPUを書いておきます。
ldLibs "log" <-ログを出力したい場合これを入れておくと便利です。

 

これで、app/src/main/jni配下にCのソースをコンパイルすると自動でコンパイルされライブラリ化されます。

 7)app/src/mainの下に「jni」を作成し、luaのソースから「src」内にある「luac.c」以外をコピーまたは、移動させます。

luac.cは、動作サンプルであり、「main」関数が入っているから取り除かなければなりません。

f:id:tama-jp:20150102203831p:plain

 これでとりあえず、事前設定は終わり!!

 

次回へ続く。。。。