in ruler-common/src/main/java/com/spotify/ruler/common/bloaty/Bloaty.kt [59:80]
fun parseNativeLibraryEntry(bytes: ByteArray, debugFile: File?): List<ApkEntry.Default> {
println("Parsing unstripped library at: $debugFile")
if (bloatyPath == null || debugFile == null) {
println("Unable to parse library")
return emptyList()
}
val tmpFile = File.createTempFile("native-lib", ".so").apply {
writeBytes(bytes)
}.also { it.deleteOnExit() }
val command =
"$bloatyPath --debug-file=${debugFile.absolutePath} ${tmpFile.absolutePath} -d compileunits -n 0 --csv"
println("Running bloaty command:")
println(command)
return parseBloatyOutputToApkEntry(command)
}