From 53154d03dd90dcbcba0c4356019b8744d9382e63 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Tue, 25 Aug 2020 17:37:44 +0700 Subject: [PATCH] Add strace, fix startup error --- .../java/net/kdt/pojavlaunch/MainActivity.java | 15 +++++++++++++-- .../net/kdt/pojavlaunch/PojavLoginActivity.java | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java index bac0dae09..e7d22b080 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/MainActivity.java @@ -124,7 +124,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, private static final int LTYPE_INVOCATION = 0; private static final int LTYPE_PROCESS = 1; - private final int LAUNCH_TYPE = LTYPE_PROCESS; + private final int LAUNCH_TYPE = LTYPE_INVOCATION; // LTYPE_INVOCATION; // private static Collection rsaPkcs1List; @@ -995,7 +995,14 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, Os.setenv(name, value, true); } } - + + private static void startStrace(int pid) throws Exception { + String[] straceArgs = new String[] {"/system/bin/strace", + "-o", new File(Tools.MAIN_PATH, "strace.txt").getAbsolutePath(), "-f", "-p", "" + pid}; + System.out.println("strace args: " + Arrays.toString(straceArgs)); + Runtime.getRuntime().exec(straceArgs); + } + private void runCraft() throws Throwable { String[] launchArgs = getMCArgs(); @@ -1096,6 +1103,10 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener, BinaryExecutor.initJavaRuntime(); BinaryExecutor.chdir(Tools.MAIN_PATH); + if (new File(Tools.MAIN_PATH, "strace.txt").exists()) { + startStrace(android.os.Process.myTid()); + } + VMLauncher.launchJVM(javaArgList.toArray(new String[0])); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 18c537f72..0d59838ee 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -70,7 +70,6 @@ public class PojavLoginActivity extends AppCompatActivity private void init() { firstLaunchPrefs = getSharedPreferences("pojav_extract", MODE_PRIVATE); - new File(Tools.mpProfiles).mkdir(); // Remove vmos warning??? /* @@ -308,6 +307,7 @@ public class PojavLoginActivity extends AppCompatActivity mkdirs(Tools.worksDir); mkdirs(Tools.versnDir); mkdirs(Tools.libraries); + mkdirs(Tools.mpProfiles); File file0 = new File(Tools.mpProfiles); File file1 = new File(Tools.mpModEnable);