本文來源于:https://blog.csdn.net/eieihihi/article/details/109289312
在 app 模塊的 build.gradle 中的最外層,追加以下代碼:
image.png
//列出所有包含有so文件的庫信息
tasks.whenTaskAdded { task ->
if (task.name=='mergeDebugNativeLibs') { //如果是有多個flavor,則用 mergeFlavorDebugNativeLibs的形式
task.doFirst {
println("------------------- find so files start -------------------")
println("------------------- find so files start -------------------")
println("------------------- find so files start -------------------")
it.inputs.files.each { file ->
printDir(new File(file.absolutePath))
}
println("------------------- find so files end -------------------")
println("------------------- find so files end -------------------")
println("------------------- find so files end -------------------")
}
}
}
def printDir(File file) {
if (file != null) {
if (file.isDirectory()) {
file.listFiles().each {
printDir(it)
}
} else if (file.absolutePath.endsWith(".so")) {
println "find so file: $file.absolutePath"
}
}
}
然后“Run app”運行項目,之后 “Build 控制臺” 會打印項目中依賴的“第三方庫及 .so 文件對應關系”。
image.png