Android快速找到项目的so库所属的sdk包

167 阅读1分钟

将以下代码复杂到app模块的gradle的外层,打包后在Build查看即可

tasks.whenTaskAdded { task ->
//    println("-------------------${task.name}")
    if (task.name.endsWith("NativeLibs")) { //如果是有多个flavor,则用 mergeFlavorDebugNativeLibs的形式
        println("****************${task.name}")
        task.doFirst {
            println("------------------- find so files start -------------------")
            
            it.inputs.files.each { file ->
                printDir(new File(file.absolutePath))
            }

            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"
        }
    }
}