2013年8月14日水曜日

COCOS2D-XでAndroidビルド時に"Zip add failed"

COCOS2d-X 2.1.4+Windows 7+Eclipse+cygwin

掲題の環境でbuild_native.shを実行すると、
Zip add failedと表示されてapkが生成されない問題。
おそらくwindowsオンリーの問題と思われる。

処理を行っているのはaaptというandroid sdk側のパッケージャー
ファイルが指示されるので直す。
 ・日本語を含むファイル名は処理されない
 ・cygwin上で権限が適切(777とか)に設定されている必要がある。

そのまま実行するとフォルダを掘ってその中にあるファイルが上記のエラーで処理されない。
確認するとこれらのファイルには権限が一切ついていない。

これはbuild_native.shの中で呼び出されているcygwinのcpの問題である。
⇒Windows7+cygwinでpermissionの問題があるとのこと。

なので一通りの処理が終わったあとでchmod 777 -R $directoryとでもしてあげればいい
具体的にはbuild_native.shでコピー処理のあとに下記のようにchmodを追加する

========================================
if [ -f "$file" ]; then
    cp "$file" "$APP_ANDROID_ROOT"/assets
fi
chmod 777 -R "$APP_ANDROID_ROOT"/assets
========================================