MIF_E31230650/Library/Bee/Android/Prj/IL2CPP/Gradle/shared/keepUnitySymbols.gradle

34 lines
1.5 KiB
Groovy

// Keeps symbols in runtime binaries, enabling stacktrace resolving at runtime.
// Don't use it for publishing, because it increases the size of deployable package.
androidComponents {
onVariants (selector().all(), { variant ->
{
// libil2cpp.usym.so is a special file produced by il2cpp, it's not an elf binary, thus ignore it
// if not ignored, there will be an error in log:
// llvm-strip.exe: error: '...libil2cpp.usym.so': The file was not recognized as a valid object file
packaging.jniLibs.keepDebugSymbols.add("**/libil2cpp.usym.so")
if (variant.name.toLowerCase().contains("release"))
{
println "Variant '${variant.name}', symbols will be stripped from binaries."
return
}
def files = [
'libunity.so',
'libil2cpp.so',
'libmain.so'
]
// Note: even though gradle won't strip symbols from these binaries
// we later will copy symbols from unityLibrary/symbols to 'extract${configName}Native${symbolType}' task output directory
// that way they will end up in final symbols package
println "Variant '${variant.name}', will keep symbols in binaries for:"
for (String symbolToKeep: files) {
println " '${symbolToKeep}'"
packaging.jniLibs.keepDebugSymbols.add("**/${symbolToKeep}")
}
}
})
}