一切都在标题中,谷歌抱怨我的apk中包含安全风险的libpng版本。但我自己并没有包括那个图书馆。我想这是我包含的依赖项之一,但我不知道如何找到它。
以下是我的gradle模块的依赖项部分的内容:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile('com.google.http-client:google-http-client-gson:1.21.0') {
exclude module: 'xpp3'
exclude group: 'stax'
}
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.9.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'
compile 'com.octo.android.robospice:robospice:1.4.14'
compile 'com.octo.android.robospice:robospice-google-http-client:1.4.14'
compile 'org.lucasr.twowayview:twowayview:0.1.4'
compile 'com.github.neopixl:PixlUI:v1.0.6'
compile 'com.github.bluejamesbond:textjustify-android:2.1.6'
compile('com.crashlytics.sdk.android:crashlytics:2.6.0@aar') {
transitive = true;
}
compile 'com.fernandocejas:arrow:1.0.0'
compile 'com.flurry.android:analytics:6.4.0'
compile project(':sdktools')
}
sdktools这里指的是Scout(Skobbler Scout,原生离线地图查看器工具)
此外,此处未列出,但我还在我的libs目录中包含通用图像加载器v1.9.5。
总而言之,我的问题是:如何找到哪些依赖项包含旧版本的libpng?或者您是否知道基于此依赖关系结构中的哪些包含它?
答案 0 :(得分:1)
以下是查找apk中哪个库使用libpng的方法:
在Mac上:
MyApkRootDirectory $ grep -r --text" libpng"
OR
MyApkRootDirectory $ grep -r --text" libpng" *
-r:告诉grep以递归方式执行搜索
- text:处理二进制文件,就好像它是文本一样;这相当于--binary-files = text选项。
如果要突出显示匹配的文本以便于查看(查看libpng版本),请同时使用--color选项。
有关grep的更多信息,请参阅此链接: http://www.computerhope.com/unix/ugrep.htm