在app模块的build.gradle
文件底部添加
//列出所有包含有so文件的库信息
tasks.whenTaskAdded { Task task ->
if (task.name.startsWith("merge") && task.name.endsWith("NativeLibs")) {
//mergeDebugNativeLibs
//mergeFlavorDebugNativeLibs
task.doFirst { Task t ->
println("------------------- find so files start -------------------")
Set<String> soPathSet = new HashSet<>()
t.inputs.files.each { File file ->
collectSoPath(new File(file.absolutePath), soPathSet)
}
soPathSet.each { String p ->
println "find so file: $p"
}
println("------------------- find so files end -------------------")
}
}
}
def collectSoPath(File file, Set<String> soPathSet) {
if (file == null) {
return
}
if (file.isDirectory()) {
file.listFiles().each { File f ->
collectSoPath(f, soPathSet)
}
return
}
def path = file.absolutePath
if (path.endsWith(".so") && path.contains("armeabi-v7a")) {
soPathSet.add(path)
}
}