diff --git a/daemon/src/main/java/org/lsposed/lspd/service/Dex2OatService.java b/daemon/src/main/java/org/lsposed/lspd/service/Dex2OatService.java index 30974a16..dba8bd7d 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/Dex2OatService.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/Dex2OatService.java @@ -28,6 +28,7 @@ import android.net.LocalServerSocket; import android.os.Build; import android.os.FileObserver; +import android.os.Process; import android.os.SELinux; import android.system.ErrnoException; import android.system.Os; @@ -66,8 +67,8 @@ private void openDex2oat(int id, String path) { public Dex2OatService() { if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) { - openDex2oat(0, "/apex/com.android.runtime/bin/dex2oat"); - openDex2oat(1, "/apex/com.android.runtime/bin/dex2oatd"); + openDex2oat(Process.is64Bit() ? 2 : 0, "/apex/com.android.runtime/bin/dex2oat"); + openDex2oat(Process.is64Bit() ? 3 : 1, "/apex/com.android.runtime/bin/dex2oatd"); } else { openDex2oat(0, "/apex/com.android.art/bin/dex2oat32"); openDex2oat(1, "/apex/com.android.art/bin/dex2oatd32");