cocos2dxのhowtoどおりに環境はできた。しかし、自分のコードを書いてコンパイルして
リンクして実機に転送するにはどのようにすればいいのか?
実機への転送は多分問題ない。しかしソースコードをコンパイルしてobjをリンクするといった、makeファイルのアレを一体どうすればいいのか?
いまでもmakeファイルを使っているのだろうか?いろいろな疑問に挑戦してみよう
gradleとは新しいmakeファイル的なもの。makeファイルもビルドツールと言うんですって。
ant,Mavenなどもビルドツール。これらはgradleに移行する前にAndroidで使われていたものなので単語が出てきてもビビらないようにする。
多分これらのこと。
proj.android | 古いAndroid開発環境 |
proj.android-studio | 新しいAndroid開発環境 |
proj.ios_mac | mac |
proj.win8.1-universal | 8時代のストア、メトロアプリ? |
proj.win10 | Windows10環境 Windowsストア? |
proj.win32 | WindowsXP環境 |
「proj.android-studio\app\jni\Android.mk」に記載を発見
ここにソースを追加してみると、コンパイル対象に入った!
Android.mk
LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../../Classes/AppDelegate.cpp \ ../../../Classes/HelloWorldScene.cpp\ ../../../Classes/visorizer.cpp
jni/../../../Classes/visorizer.cpp:13:19: fatal error: gxLib.h: No such file or directory #include <gxLib.h>
コンパイルエラーをとり終えてとりあえずコンパイルは通るようになったけど
ビルドに失敗、なにやら難しそうな単語が並ぶ・・・
FAILURE: Build failed with an exception. * Where: Build file 'D:\dev\cocosPrj\sample3\cocos2d\cocos\platform\android\libcocos2dx \build.gradle' line: 1 * What went wrong: A problem occurred evaluating project ':libcocos2dx'. > Failed to apply plugin [id 'com.android.library'] > Gradle version 2.10 is required. Current version is 2.4. If using the gradle wrapper, try editing the distributionUrl in D:\dev\cocosPrj\Sample3\proj.android-studio\gradle\wrapper\gradle-wrapper.properties to gradle-2.10-all.zip
proj.android-studio/gradle/wrapper/gradle-wrapper.properties
#Fri Jul 31 20:40:49 CST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
BUILD SUCCESSFUL
Total time: 7.087 secs Stopped 0 compiler daemon(s). Move apk to D:\dev\cocosPrj\Sample3\bin\debug\android Build succeed.
なんかいろいろゴッチャになってきてた。Android Studioに関する誤った考え方
AndroidではWindows/mac環境でAndroidプラットフォームで動く開発環境でしかない
当たり前だった。iOSとかWindowsストアとかWindows10とか関係ないよね?
Cocos2Dxがマルチプラットフォームに対応してるだけで、IDEがどうとか関係無かった
この両方があるから、Android-Studio用のmakeファイルをいじってNDKのコンパイル設定をしなくてはならない