先日「Nana Live+」のiOS版をリリースしましたが、せっかくcocos2dxで作成したのでAndroid版もリリースすることにしました。ネイティブ連携しなければならない部分がいくつかあったので、その部分でかなりハマりました。この記事ではEclipseの使い方等は説明していません。
とりあえずこれで実行できるようになりました。
(この時ネイティブ連携の処理はコメントアウトなりしておきます)
やってて一生やりたくないと思えました。笑
NanaLive+ではファイルを3つに分けています。
URLを開く時は下記のようにしました。
NativeBridge.h
NativeBridge.mm
NativeBridge.cpp
最後にNativeBridge.cppの16行目にある「onLaunchBrowser」を実装します。
ファイルの場所は「proj.android/src/org/cocos2dx/cpp/AppActivity.java」です。
NativeBridgeの呼び出し方は簡単です
URLはプラットフォームによって分ける事ができます
というわけでapkは無事出力できたので、ベータ版テストというのを使ってみました。
一応実機でバージョン2.3.3は起動できたので、Android要件を2.3.3以上に設定していました。それにもかかわらず、ベータテスト版で公開された時に表示されていたAndroid要件はなぜか1.6以上となっている…
これは一体...
同じ現象になっている人も (IT探検記さん)
ベータ版だと正しく表示されないってことなんですか?知りませんよそんなこと;;
完全に自分の設定ミスだと勘違いしていました。
騙されたと思って製品版にしてみると正しいAndroid要件が表示されました。
開発環境
OS X 10.9.3 Marvericks
Cocos2d-x v3.2
Cocos2d-x v3.2
とりあえず実行できるようにする
「proj.android/jni/Android.mk」を下記に変更してみましたとりあえずこれで実行できるようになりました。
(この時ネイティブ連携の処理はコメントアウトなりしておきます)
ネイティブ連携部分を作る
cocos2dxを使っていて1番面倒なのがここです。やってて一生やりたくないと思えました。笑
NanaLive+ではファイルを3つに分けています。
URLを開く時は下記のようにしました。
NativeBridge.h
NativeBridge.mm(iOS向けの処理)
NativeBridge.cpp(Android向けの処理)
NativeBridge.h
NativeBridge.mm
NativeBridge.cpp
最後にNativeBridge.cppの16行目にある「onLaunchBrowser」を実装します。
ファイルの場所は「proj.android/src/org/cocos2dx/cpp/AppActivity.java」です。
NativeBridgeの呼び出し方は簡単です
URLはプラットフォームによって分ける事ができます
アプリのタイトルを変更してみる
「proj.android/res/values/strings.xml」からapp_nameの部分を変更するだけです。<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">NanaLive+</string>
</resources>
アプリアイコンを変更してみる
下記フォルダの中にアイコンファイルがあるのでそれを差し替えるだけです。proj.android/res/drawable-hdpi
proj.android/res/drawable-ldpi
proj.android/res/drawable-mdpi
proj.android/res/drawable-xhdpi
Eclipseからapkをエクスポートしたあとベータ版として公開してみた
apkのエクスポート自体はググると結構記事が出てくるので省略します。というわけでapkは無事出力できたので、ベータ版テストというのを使ってみました。
一応実機でバージョン2.3.3は起動できたので、Android要件を2.3.3以上に設定していました。それにもかかわらず、ベータテスト版で公開された時に表示されていたAndroid要件はなぜか1.6以上となっている…
これは一体...
同じ現象になっている人も (IT探検記さん)
ベータ版だと正しく表示されないってことなんですか?知りませんよそんなこと;;
完全に自分の設定ミスだと勘違いしていました。
騙されたと思って製品版にしてみると正しいAndroid要件が表示されました。