Detect ABI_STRING correctly

This commit is contained in:
Mygod
2020-08-12 01:39:50 +08:00
parent 27e93b2a78
commit f5ea58e35a

View File

@@ -12,7 +12,10 @@ object AppProcess {
*/ */
@get:RequiresApi(29) @get:RequiresApi(29)
val genericLdConfigFilePath: String get() { 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 { if (Build.VERSION.SDK_INT >= 30) "/linkerconfig/ld.config.txt".let {
check(File(it).isFile) { "failed to find generated linker configuration from \"$it\"" } check(File(it).isFile) { "failed to find generated linker configuration from \"$it\"" }
return it return it