commit
d95a5ee527
|
@ -51,7 +51,7 @@ android {
|
|||
variant.mergeAssetsProvider.get().doLast {
|
||||
def arch = System.getProperty("arch", "all")
|
||||
def assetsDir = mergeAssetsProvider.get().outputDir.get()
|
||||
def java = ['jre8', 'jre17']
|
||||
def java = ['jre8', 'jre17', 'jre21']
|
||||
println(arch)
|
||||
java.forEach { String str ->
|
||||
def runtimeDir = new File([assetsDir, "app_runtime/java/" + str].join(File.separator))
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
1
|
|
@ -7,7 +7,6 @@ import android.os.Bundle;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
@ -18,6 +17,7 @@ import com.tungsten.fcl.util.RuntimeUtils;
|
|||
import com.tungsten.fclauncher.utils.FCLPath;
|
||||
import com.tungsten.fclcore.util.io.FileUtils;
|
||||
import com.tungsten.fcllibrary.component.FCLFragment;
|
||||
import com.tungsten.fcllibrary.component.view.FCLProgressBar;
|
||||
import com.tungsten.fcllibrary.util.LocaleUtils;
|
||||
import com.tungsten.fcllibrary.component.view.FCLButton;
|
||||
import com.tungsten.fcllibrary.component.view.FCLImageView;
|
||||
|
@ -33,18 +33,21 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
boolean cacio17 = false;
|
||||
boolean java8 = false;
|
||||
boolean java17 = false;
|
||||
boolean java21 = false;
|
||||
|
||||
private ProgressBar lwjglProgress;
|
||||
private ProgressBar cacioProgress;
|
||||
private ProgressBar cacio17Progress;
|
||||
private ProgressBar java8Progress;
|
||||
private ProgressBar java17Progress;
|
||||
private FCLProgressBar lwjglProgress;
|
||||
private FCLProgressBar cacioProgress;
|
||||
private FCLProgressBar cacio17Progress;
|
||||
private FCLProgressBar java8Progress;
|
||||
private FCLProgressBar java17Progress;
|
||||
private FCLProgressBar java21Progress;
|
||||
|
||||
private FCLImageView lwjglState;
|
||||
private FCLImageView cacioState;
|
||||
private FCLImageView cacio17State;
|
||||
private FCLImageView java8State;
|
||||
private FCLImageView java17State;
|
||||
private FCLImageView java21State;
|
||||
|
||||
private FCLButton install;
|
||||
|
||||
|
@ -58,12 +61,14 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
cacio17Progress = findViewById(view, R.id.cacio17_progress);
|
||||
java8Progress = findViewById(view, R.id.java8_progress);
|
||||
java17Progress = findViewById(view, R.id.java17_progress);
|
||||
java21Progress = findViewById(view, R.id.java21_progress);
|
||||
|
||||
lwjglState = findViewById(view, R.id.lwjgl_state);
|
||||
cacioState = findViewById(view, R.id.cacio_state);
|
||||
cacio17State = findViewById(view, R.id.cacio17_state);
|
||||
java8State = findViewById(view, R.id.java8_state);
|
||||
java17State = findViewById(view, R.id.java17_state);
|
||||
java21State = findViewById(view, R.id.java21_state);
|
||||
|
||||
initState();
|
||||
|
||||
|
@ -80,26 +85,11 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
private void initState() {
|
||||
try {
|
||||
lwjgl = RuntimeUtils.isLatest(FCLPath.LWJGL_DIR, "/assets/app_runtime/lwjgl");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
cacio = RuntimeUtils.isLatest(FCLPath.CACIOCAVALLO_8_DIR, "/assets/app_runtime/caciocavallo");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
cacio17 = RuntimeUtils.isLatest(FCLPath.CACIOCAVALLO_17_DIR, "/assets/app_runtime/caciocavallo17");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
java8 = RuntimeUtils.isLatest(FCLPath.JAVA_8_PATH, "/assets/app_runtime/java/jre8");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
java17 = RuntimeUtils.isLatest(FCLPath.JAVA_17_PATH, "/assets/app_runtime/java/jre17");
|
||||
java21 = RuntimeUtils.isLatest(FCLPath.JAVA_21_PATH, "/assets/app_runtime/java/jre21");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -118,11 +108,12 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
cacio17State.setBackgroundDrawable(cacio17 ? stateDone : stateUpdate);
|
||||
java8State.setBackgroundDrawable(java8 ? stateDone : stateUpdate);
|
||||
java17State.setBackgroundDrawable(java17 ? stateDone : stateUpdate);
|
||||
java21State.setBackgroundDrawable(java21 ? stateDone : stateUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isLatest() {
|
||||
return lwjgl && cacio && cacio17 && java8 && java17;
|
||||
return lwjgl && cacio && cacio17 && java8 && java17 && java21;
|
||||
}
|
||||
|
||||
private void check() {
|
||||
|
@ -245,6 +236,31 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
}
|
||||
}).start();
|
||||
}
|
||||
if (!java21) {
|
||||
java21State.setVisibility(View.GONE);
|
||||
java21Progress.setVisibility(View.VISIBLE);
|
||||
new Thread(() -> {
|
||||
try {
|
||||
RuntimeUtils.installJava(getContext(), FCLPath.JAVA_21_PATH, "app_runtime/java/jre21");
|
||||
if (!LocaleUtils.getSystemLocale().getDisplayName().equals(Locale.CHINA.getDisplayName())) {
|
||||
FileUtils.writeText(new File(FCLPath.JAVA_21_PATH + "/resolv.conf"), "nameserver 1.1.1.1\n" + "nameserver 1.0.0.1");
|
||||
} else {
|
||||
FileUtils.writeText(new File(FCLPath.JAVA_21_PATH + "/resolv.conf"), "nameserver 8.8.8.8\n" + "nameserver 8.8.4.4");
|
||||
}
|
||||
java21 = true;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (getActivity() != null) {
|
||||
getActivity().runOnUiThread(() -> {
|
||||
java21State.setVisibility(View.VISIBLE);
|
||||
java21Progress.setVisibility(View.GONE);
|
||||
refreshDrawables();
|
||||
check();
|
||||
});
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -78,7 +78,8 @@ public class JarExecutorHelper {
|
|||
return 8;
|
||||
int diffFactorFirst = Math.abs(8 - majorVersion);
|
||||
int diffFactorSecond = Math.abs(17 - majorVersion);
|
||||
return diffFactorFirst < diffFactorSecond ? 8 : 17;
|
||||
int diffFactorThird = Math.abs(21 - majorVersion);
|
||||
return diffFactorFirst < diffFactorSecond ? 8 : diffFactorSecond < diffFactorThird ? 17 : 21;
|
||||
}
|
||||
|
||||
private static int getJavaVersion(File file) {
|
||||
|
|
|
@ -119,7 +119,7 @@ public class JarExecutorLauncher extends Launcher {
|
|||
FCLConfig config = new FCLConfig(
|
||||
context,
|
||||
FCLPath.LOG_DIR,
|
||||
javaVersion == 8 ? FCLPath.JAVA_8_PATH : FCLPath.JAVA_17_PATH,
|
||||
javaVersion == 8 ? FCLPath.JAVA_8_PATH : javaVersion == 17 ? FCLPath.JAVA_17_PATH : FCLPath.JAVA_21_PATH,
|
||||
Profiles.getSelectedProfile().getGameDir().getAbsolutePath(),
|
||||
FCLConfig.Renderer.RENDERER_GL4ES,
|
||||
finalArgs
|
||||
|
|
|
@ -137,6 +137,7 @@ public class VersionSettingPage extends FCLCommonPage implements ManageUI.Versio
|
|||
javaVersionDataList.add(JavaVersion.JAVA_AUTO.getId());
|
||||
javaVersionDataList.add(JavaVersion.JAVA_8.getId());
|
||||
javaVersionDataList.add(JavaVersion.JAVA_17.getId());
|
||||
javaVersionDataList.add(JavaVersion.JAVA_21.getId());
|
||||
javaSpinner.setDataList(javaVersionDataList);
|
||||
|
||||
ArrayList<FCLConfig.Renderer> rendererDataList = new ArrayList<>();
|
||||
|
@ -152,6 +153,7 @@ public class VersionSettingPage extends FCLCommonPage implements ManageUI.Versio
|
|||
javaVersionList.add(getContext().getString(R.string.settings_game_java_version_auto));
|
||||
javaVersionList.add("JRE 8");
|
||||
javaVersionList.add("JRE 17");
|
||||
javaVersionList.add("JRE 21");
|
||||
ArrayAdapter<String> javaAdapter = new ArrayAdapter<>(getContext(), R.layout.item_spinner_auto_tint, javaVersionList);
|
||||
javaAdapter.setDropDownViewResource(R.layout.item_spinner_dropdown);
|
||||
javaSpinner.setAdapter(javaAdapter);
|
||||
|
|
|
@ -220,6 +220,47 @@
|
|||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@android:color/darker_gray"/>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/splash_runtime_java21"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLProgressBar
|
||||
android:visibility="gone"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:id="@+id/java21_progress"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
app:auto_src_tint="false"
|
||||
android:backgroundTint="@android:color/darker_gray"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/java21_state"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
</ScrollView>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<string name="splash_runtime_cacio17" translatable="false">Caciocavallo 17</string>
|
||||
<string name="splash_runtime_java8" translatable="false">JRE 8</string>
|
||||
<string name="splash_runtime_java17" translatable="false">JRE 17</string>
|
||||
<string name="splash_runtime_java21" translatable="false">JRE 21</string>
|
||||
<string name="splash_runtime_install">Install / Update</string>
|
||||
|
||||
<string name="account">Account</string>
|
||||
|
|
|
@ -35,8 +35,8 @@ public class ProcessService extends Service {
|
|||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
String[] command = intent.getExtras().getStringArray("command");
|
||||
boolean first = intent.getExtras().getBoolean("first");
|
||||
String jre = first ? "jre8" : "jre17";
|
||||
int java = intent.getExtras().getInt("java");
|
||||
String jre = "jre" + java;
|
||||
FCLConfig config = new FCLConfig(
|
||||
getApplicationContext(),
|
||||
Environment.getExternalStorageDirectory().getAbsolutePath() + "/FCL/log",
|
||||
|
|
|
@ -157,7 +157,7 @@ public class ForgeNewInstallTask extends Task<Version> {
|
|||
|
||||
command.addAll(args);
|
||||
|
||||
runJVMProcess(processor, command, true);
|
||||
runJVMProcess(processor, command, 8);
|
||||
|
||||
for (Map.Entry<String, String> entry : outputs.entrySet()) {
|
||||
Path artifact = Paths.get(entry.getKey());
|
||||
|
@ -177,7 +177,7 @@ public class ForgeNewInstallTask extends Task<Version> {
|
|||
}
|
||||
}
|
||||
|
||||
private void runJVMProcess(ForgeNewInstallProfile.Processor processor, List<String> command, boolean first) throws Exception {
|
||||
private void runJVMProcess(ForgeNewInstallProfile.Processor processor, List<String> command, int java) throws Exception {
|
||||
LOG.info("Executing external processor " + processor.getJar().toString() + ", command line: " + new CommandBuilder().addAll(command).toString());
|
||||
int exitCode;
|
||||
boolean listen = true;
|
||||
|
@ -195,15 +195,17 @@ public class ForgeNewInstallTask extends Task<Version> {
|
|||
Intent service = new Intent(FCLPath.CONTEXT, ProcessService.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putStringArray("command", command.toArray(new String[0]));
|
||||
bundle.putBoolean("first", first);
|
||||
bundle.putInt("java", java);
|
||||
service.putExtras(bundle);
|
||||
FCLPath.CONTEXT.startService(service);
|
||||
server.start();
|
||||
latch.await();
|
||||
exitCode = Integer.parseInt((String) server.getResult());
|
||||
if (exitCode != 0) {
|
||||
if (first) {
|
||||
runJVMProcess(processor, command, false);
|
||||
if (java == 8) {
|
||||
runJVMProcess(processor, command, 17);
|
||||
} else if (java == 17) {
|
||||
runJVMProcess(processor, command, 21);
|
||||
} else {
|
||||
throw new IOException("Game processor exited abnormally with code " + exitCode);
|
||||
}
|
||||
|
|
|
@ -158,7 +158,7 @@ public class NeoForgeOldInstallTask extends Task<Version> {
|
|||
|
||||
command.addAll(args);
|
||||
|
||||
runJVMProcess(processor, command, true);
|
||||
runJVMProcess(processor, command, 8);
|
||||
|
||||
for (Map.Entry<String, String> entry : outputs.entrySet()) {
|
||||
Path artifact = Paths.get(entry.getKey());
|
||||
|
@ -178,7 +178,7 @@ public class NeoForgeOldInstallTask extends Task<Version> {
|
|||
}
|
||||
}
|
||||
|
||||
private void runJVMProcess(ForgeNewInstallProfile.Processor processor, List<String> command, boolean first) throws Exception {
|
||||
private void runJVMProcess(ForgeNewInstallProfile.Processor processor, List<String> command, int java) throws Exception {
|
||||
LOG.info("Executing external processor " + processor.getJar().toString() + ", command line: " + new CommandBuilder().addAll(command).toString());
|
||||
int exitCode;
|
||||
boolean listen = true;
|
||||
|
@ -196,15 +196,17 @@ public class NeoForgeOldInstallTask extends Task<Version> {
|
|||
Intent service = new Intent(FCLPath.CONTEXT, ProcessService.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putStringArray("command", command.toArray(new String[0]));
|
||||
bundle.putBoolean("first", first);
|
||||
bundle.putInt("java", java);
|
||||
service.putExtras(bundle);
|
||||
FCLPath.CONTEXT.startService(service);
|
||||
server.start();
|
||||
latch.await();
|
||||
exitCode = Integer.parseInt((String) server.getResult());
|
||||
if (exitCode != 0) {
|
||||
if (first) {
|
||||
runJVMProcess(processor, command, false);
|
||||
if (java == 8) {
|
||||
runJVMProcess(processor, command, 17);
|
||||
} else if (java == 17) {
|
||||
runJVMProcess(processor, command, 21);
|
||||
} else {
|
||||
throw new IOException("Game processor exited abnormally with code " + exitCode);
|
||||
}
|
||||
|
|
|
@ -160,7 +160,7 @@ public final class OptiFineInstallTask extends Task<Version> {
|
|||
dest.toString(),
|
||||
gameRepository.getLibraryFile(version, optiFineLibrary).toString()
|
||||
};
|
||||
runJVMProcess(command, true);
|
||||
runJVMProcess(command, 8);
|
||||
} else {
|
||||
FileUtils.copyFile(dest, gameRepository.getLibraryFile(version, optiFineLibrary).toPath());
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ public final class OptiFineInstallTask extends Task<Version> {
|
|||
dependencies.add(dependencyManager.checkLibraryCompletionAsync(getResult(), true));
|
||||
}
|
||||
|
||||
private void runJVMProcess(String[] command, boolean first) throws Exception {
|
||||
private void runJVMProcess(String[] command, int java) throws Exception {
|
||||
int exitCode;
|
||||
boolean listen = true;
|
||||
while (listen) {
|
||||
|
@ -239,15 +239,17 @@ public final class OptiFineInstallTask extends Task<Version> {
|
|||
Intent service = new Intent(FCLPath.CONTEXT, ProcessService.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putStringArray("command", command);
|
||||
bundle.putBoolean("first", first);
|
||||
bundle.putInt("java", java);
|
||||
service.putExtras(bundle);
|
||||
FCLPath.CONTEXT.startService(service);
|
||||
server.start();
|
||||
latch.await();
|
||||
exitCode = Integer.parseInt((String) server.getResult());
|
||||
if (exitCode != 0) {
|
||||
if (first) {
|
||||
runJVMProcess(command, false);
|
||||
if (java == 8) {
|
||||
runJVMProcess(command, 17);
|
||||
} else if (java == 17) {
|
||||
runJVMProcess(command, 21);
|
||||
} else {
|
||||
throw new IOException("OptiFine patcher failed, command: " + new CommandBuilder().addAll(Arrays.asList(command)));
|
||||
}
|
||||
|
|
|
@ -5,8 +5,8 @@ import com.tungsten.fclauncher.utils.FCLPath;
|
|||
public class JavaVersion {
|
||||
|
||||
public static final int JAVA_VERSION_8 = 8;
|
||||
|
||||
public static final int JAVA_VERSION_17 = 17;
|
||||
public static final int JAVA_VERSION_21 = 21;
|
||||
|
||||
private final int id;
|
||||
private final boolean auto;
|
||||
|
@ -16,6 +16,7 @@ public class JavaVersion {
|
|||
public static final JavaVersion JAVA_AUTO = new JavaVersion(0, true, JAVA_VERSION_8, "Auto");
|
||||
public static final JavaVersion JAVA_8 = new JavaVersion(1, false, JAVA_VERSION_8, "1.8");
|
||||
public static final JavaVersion JAVA_17 = new JavaVersion(2, false, JAVA_VERSION_17, "17");
|
||||
public static final JavaVersion JAVA_21 = new JavaVersion(3, false, JAVA_VERSION_21, "21");
|
||||
|
||||
public JavaVersion(int id, boolean auto, int version, String versionName) {
|
||||
this.id = id;
|
||||
|
@ -42,24 +43,30 @@ public class JavaVersion {
|
|||
|
||||
public String getJavaPath(Version version) {
|
||||
JavaVersion javaVersion = auto ? getSuitableJavaVersion(version) : this;
|
||||
return javaVersion.getVersion() == JAVA_VERSION_8 ? FCLPath.JAVA_8_PATH : FCLPath.JAVA_17_PATH;
|
||||
if (javaVersion.getVersion() == JAVA_VERSION_8) {
|
||||
return FCLPath.JAVA_8_PATH;
|
||||
} else if (javaVersion.getVersion() == JAVA_VERSION_17) {
|
||||
return FCLPath.JAVA_17_PATH;
|
||||
}
|
||||
return FCLPath.JAVA_21_PATH;
|
||||
}
|
||||
|
||||
public static JavaVersion getJavaFromId(int id) {
|
||||
if (id == 0) {
|
||||
return JAVA_AUTO;
|
||||
}
|
||||
else if (id == 1) {
|
||||
} else if (id == 1) {
|
||||
return JAVA_8;
|
||||
}
|
||||
else {
|
||||
} else if (id == 2) {
|
||||
return JAVA_17;
|
||||
}
|
||||
return JAVA_21;
|
||||
}
|
||||
|
||||
public static JavaVersion getSuitableJavaVersion(Version version) {
|
||||
if (version.getJavaVersion() == null || version.getJavaVersion().getMajorVersion() == 8) {
|
||||
return JAVA_8;
|
||||
} else if (version.getJavaVersion().getMajorVersion() == 21) {
|
||||
return JAVA_21;
|
||||
}
|
||||
return JAVA_17;
|
||||
}
|
||||
|
@ -67,6 +74,8 @@ public class JavaVersion {
|
|||
public static boolean checkJavaVersion(Version version, JavaVersion javaVersion) {
|
||||
if (version.getJavaVersion() == null || version.getJavaVersion().getMajorVersion() == 8) {
|
||||
return javaVersion.getVersion() == JAVA_VERSION_8;
|
||||
} else if (version.getJavaVersion().getMajorVersion() == 21) {
|
||||
return javaVersion.getVersion() == JAVA_VERSION_21;
|
||||
}
|
||||
return javaVersion.getVersion() == JAVA_VERSION_17;
|
||||
}
|
||||
|
|
|
@ -136,8 +136,8 @@ public class DefaultLauncher extends Launcher {
|
|||
|
||||
// FCL specific args
|
||||
JavaVersion javaVersion = options.getJava().getId() == 0 ? JavaVersion.getSuitableJavaVersion(version) : options.getJava();
|
||||
if (javaVersion.getVersion() == JavaVersion.JAVA_VERSION_17) {
|
||||
res.addDefault("-Dext.net.resolvPath=", FCLPath.JAVA_17_PATH + "/resolv.conf");
|
||||
if (javaVersion.getVersion() == JavaVersion.JAVA_VERSION_17 || javaVersion.getVersion() == JavaVersion.JAVA_VERSION_21) {
|
||||
res.addDefault("-Dext.net.resolvPath=", javaVersion.getJavaPath(version) + "/resolv.conf");
|
||||
}
|
||||
|
||||
res.addDefault("-Djava.io.tmpdir=", FCLPath.CACHE_DIR);
|
||||
|
@ -408,7 +408,7 @@ public class DefaultLauncher extends Launcher {
|
|||
FCLConfig config = new FCLConfig(
|
||||
context,
|
||||
FCLPath.LOG_DIR,
|
||||
options.getJava().getVersion() == 8 ? FCLPath.JAVA_8_PATH : FCLPath.JAVA_17_PATH,
|
||||
options.getJava().getJavaPath(version),
|
||||
repository.getRunDirectory(version.getId()).getAbsolutePath(),
|
||||
renderer,
|
||||
finalArgs
|
||||
|
|
|
@ -17,6 +17,7 @@ public class FCLPath {
|
|||
public static String RUNTIME_DIR;
|
||||
public static String JAVA_8_PATH;
|
||||
public static String JAVA_17_PATH;
|
||||
public static String JAVA_21_PATH;
|
||||
public static String LWJGL_DIR;
|
||||
public static String CACIOCAVALLO_8_DIR;
|
||||
public static String CACIOCAVALLO_17_DIR;
|
||||
|
@ -45,6 +46,7 @@ public class FCLPath {
|
|||
RUNTIME_DIR = context.getDir("runtime", 0).getAbsolutePath();
|
||||
JAVA_8_PATH = RUNTIME_DIR + "/java/jre8";
|
||||
JAVA_17_PATH = RUNTIME_DIR + "/java/jre17";
|
||||
JAVA_21_PATH = RUNTIME_DIR + "/java/jre21";
|
||||
LWJGL_DIR = RUNTIME_DIR + "/lwjgl";
|
||||
CACIOCAVALLO_8_DIR = RUNTIME_DIR + "/caciocavallo";
|
||||
CACIOCAVALLO_17_DIR = RUNTIME_DIR + "/caciocavallo17";
|
||||
|
@ -66,6 +68,7 @@ public class FCLPath {
|
|||
init(RUNTIME_DIR);
|
||||
init(JAVA_8_PATH);
|
||||
init(JAVA_17_PATH);
|
||||
init(JAVA_21_PATH);
|
||||
init(LWJGL_DIR);
|
||||
init(CACIOCAVALLO_8_DIR);
|
||||
init(CACIOCAVALLO_17_DIR);
|
||||
|
|
Loading…
Reference in New Issue