当我尝试在Google Play开发者控制台中发布我的应用时,我收到一个错误,即所使用的libpng版本容易受到攻击。
漏洞已在libpng v1.0.66,v.1.2.56,v.1.4.19中修复, v1.5.26或更高。您可以在此Google帮助中心文章https://support.google.com/faqs/answer/7011127中找到有关如何解决问题的详细信息。
但是,我根本不需要libpng所以我不想升级而是删除它。我的应用程序使用OpenCV 2.4.11和Tesseract(再次附带leptonica)。在使用ndk-build将HAVE_LIBPNG标志设置为false后,我重新编译了OpenCV和Tesseract。
检查我的apk文件时,库文件夹中没有libpng。
Google为什么一直拒绝该应用?我还能做些什么才能接受该应用?
任何想法都表示赞赏。
编辑: 我看过Android: Removing OpenCV older version will resolve Libpng Vulnerability warning?。 我不想更新到OpenCV 3.1,只是从我的应用程序中删除libpng。我没有使用它,所以较小的apk也可以从简单的移除中获益。
答案 0 :(得分:1)
好的,我的所作所为:
已更新至OpenCV 2.4.13.1,可以下载here。
更新了Tesseract(以及Leptonica,其中包括tess-two项目)到最新版本。
在构建Tesseract之前:
总结一下:我过时的OpenCV版本是一个问题,但Tesseract也使用了易受攻击的libpng版本。即使是我现在使用的较新的tesseract版本也使用了这个易受攻击的libpng版本,所以我不得不手动排除它。
如果有人知道比上述所有要点更好的解决方案,我仍然感兴趣。