前身
Apportableというコマンドラインツールで
ObjC -> Android APKコンパイルを売りにしたツールを出していたが
cocos2dに焦点を絞って、Xcodeプラグイン化したものがこのAndroid Plugin。
価格
Community 無料
Indie $99.99/month (今だけ1年間$50/month)
Pro $299.99/month
上記12ヶ月は最低加入しないといけないみたい。
その後に支払いをやめた場合のライセンスなどよくわかっていない。
英語読める方助けて><
比較
SpriteBuilder Android Plugin | Apportable | |
---|---|---|
APK出力 | ○ | ○ |
外部jar | △ (indieライセンス以上) | ○ |
外部Java | △ (indieライセンス以上) | ○ |
アーキテクチャ | △ (armv7a-neonのみ) | ○ (armeabi, armv7a, armv7a-neon, x86) |
コマンドラインビルド | △ (Proのみ) | ○ |
コード補完(xcode) | ○ | ☓ |
Swift | ☓ | ☓ |
比較すると正直、良いとこないんですが
プラグイン化した事で導入が簡単になっている。pkgインストールするだけ。
後は普通にXcode上でScheme切り替えてビルドするだけです。
基本実機でしか動かないと思う。x86端末とかだと今のとこビルド失敗するんで注意。
細かい事は http://android.spritebuilder.com/
過去バージョンではconfiguration.jsonというjson設定ファイルで
色々Androidの設定を行って、その上でAndroidManifestの自動生成などを行っていたけど
素直にAndroidManifestを書けるようになったり
以前は無かったActivityクラスも出てきたりしたんで、わかりやすい実装になってきた。
(外部jar対応できました)外部jarやアーキテクチャの問題は過去に対応していたので、そのうち対応すると思う。。
今のとこはアーキテクチャは他のものを試してもエラー発生。
Androidに出力したいならObjCで書きましょう。今はSwiftのコンバートは未対応。
コマンドライン上でのビルドは
少し前のバージョンで
xcodebuild -scheme "projname Android"
した場合、プロバージョン以上のみだよ。みたいな警告が出ていたけど
20150317バージョンで試したら普通にapk作成ができた。
自分がindieバージョンなので、communityバージョンでも行えるのかは未確認。
またバージョンアップを機に動かなくなるかもしれない。
20150408バージョンにしたら下記の文言が表示されて、Androidターゲットのxcodebuildが動かなくなりました。
Please upgrade to the SpriteBuilder Android Plugin Professional License to build from the command line.
困ったら
Android側の実体は
/Library/SBAndroid/Application Support/Developer/Shared/Xcode/Platforms/Android.platform/Developer/SDKs/SBAndroid.sdk/System/Library/Frameworks
上記のパスにframeworkとして存在します。(※バージョンによってディレクトリ名がSBAndroidIndieなどぶれてるので注意)
細かい事をやりたい場合はAndroidKitやJavaKitを使うと良い。
Android Bridged APIs (AndroidKit/JavaKitのリファレンス)
http://android.spritebuilder.com/api/index.html
ちょろっと見たいだけなら、
Xcode上でCmd+Shift+Oで検索すれば色々その場でチェックできる。
大体Android側と同じ実装方法していて、軽くObjCライクに書きなおされてます。
// javaっぽ
activity.getWindow()
// objCっぽ
[activity window]
// or
activity.window
getXXなんかは大体上記のような実装になってます。
もうちょい突っ込んだ実装したいならBridgeKit(indie以上)
https://github.com/apportable/BridgeKitSample.spritebuilder
サンプル。
Source/Platforms/Android 以下にカスタムJavaクラス実装内容がある。
外部jarが使えるようになれば、BridgeKitを用いて外部SDKを実装したりすると思われ。
AdMobとか海外でも主要な広告はPlugin側で対応してくれる気がする。(過去CLI版はそうだった)
後過去CLIバージョンは少し古めのAFNetworkingが使えたけど
現バージョンでつかえるか確認していない。使えたら楽だなぁ。
更新で追加情報があれば修正します。