From f5ea58e35a1f5e63b82da9766a4d81678e41cf90 Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 12 Aug 2020 01:39:50 +0800 Subject: [PATCH] Detect ABI_STRING correctly --- mobile/src/main/java/be/mygod/librootkotlinx/AppProcess.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mobile/src/main/java/be/mygod/librootkotlinx/AppProcess.kt b/mobile/src/main/java/be/mygod/librootkotlinx/AppProcess.kt index cf233217..fe1740e9 100644 --- a/mobile/src/main/java/be/mygod/librootkotlinx/AppProcess.kt +++ b/mobile/src/main/java/be/mygod/librootkotlinx/AppProcess.kt @@ -12,7 +12,10 @@ object AppProcess { */ @get:RequiresApi(29) val genericLdConfigFilePath: String get() { - "/system/etc/ld.config.${Build.VERSION.SDK_INT}.txt".let { if (File(it).isFile) return it } + val classVMRuntime = Class.forName("dalvik.system.VMRuntime") + val abiString = classVMRuntime.getDeclaredMethod("getCurrentInstructionSet").invoke( + classVMRuntime.getDeclaredMethod("getRuntime").invoke(null)) + "/system/etc/ld.config.$abiString.txt".let { if (File(it).isFile) return it } if (Build.VERSION.SDK_INT >= 30) "/linkerconfig/ld.config.txt".let { check(File(it).isFile) { "failed to find generated linker configuration from \"$it\"" } return it