我在我的应用程序中使用以下依赖项:
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 play 控制台拒绝了我的应用程序,并指出 libpng 漏洞问题。
所以我将 opencv 库更新到 3.1.0,但 google play 控制台仍然拒绝说相同的 libpng 漏洞问题。
所以我很困惑上面是否有其他库正在使用 libpng 库?
EDIT:
我创建了一个示例项目,其中包含上述库,出于测试目的,我将 opencv 降级到 2.4.8(其中有 libpng 问题),我能说的是,它没有给出有关 libpng 的任何警告,它正在发布。那么问题到底出在哪里呢?
我发现了问题所在。
旧的 opencv 库(有漏洞问题)创建libopencv_java.so文件,它仍然存在于libs即使在更新库后也会出现此文件夹。所以不知何故新.so文件未生成。
解决步骤:
- 首先我删除了libopencv_java.so来自 libs 文件夹。
- 为了清楚起见,我删除了其中的所有内容build folder.
- 添加了 opencv 2.4.13.1 gradle 依赖项(编译'com.iparse.android:opencv:2.4.13.1')
如果想查看opencv使用的libpng版本,首先找到libopencv_java.so这将在libs or build文件夹并在终端中使用以下命令strings libopencv_java.so | grep "libpng"
.
之后我在 Playstore 中发布,一切都很好。希望这对某人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)