先日、GooglePlayStoreからlibpngに脆弱性が見つかったからバージョンを上げるようにとメールが来たので対応。
[参考] http://www.bengigi.com/cocos2d-x-2-x-android-libpng-vulnerability-fix/
上記サイトと内容がほとんど同じだがメモとして残しておく。
今回対応したのはcocos2d-x-2.2.6のアプリ。
他のバージョンでは未確認。
まず、以下をダウンロードする。
http://bengigi.com/wp-content/uploads/libpng_fix.zip
以下の2つのフォルダがダウンロードされる。
・libpng
・libzlib
2つのファルダを以下のところに置く。
(libpngは置き換える)
cocos2d-x-2.2.6/cocos2dx/platform/third_party/android/prebuilt/libpng
cocos2d-x-2.2.6/cocos2dx/platform/third_party/android/prebuilt/libzlib
次にcocos2dxのフォルダの中のAndroid.mkファイルを変更。
これを
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libpng_static
以下に書き換える
LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libzlib_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libpng_static
この行の下に
$(call import-module,libjpeg)
以下を追加
$(call import-module,libzlib)
編集を終えたら保存して再ビルド、apkを作成。
ターミナルを開いて以下のコマンドで確認。
unzip -p hoge.apk | strings | grep "libpng"
libpng version 1.6.16 - December 22, 2014
libpng version 1.6.16 - December 22, 2014
Googleからの警告はlibpng v1.0.66、v.1.2.56、v.1.4.19、v1.5.26以降にしろということなので、
バージョンが1.6.16になっていればOKのはず。
いろんな情報がでてたけど簡単そうなのがこれだった。