試したcocos2dxのバージョンは3.4
こちらの記事をみてcocosコマンドで暗号化できることをしりました。
いちいち暗号化のcompileをしてandroid/ios buildするのめんどくさいなと思い、
オプションを眺めていると指定してbuildできそうだったのでそれの記録メモ
http://www.cocos2d-x.org/wiki/Cocos_compile
ここにかいてるluaプロジェクトで重要そうなオプションを抜粋
arg | 説明 |
---|---|
--compile-script | コンパイルするかどうかの指定みたいでreleaseモードだと有効でdebugだと無効にしてくれるみたい |
--lua-encrypt | 1をいれないとこっちが指定したkeyでluaをコンパイルしてくれない。指定しないとdefaultの2dxLuaで作られる |
--lua-encrypt-key | ここに暗号化のkeyを指定する |
--lua-encrypt-sign | 暗号化の種類?なのかなデフォルトのままでとりあえず |
AppDelegate.cpp
stack->setXXTEAKeyAndSign("akaishi", strlen("akaishi"), "XXTEA", strlen("XXTEA"));
に変更してandroid/iosでbuild
実際に実行したコマンドはこれ
$ cocos compile -p android -s ~/Documents/luatest -m release --lua-encrypt 1 --lua-encrypt-key "akaishi"
できたapkファイルはzipなのでzip解凍して確認すると暗号化されているみたい
cocos compile -p ios -s ~/Documents/luatest -m release --sign-identity "iPhone Distribution: xxxxxxx" --lua-encrypt 1 --lua-encrypt-key "akaishi"
できたipaファイルもzipなので同じように解凍して確認してみたところされていました。
実際に実機で確認してもluaサンプルプロジェクトのアリアプリ?が動きました!!
debugのときは暗号化されないので
luaファイルをそのままresourseファイルに転送してデバッグもできて楽