Posted at

cocos2d-x 2.2.6のAndroidのapkがGoogle Play Consoleのセキュリティーエラーでリジェクトされたときの対処

More than 1 year has passed since last update.

cocos2d-x 2.2.6のAndroidのapkをGoogle Play Consoleにアップロードすると


セキュリティ アラート

アプリで使用中の OpenSSL のバージョンにセキュリティの脆弱性があります。詳しくは、Google ヘルプセンターのこちらの記事で、脆弱性の修正期限などについてご確認ください。



セキュリティ アラート

アプリで使用中の libpng のバージョンにセキュリティの脆弱性があります。脆弱性の修正期限など、詳しくは Google ヘルプセンターのこちらの記事をご覧ください。


というセキュリティーアラートが上がりまして、アップデートできませんでした


まずはapk確認

$ unzip -p your.apk | strings | grep "OpenSSL"

> ...
> LSv1 part of OpenSSL 1.0.1h 5 Jun 2014

$ unzip -p your.apk | strings | grep "libpng"

> ...
> libpng version 1.2.46 - July 9, 2011
> ...

ってな感じになってまして、これだと古い


OpenSSLの対応

http://www.bengigi.com/cocos2d-x-fix-for-openssl-problem/

こちらを参考に、 このブログのリンクのCurl_fix_2.zip for Cocos2d-x 2.xをダウンロードしまして、

cocos2dx/platform/third_party/android/prebuiltに入ってるlibcurlを置き換えます


libpngの対応

http://www.bengigi.com/cocos2d-x-2-x-android-libpng-vulnerability-fix/

こちらを参考に、このブログの記事内のlibpng_fix.zip for Cocos2d-x 2.xをダウンロードしまして、

cocos2dx/platform/third_party/android/prebuiltlibpngは置き換えて、libzlibは追加します

projects/your_propject/proj.android/jni/Android.mk

LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libzlib_static

$(call import-module,libzlib)

を追加します


ビルドして確認

これで、ビルドしてapkを作りまして、

$ unzip -p your.apk | strings | grep "OpenSSL"

> ...
> \CAST part of OpenSSL 1.0.1r 28 Jan 2016

$ unzip -p your.apk | strings | grep "libpng"

> ...
> libpng version 1.6.16 - December 22, 2014
> ...

となってればオッケーです