cocos2d-x x-pluginのメモ(1)
自メモ)
公式プラグインの挙動確認
NativeActivityから どうWebView呼ぶか興味があったのでAdMobプラグインからチャレンジ
- V3.0alpha1-cppdoc
- http://www.cocos2d-x.org/wiki/Plugin-X_Overview
- Plugin-X Integration Guide for Android | Cocos2d-x
- How to Integrate a 3rd party SDK into Plugin-X | Cocos2d-x
追記)
documentはdoxygenで自分で生成するものらしい
一応APIリファレンスのリンクは下記のよう
cocos2d-x サイトが死んでる。リファレンスはサーバ違うみたいなので URLとかに直接アクセスすればいいみたい
cocos2d-x 実装できるinterfaceは URL にあるのか。URL みると #twitter4j のも有るみたいだけどjarが古いみたい。あまり使われてないのかな?
- plugin-x/protocols/proj.android/src/org/cocos2dx/plugin at develop · cocos2d-x/plugin-x · GitHub
- plugin-x/plugins/twitter/proj.android/sdk at develop · cocos2d-x/plugin-x · GitHub
検索してたらquick-cocos2d-x URLというの見つけたんだけど、これってcocos2d-xのラッパーFWだったりするのかな?
cocos2d-x URLのコード見てる。WindowManager.LayoutParams.TYPE_APPLICATION_PANEL に追加する形なら確かにGLの上にAd表示できそう。これ使えばキーボードの上とか載るかな?
cocos2d-x URL の構成って cocos2d-x-3.0alpha0/plugin の奴と同じなのか。とりあえずAdmob表示してみようかな
備考>
初回時にNDKのpath等を聞かれますが、あとで環境変更した場合は
plugin/tools/toolsForPublish/environment.sh
を直接変更しないと駄目な感じ。
cocos2d-x その 位置のApplication.mkを APP_CPPFLAGS += -frtti -Wno-error=format-security APP_ABI :=armeabi armeabi-v7a x86 と変更して pubish.shを再実行
cocos2d-x $(call import-add-path, /Users/XXXX/cocos2d-x-3.0alpha0/plugin/publish) $(call import-module,protocols/android)
cocos2d-x ndk-buildに NDK_MODULE_PATHを渡せばOKってどうやるんだろう?(わからなくて call import-add-path でお茶濁した
cocos2d-x あと plugin/publish/protocols/include インターフェースクラスの header参照しようとすると参照エラーでコンパイルできないんだけどこれどうすればいいん? LOCAL_C_INCLUDES に追加しても参照できない(汗
cocos2d-x コンパイルエラーは外せたけど、公式のあの手順だけでは駄目で3rd-party pluginの手順とおなじく library-project として参照しないとapkにやはり同梱されない(admobのjar自体も
cocos2d-x NDK_MODULE_PATH=XXX/plugin/publish の追加必要って話がStackOverFlowで出てくるけどこれ関係ない。${NDK_MODULE_PATH}/protocols/include のinclude追加はエディタ的には要
cocos2d-x admob = dynamic_cast<ProtocolAds*>(PluginManager::getInstance()->loadPlugin("AdsAdmob"));と呼んでも動かない。Failed to get JNIEnv でNULL返却
which ant => not found chmod a+x $HOME/eclipse44/plugins/org.apache.ant_1.9.2.v201307241445/bin/ant
は試したけど、上手く入らなかったorz
追記)
$HOME/homebrew に入れてたから brew updateでエラー出てたの修正できなかったorz
$HOME/homebrew/Library/Formula
で対象のファイル消して
brew update brew install ant which ant $HOME/homebrew/bin/ant
公式が復活していたので読み直し
cocos2d-x でもNativeActivtyで Contextの初期化ってどうやるんだっけか?cocos2dだけじゃなくで NDKとmakefileの知識がどうしても必要になってくるな(汗
cocos2d-x plugin/samples/HelloPlugins が実際のプラグインの使用例ってのは最終的にわかったけどこのプロジェクトimportして variableList追加してもライブラリ名違ったりとか参照してるjarがpublshに無かったりして酷い
cocos2d-x 一応 plugin/tools/publish.sh 実行すると plugin/publish に関連するheader/cpp/so/jarを集めてくれるっぽいんだか native関連に関してはmakeリンクでいくけど jarが同梱されない状態
cocos2d-x PluginWrapperにNDKからContextを渡す方法がわからなくてJavaEnv Errorで悩んでたけど URL らへんの記述は必要(公式が記述足りない)
他の方も苦労されてるみたいで
とたしかに最初同じようなことやってた(汗