即使在更新 opencv 库后也存在 Libpng 漏洞问题

Libpng vulnerability issue even after updating opencv library

我在我的应用程序中使用了以下依赖项:

dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
compile project(':zxing-2.3.0')
compile project(':ColorPickerView')
compile project(':DropboxChooserSDK')
compile project(':PullToRefreshLibrary')
compile project(':volley')
compile 'com.android.support:recyclerview-v7:24.0.0-alpha2'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.android.support:design:23.3.0'
compile 'com.github.ctodobom:OpenCV-3.1.0-Android:-SNAPSHOT'
}

我使用的是 opencv 库版本 2.4.8,google 游戏控制台拒绝了我的应用,说 libpng 漏洞问题。 所以我将 opencv 库更新到 3.1.0,但 google 游戏控制台仍然拒绝说同样的 libpng 漏洞问题。

所以我很困惑,如果上面的任何其他库正在使用 libpng 库?

编辑:

我创建了一个包含上述库的示例项目,出于测试目的,我将 opencv 降级到 2.4.8(其中存在 libpng 问题),我能说什么,它没有给出任何关于 libpng 的警告,它正在获取出版。那么问题到底出在哪里呢?

我发现了问题。 旧的 opencv 库(有漏洞问题)创建了 libopencv_java.so 文件并且它仍然存在于 libs 文件夹,即使在更新库之后。所以不知何故,新的 .so 文件没有生成。

解决步骤:

  • 首先我从 libs 文件夹中删除了 libopencv_java.so
  • 为清楚起见,我删除了 build 文件夹中的所有内容。
  • 添加了opencv 2.4.13.1 gradle依赖(编译'com.iparse.android:opencv:2.4.13.1'

如果你想查看opencv使用的libpng版本,首先找到libopencv_java.so,它会在libs或者build 文件夹并在终端 strings libopencv_java.so | grep "libpng" 中使用以下命令。

之后我在 playstore 发布了,一切都很好。希望这对某人有所帮助。