commit a75193074280dbd34b1a6b79c91354da61430f62
parent 3e3424fea3afd009b316ab24ef09c0eb2485a8a9
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date: Sat, 10 Feb 2024 21:47:32 +0100
fix(core): <A10 loadLibrary
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/SnapEnhance.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/SnapEnhance.kt
@@ -4,6 +4,7 @@ import android.app.Activity
import android.app.Application
import android.content.Context
import android.content.res.Resources
+import android.os.Build
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -178,9 +179,12 @@ class SnapEnhance {
lateinit var unhook: () -> Unit
Runtime::class.java.declaredMethods.first {
- it.name == "loadLibrary0" && it.parameterTypes.contentEquals(arrayOf(ClassLoader::class.java, Class::class.java, String::class.java))
+ it.name == "loadLibrary0" && it.parameterTypes.contentEquals(
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) arrayOf(Class::class.java, String::class.java)
+ else arrayOf(ClassLoader::class.java, String::class.java)
+ )
}.hook(HookStage.AFTER) { param ->
- val libName = param.arg<String>(2)
+ val libName = param.arg<String>(1)
if (libName != "client") return@hook
unhook()
appContext.native.initOnce()