From d66dba265c55395bfe371f93588a96921d1f3544 Mon Sep 17 00:00:00 2001 From: 5ec1cff Date: Fri, 8 Dec 2023 20:32:40 +0800 Subject: [PATCH] upload zygiskd debug symbols --- .github/workflows/ci.yml | 12 ++++++++++++ zygiskd/build.gradle.kts | 10 +++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ad99e2..263f128 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -87,3 +87,15 @@ jobs: with: name: ${{ steps.prepareArtifact.outputs.debugName }} path: "./zksu-debug/*" + + - name: Upload release symbols + uses: actions/upload-artifact@v3 + with: + name: ${{ steps.prepareArtifact.outputs.releaseName }}-symbols + path: "zygiskd/build/symbols/release" + + - name: Upload debug symbols + uses: actions/upload-artifact@v3 + with: + name: ${{ steps.prepareArtifact.outputs.debugName }}-symbols + path: "zygiskd/build/symbols/release" diff --git a/zygiskd/build.gradle.kts b/zygiskd/build.gradle.kts index 32f3fed..c08747f 100644 --- a/zygiskd/build.gradle.kts +++ b/zygiskd/build.gradle.kts @@ -31,19 +31,23 @@ cargo { afterEvaluate { task("buildAndStrip") { dependsOn(":zygiskd:cargoBuild") + val isDebug = gradle.startParameter.taskNames.any { it.toLowerCase().contains("debug") } doLast { val dir = File(buildDir, "rustJniLibs/android") val prebuilt = File(android.ndkDirectory, "toolchains/llvm/prebuilt").listFiles()!!.first() val binDir = File(prebuilt, "bin") - println("binDir $binDir") + val symbolDir = File(buildDir, "symbols/${if (isDebug) "debug" else "release"}") + symbolDir.mkdirs() val suffix = if (prebuilt.name.contains("windows")) ".exe" else "" val strip = File(binDir, "llvm-strip$suffix") val objcopy = File(binDir, "llvm-objcopy$suffix") dir.listFiles()!!.forEach { if (!it.isDirectory) return@forEach + val symbolPath = File(symbolDir, "${it.name}/zygiskd.debug") + symbolPath.parentFile.mkdirs() exec { workingDir = it - commandLine(objcopy, "--only-keep-debug", "zygiskd", "zygiskd.debug") + commandLine(objcopy, "--only-keep-debug", "zygiskd", symbolPath) } exec { workingDir = it @@ -51,7 +55,7 @@ afterEvaluate { } exec { workingDir = it - commandLine(objcopy, "--add-gnu-debuglink", "zygiskd.debug", "zygiskd") + commandLine(objcopy, "--add-gnu-debuglink", symbolPath, "zygiskd") } } }