mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-17 08:35:37 -04:00
Add Java sandbox switch, for Quilt installer
#3113 #3187 The security manager malfunctions, causing access denial of certain operations. While this isn't actually a solution, it should at least allow Quilt installer to proceed. java.util.concurrent.CompletionException: java.security.AccessControlException: access denied ("java.net.SocketPermission" "meta.fabricmc.net:443" "connect,resolve")
This commit is contained in:
parent
314c87c7b6
commit
ee1c304a32
@ -271,14 +271,16 @@ public class JavaGUILauncherActivity extends BaseActivity implements View.OnTouc
|
||||
javaArgList.add(modFile.getAbsolutePath());
|
||||
}
|
||||
|
||||
Logger.getInstance().appendToLog("Info: Java arguments: " + Arrays.toString(javaArgList.toArray(new String[0])));
|
||||
|
||||
// Run java on sandbox, non-overrideable.
|
||||
Collections.reverse(javaArgList);
|
||||
javaArgList.add("-Xbootclasspath/a:" + Tools.DIR_DATA + "/security/pro-grade.jar");
|
||||
javaArgList.add("-Djava.security.manager=net.sourceforge.prograde.sm.ProGradeJSM");
|
||||
javaArgList.add("-Djava.security.policy=" + Tools.DIR_DATA + "/security/java_sandbox.policy");
|
||||
Collections.reverse(javaArgList);
|
||||
if (LauncherPreferences.PREF_JAVA_SANDBOX) {
|
||||
Collections.reverse(javaArgList);
|
||||
javaArgList.add("-Xbootclasspath/a:" + Tools.DIR_DATA + "/security/pro-grade.jar");
|
||||
javaArgList.add("-Djava.security.manager=net.sourceforge.prograde.sm.ProGradeJSM");
|
||||
javaArgList.add("-Djava.security.policy=" + Tools.DIR_DATA + "/security/java_sandbox.policy");
|
||||
Collections.reverse(javaArgList);
|
||||
}
|
||||
|
||||
Logger.getInstance().appendToLog("Info: Java arguments: " + Arrays.toString(javaArgList.toArray(new String[0])));
|
||||
|
||||
return JREUtils.launchJavaVM(this, javaArgList);
|
||||
} catch (Throwable th) {
|
||||
|
@ -49,6 +49,7 @@ public class LauncherPreferences {
|
||||
public static boolean PREF_VIRTUAL_MOUSE_START = false;
|
||||
public static boolean PREF_ARC_CAPES = false;
|
||||
public static boolean PREF_USE_ALTERNATE_SURFACE = true;
|
||||
public static boolean PREF_JAVA_SANDBOX = true;
|
||||
public static int PREF_SCALE_FACTOR = 100;
|
||||
|
||||
|
||||
@ -82,6 +83,7 @@ public class LauncherPreferences {
|
||||
PREF_VIRTUAL_MOUSE_START = DEFAULT_PREF.getBoolean("mouse_start", false);
|
||||
PREF_ARC_CAPES = DEFAULT_PREF.getBoolean("arc_capes",false);
|
||||
PREF_USE_ALTERNATE_SURFACE = DEFAULT_PREF.getBoolean("alternate_surface", false);
|
||||
PREF_JAVA_SANDBOX = DEFAULT_PREF.getBoolean("java_sandbox", true);
|
||||
PREF_SCALE_FACTOR = DEFAULT_PREF.getInt("resolutionRatio", 100);
|
||||
|
||||
/*
|
||||
|
@ -110,6 +110,8 @@
|
||||
<string name="mcl_setting_veroption_snapshot">Snapshot</string>
|
||||
<string name="mcl_setting_veroption_oldalpha">Old-alpha</string>
|
||||
<string name="mcl_setting_veroption_oldbeta">Old-beta</string>
|
||||
<string name="mcl_setting_java_sandbox">Sandbox .jar installer</string>
|
||||
<string name="mcl_setting_java_sandbox_subtitle">Control the availability sandbox security manager when launching .jar installer.</string>
|
||||
<string name="mcl_version_clone">Clone</string>
|
||||
|
||||
<!-- Global strings -->
|
||||
|
@ -5,6 +5,11 @@
|
||||
<net.kdt.pojavlaunch.prefs.BackButtonPreference/>
|
||||
|
||||
<PreferenceCategory android:title="Miscellaneous settings">
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="java_sandbox"
|
||||
android:summary="@string/mcl_setting_java_sandbox_subtitle"
|
||||
android:title="@string/mcl_setting_java_sandbox" />
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:icon="@drawable/ic_setting_hash_verification"
|
||||
|
Loading…
x
Reference in New Issue
Block a user