京都町アプリ小路上ル

京都在住のカフェ好きゲームクリエイターが書く、アプリ開発、ゲーム作り、あと京都カフェ情報

オンライン対戦が熱い! お手軽格闘ゲームがパワーアップして帰ってきた!

格闘ゲーム「木拳」 〜暇つぶしにオンライン対戦!無料アプリ〜

格闘ゲーム「木拳」iOS
格闘ゲーム「木拳」Android

cocos2d-x v2.2.6 Android 64bit 対応

自分用メモです。

 

準備としてv2.2.6をAndroid Studioビルドできるようにしておきます↓

http://coffeee.hatenablog.com/entry/2018/08/24/002646

 

64bit対応のやり方は二つあります。

 

 

 

■cocos2d-x v2.2.6をカスタムしてない場合

 

フレームワークを改造してなくてノーマルで使っていた人は、有志が用意した64bit化済みのcocos2d-x v2.2.6があるのでそれを使う方が早いです↓

https://github.com/c0i/cocos2d-x-v2

 

 

 

■cocos2d-x v2.2.6をカスタムしている場合

 

大体の人は中身を改造しているのでこちらの方法になるかと思います。

 

そもそも64bitビルドできない理由が、サードパーティー製ライブラリのarm64-v8aモジュールがないだけなので、それをcocos2d-x v3.17.2から持ってきます(幸いなことに互換性があったみたいでそのまま使えました)。

 

まずcocos2d-x v3.17.2の環境を準備します。

1. git clone https://github.com/cocos2d/cocos2d-x.git

2. git checkout cocos2d-x-3.17.2

3. cocos2d-x $ python download-deps.py

4. cocos2d-x $ git submodule update --init

 

 

下記フォルダにあるモジュール達をv2.2.6の方にいい感じで上書きします。

cocos2d-x-3.17.2/external/curl
cocos2d-x-3.17.2/external/openssl
cocos2d-x-3.17.2/external/jpeg
cocos2d-x-3.17.2/external/png
cocos2d-x-3.17.2/external/tiff
cocos2d-x-3.17.2/external/webp
cocos2d-x-3.17.2/external/zlib

 

v2.2.6のフォルダはこちら

cocos2d-x-2.2.6/cocos2dx/platform/third_party/android/prebuilt/

 

コピーのルールとして、

・includeは完全に置き換えでOK

・prebuiltの中身はarm64-v8a、armeabi-v7a、x86をlibsに上書き

Android.mkは上書きしない(v2.2.6のを使う)

 

あとは、一部ソースを修正します。

cocos2dx/cocoa/CCString.hに#include <cstring>を追加

cocos2dx/support/ccUTF8.hに#include <cstring>を追加

 

これでOK。

 

64bitビルドはgradle.propertiesでPROP_APP_ABI=armeabi-v7a:arm64-v8aとすればできます(x86はつけません。つけるとx86_64がないから64bit対応できてないみたいに言われてGooglePlayに弾かれます)。

 

あとはがんばって!