mirror of
https://github.com/xoureldeen/Vectras-VM-Android.git
synced 2026-07-09 17:28:54 +00:00
4.0.8
- Processor options have been added.
This commit is contained in:
parent
daf660a7d2
commit
81b5c7e9a4
11 changed files with 249 additions and 16 deletions
|
|
@ -12,8 +12,8 @@ android {
|
|||
applicationId "com.vectras.vm"
|
||||
minSdk minApi
|
||||
targetSdk targetApi
|
||||
versionCode 111
|
||||
versionName "4.0.7"
|
||||
versionCode 112
|
||||
versionName "4.0.8"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
|
||||
|
|
|
|||
|
|
@ -127,6 +127,8 @@ public class ExportRomActivity extends AppCompatActivity {
|
|||
vmConfigMap.put("icon", current.itemIcon);
|
||||
}
|
||||
|
||||
vmConfigMap.put("cpu", current.cpu);
|
||||
|
||||
boolean isUsingDiskInQemuExtraParams = VMManager.isHaveADisk(current.itemExtra);
|
||||
|
||||
if (FileUtils.isFileExists(current.itemPath)) {
|
||||
|
|
|
|||
|
|
@ -43,6 +43,11 @@ public class StartVM {
|
|||
|
||||
String extraParams = vmData.itemExtra;
|
||||
|
||||
String cpu = Objects.requireNonNull(VMCreatorSelector.getCpu(activity, MainSettingsManager.getArch(activity), vmData.cpu).get("value")).toString();
|
||||
if (!cpu.isEmpty() && !extraParams.contains("-cpu")) {
|
||||
extraParams = "-cpu " + cpu + " " + extraParams;
|
||||
}
|
||||
|
||||
String bootFromParams = Objects.requireNonNull(VMCreatorSelector.getBootFrom(activity, vmData.bootFrom).get("value")).toString();
|
||||
String showBootMenuParams = vmData.isShowBootMenu ? "menu=on" : "";
|
||||
String bootParams = "";
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.vectras.vm.creator;
|
|||
|
||||
import android.content.Context;
|
||||
|
||||
import com.vectras.qemu.MainSettingsManager;
|
||||
import com.vectras.vm.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -18,6 +19,100 @@ public class ListManager {
|
|||
return list;
|
||||
}
|
||||
|
||||
public static ArrayList<HashMap<String, Object>> cpus(Context context, String arch) {
|
||||
return switch (arch) {
|
||||
case MainSettingsManager.ARM64_ARCH -> cpusArm64(context);
|
||||
case MainSettingsManager.PPC_ARCH -> cpusPpc(context);
|
||||
default -> cpusX8664(context);
|
||||
};
|
||||
}
|
||||
|
||||
public static ArrayList<HashMap<String, Object>> cpusX8664(Context context) {
|
||||
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
|
||||
putToList(list, context.getString(R.string.defaulttext), "");
|
||||
putToList(list, context.getString(R.string.qemu64), "qemu64");
|
||||
putToList(list, context.getString(R.string.qemu32), "qemu32");
|
||||
putToList(list, context.getString(R.string.base_cpu), "base");
|
||||
putToList(list, context.getString(R.string.max_cpu), "max");
|
||||
//putToList(list, context.getString(R.string.kvm64), "kvm64");
|
||||
//putToList(list, context.getString(R.string.kvm32), "kvm32");
|
||||
//putToList(list, context.getString(R.string.host_cpu), "host");
|
||||
putToList(list, context.getString(R.string.intel_snow_ridge), "Snowridge");
|
||||
putToList(list, context.getString(R.string.intel_cooper_lake), "Cooperlake");
|
||||
putToList(list, context.getString(R.string.intel_cascade_lake_server), "Cascadelake-Server");
|
||||
putToList(list, context.getString(R.string.intel_knights_mill), "KnightsMill");
|
||||
putToList(list, context.getString(R.string.intel_denverton), "Denverton");
|
||||
putToList(list, context.getString(R.string.intel_skylake_server), "Skylake-Server");
|
||||
putToList(list, context.getString(R.string.intel_skylake_client), "Skylake-Client");
|
||||
putToList(list, context.getString(R.string.intel_broadwell), "Broadwell");
|
||||
putToList(list, context.getString(R.string.intel_haswell), "Haswell");
|
||||
putToList(list, context.getString(R.string.intel_ivy_bridge), "IvyBridge");
|
||||
putToList(list, context.getString(R.string.intel_sandy_bridge), "SandyBridge");
|
||||
putToList(list, context.getString(R.string.intel_westmere), "Westmere");
|
||||
putToList(list, context.getString(R.string.intel_nehalem), "Nehalem");
|
||||
putToList(list, context.getString(R.string.intel_altom_n270), "n270");
|
||||
putToList(list, context.getString(R.string.intel_penryn), "Penryn");
|
||||
putToList(list, context.getString(R.string.intel_core_2_duo), "core2duo");
|
||||
putToList(list, context.getString(R.string.intel_core_duo), "coreduo");
|
||||
putToList(list, context.getString(R.string.intel_conroe), "Conroe");
|
||||
putToList(list, context.getString(R.string.intel_pentium_iii), "pentium3");
|
||||
putToList(list, context.getString(R.string.intel_pentium_ii), "pentium2");
|
||||
putToList(list, context.getString(R.string.intel_pentium), "pentium");
|
||||
putToList(list, context.getString(R.string.intel_486), "486");
|
||||
putToList(list, context.getString(R.string.amd_epyc_milan), "EPYC-Milan");
|
||||
putToList(list, context.getString(R.string.amd_epyc_rome), "EPYC-Rome");
|
||||
putToList(list, context.getString(R.string.amd_epyc), "EPYC");
|
||||
putToList(list, context.getString(R.string.amd_opteron_g5), "Opteron_G5");
|
||||
putToList(list, context.getString(R.string.amd_opteron_g4), "Opteron_G4");
|
||||
putToList(list, context.getString(R.string.amd_phenom), "phenom");
|
||||
putToList(list, context.getString(R.string.amd_opteron_g3), "Opteron_G3");
|
||||
putToList(list, context.getString(R.string.amd_opteron_g2), "Opteron_G2");
|
||||
putToList(list, context.getString(R.string.amd_opteron_g1), "Opteron_G1");
|
||||
putToList(list, context.getString(R.string.amd_athlon), "athlon");
|
||||
putToList(list, context.getString(R.string.hygon_dhyana), "Dhyana");
|
||||
return list;
|
||||
}
|
||||
|
||||
public static ArrayList<HashMap<String, Object>> cpusArm64(Context context) {
|
||||
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
|
||||
putToList(list, context.getString(R.string.defaulttext), "max");
|
||||
putToList(list, context.getString(R.string.max_cpu), "max");
|
||||
//putToList(list, context.getString(R.string.host_cpu), "host");
|
||||
putToList(list, context.getString(R.string.cortex_a76), "cortex-a76");
|
||||
putToList(list, context.getString(R.string.cortex_a72), "cortex-a72");
|
||||
putToList(list, context.getString(R.string.cortex_a57), "cortex-a57");
|
||||
putToList(list, context.getString(R.string.cortex_a55), "cortex-a55");
|
||||
putToList(list, context.getString(R.string.cortex_a53), "cortex-a53");
|
||||
putToList(list, context.getString(R.string.cortex_a35), "cortex-a35");
|
||||
putToList(list, context.getString(R.string.cortex_a15), "cortex-a15");
|
||||
putToList(list, context.getString(R.string.cortex_a9), "cortex-a9");
|
||||
putToList(list, context.getString(R.string.cortex_a8), "cortex-a8");
|
||||
putToList(list, context.getString(R.string.cortex_a7), "cortex-a7");
|
||||
putToList(list, context.getString(R.string.cortex_m55), "cortex-m55");
|
||||
putToList(list, context.getString(R.string.cortex_m33), "cortex-m33");
|
||||
putToList(list, context.getString(R.string.cortex_m7), "cortex-m7");
|
||||
putToList(list, context.getString(R.string.cortex_m4), "cortex-m4");
|
||||
putToList(list, context.getString(R.string.cortex_m3), "cortex-m3");
|
||||
putToList(list, context.getString(R.string.cortex_m0), "cortex-m0");
|
||||
putToList(list, context.getString(R.string.cortex_r52), "cortex-r52");
|
||||
putToList(list, context.getString(R.string.cortex_r5f), "cortex-r5f");
|
||||
putToList(list, context.getString(R.string.cortex_r5), "cortex-r5");
|
||||
return list;
|
||||
}
|
||||
|
||||
public static ArrayList<HashMap<String, Object>> cpusPpc(Context context) {
|
||||
ArrayList<HashMap<String, Object>> list = new ArrayList<>();
|
||||
putToList(list, context.getString(R.string.defaulttext), "g3");
|
||||
putToList(list, context.getString(R.string.cpu_460ex), "460ex");
|
||||
putToList(list, context.getString(R.string.e500v2_cpu), "e500v2");
|
||||
putToList(list, context.getString(R.string.g4_cpu_turbo), "7457");
|
||||
putToList(list, context.getString(R.string.g4_cpu_basic), "g4");
|
||||
putToList(list, context.getString(R.string.g3_cpu), "g3");
|
||||
putToList(list, context.getString(R.string.g2_cpu_workstation), "604e");
|
||||
putToList(list, context.getString(R.string.g2_cpu_low_power), "603e");
|
||||
return list;
|
||||
}
|
||||
|
||||
public static void putToList
|
||||
(
|
||||
ArrayList<HashMap<String, Object>> listMap,
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
public static DataMainRoms current = new DataMainRoms();
|
||||
private String thumbnailPath = "";
|
||||
private String vmID = VMManager.idGenerator();
|
||||
private int cpu = 0;
|
||||
private boolean isShowBootMenu = false;
|
||||
private boolean isUseLocalTime = true;
|
||||
private boolean isUseUefi = false;
|
||||
|
|
@ -295,6 +296,11 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
if (!MainSettingsManager.getArch(this).equals("X86_64"))
|
||||
binding.cbvUseuefi.setVisibility(View.GONE);
|
||||
|
||||
binding.sbvCpu.setOnClickListener(v -> VMCreatorSelector.cpu(this, MainSettingsManager.getArch(this), cpu, ((position, name, value) -> {
|
||||
cpu = position;
|
||||
binding.sbvCpu.setSubtitle(name);
|
||||
})));
|
||||
|
||||
binding.sbvBootfrom.setOnClickListener(v -> VMCreatorSelector.bootFrom(this, bootFrom, ((position, name, value) -> {
|
||||
bootFrom = position;
|
||||
binding.sbvBootfrom.setSubtitle(name);
|
||||
|
|
@ -392,6 +398,8 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
});
|
||||
}
|
||||
|
||||
binding.svSharedFolder.setSubTitle(AppConfig.sharedFolder);
|
||||
|
||||
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
|
||||
@Override
|
||||
public void handleOnBackPressed() {
|
||||
|
|
@ -627,12 +635,14 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
binding.qemu.setText(VmFileManager.textMarkToPath(vmID, current.itemExtra));
|
||||
}
|
||||
|
||||
cpu = current.cpu;
|
||||
binding.sbvCpu.setSubtitle(Objects.requireNonNull(VMCreatorSelector.getCpu(this, MainSettingsManager.getArch(this), current.cpu).get("name")).toString());
|
||||
|
||||
bootFrom = current.bootFrom;
|
||||
binding.sbvBootfrom.setSubtitle(Objects.requireNonNull(VMCreatorSelector.getBootFrom(this, current.bootFrom).get("name")).toString());
|
||||
isShowBootMenu = current.isShowBootMenu;
|
||||
binding.cbvShowbootmenu.setChecked(isShowBootMenu);
|
||||
|
||||
binding.svSharedFolder.setSubTitle(AppConfig.sharedFolder);
|
||||
sharedFolder = current.sharedFolder;
|
||||
binding.svSharedFolder.setChecked(sharedFolder);
|
||||
|
||||
|
|
@ -658,22 +668,18 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
if (DeviceUtils.is64bit()) {
|
||||
defQemuParams = switch (MainSettingsManager.getArch(this)) {
|
||||
case "ARM64" ->
|
||||
"-M virt,virtualization=true -cpu cortex-a76 -accel tcg,thread=multi -net nic,model=e1000 -net user -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA";
|
||||
case "PPC" -> "-M mac99 -cpu g4 -accel tcg,thread=multi -smp 1";
|
||||
case "I386" ->
|
||||
"-M pc -cpu coreduo,+popcnt -accel tcg,thread=multi -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
"-M virt,virtualization=true -accel tcg,thread=multi -net nic,model=e1000 -net user -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA";
|
||||
case "PPC" -> "-M mac99 -accel tcg,thread=multi -smp 1";
|
||||
default ->
|
||||
"-M pc -cpu core2duo,+popcnt -accel tcg,thread=multi -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
"-M pc -accel tcg,thread=multi -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
};
|
||||
} else {
|
||||
defQemuParams = switch (MainSettingsManager.getArch(this)) {
|
||||
case "ARM64" ->
|
||||
"-M virt -cpu cortex-a76 -net nic,model=e1000 -net user -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA";
|
||||
case "PPC" -> "-M mac99 -cpu g4 -smp 1";
|
||||
case "I386" ->
|
||||
"-M pc -cpu coreduo,+popcnt -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
"-M virt -net nic,model=e1000 -net user -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA";
|
||||
case "PPC" -> "-M mac99 -smp 1";
|
||||
default ->
|
||||
"-M pc -cpu core2duo,+popcnt -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
"-M pc -smp 4 -vga std -netdev user,id=usernet -device e1000,netdev=usernet -usb -device usb-tablet";
|
||||
};
|
||||
}
|
||||
binding.title.setText(getString(R.string.new_vm));
|
||||
|
|
@ -776,6 +782,7 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
HashMap<String, Object> vmConfigMap = new HashMap<>();
|
||||
vmConfigMap.put("imgName", Objects.requireNonNull(binding.title.getText()).toString());
|
||||
vmConfigMap.put("imgIcon", thumbnailPath);
|
||||
|
||||
vmConfigMap.put("imgPath", Objects.requireNonNull(binding.drive.getText()).toString());
|
||||
vmConfigMap.put("imgCdrom", Objects.requireNonNull(binding.cdrom.getText()).toString());
|
||||
vmConfigMap.put("sharedFolder", sharedFolder);
|
||||
|
|
@ -794,6 +801,7 @@ public class VMCreatorActivity extends AppCompatActivity {
|
|||
private DataMainRoms finalVmConfig() {
|
||||
current.itemName = Objects.requireNonNull(binding.title.getText()).toString();
|
||||
current.itemIcon = thumbnailPath;
|
||||
current.cpu = cpu;
|
||||
current.itemPath = Objects.requireNonNull(binding.drive.getText()).toString();
|
||||
current.imgCdrom = Objects.requireNonNull(binding.cdrom.getText()).toString();
|
||||
current.sharedFolder = sharedFolder;
|
||||
|
|
|
|||
|
|
@ -29,10 +29,18 @@ public class VMCreatorSelector {
|
|||
void onSelected(int position, String name, String value);
|
||||
}
|
||||
|
||||
public static HashMap<String, Object> getCpu(Context context, String arch, int position) {
|
||||
return ListManager.cpus(context, arch).get(position);
|
||||
}
|
||||
|
||||
public static HashMap<String, Object> getBootFrom(Context context, int position) {
|
||||
return ListManager.bootFrom(context).get(position);
|
||||
}
|
||||
|
||||
public static void cpu(Activity activity, String arch, int position, SelectorCallback callback) {
|
||||
showDialog(activity, ListManager.cpus(activity, arch), position, callback, activity.getString(R.string.processor));
|
||||
}
|
||||
|
||||
public static void bootFrom(Activity activity, int position, SelectorCallback callback) {
|
||||
showDialog(activity, ListManager.bootFrom(activity), position, callback, activity.getString(R.string.boot_from));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package com.vectras.vm.main.vms;
|
|||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class DataMainRoms {
|
||||
public int cpu = 0;
|
||||
|
||||
@SerializedName(
|
||||
value = "icon",
|
||||
alternate = { "imgIcon" }
|
||||
|
|
|
|||
|
|
@ -179,6 +179,38 @@
|
|||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
app:cardBackgroundColor="?attr/colorCard">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="16dp">
|
||||
|
||||
<TextView
|
||||
style="@style/MaterialAlertDialog.Material3Expressive.Title.Text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:text="@string/board" />
|
||||
|
||||
<com.vectras.vm.view.SelectBoxView
|
||||
android:id="@+id/sbv_cpu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:title="@string/processor"
|
||||
app:subtitle="@string/defaulttext" />
|
||||
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
app:cardBackgroundColor="?attr/colorCard">
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
|||
|
|
@ -556,6 +556,8 @@
|
|||
<string name="connect">Kết nối</string>
|
||||
<string name="shutting_down">Đang tắt…</string>
|
||||
<string name="cannot_save_here_please_choose_another_location">Không thể lưu ở đây, hãy chọn một nơi khác.</string>
|
||||
<string name="processor">Bộ xử lý</string>
|
||||
<string name="board">Bo mạch chủ</string>
|
||||
|
||||
<!--======================TERMUX STRINGS====================-->
|
||||
<string name="application_name" translatable="false">Vterm</string>
|
||||
|
|
@ -711,4 +713,11 @@
|
|||
<string name="settings_tag_keyboard">Bàn phím</string>
|
||||
<string name="settings_tag_other">Khác</string>
|
||||
<string name="executing_command_please_wait">Đang thực thi, vui lòng đợi…</string>
|
||||
|
||||
<!-- CPUs -->
|
||||
|
||||
<string name="g4_cpu_turbo">G4 (Tăng tốc)</string>
|
||||
<string name="g4_cpu_basic">G4 (Cơ bản)</string>
|
||||
<string name="g2_cpu_workstation">G2 (Máy trạm)</string>
|
||||
<string name="g2_cpu_low_power">G2 (Tiết kiệm điện)</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -567,6 +567,8 @@
|
|||
<string name="connect">Connect</string>
|
||||
<string name="shutting_down">Shutting down…</string>
|
||||
<string name="cannot_save_here_please_choose_another_location">Cannot save here, please choose another location.</string>
|
||||
<string name="processor">Processor</string>
|
||||
<string name="board">Board</string>
|
||||
|
||||
|
||||
<!--======================TERMUX STRINGS====================-->
|
||||
|
|
@ -723,6 +725,76 @@
|
|||
<string name="settings_tag_keyboard">Keyboard</string>
|
||||
<string name="settings_tag_other">Other</string>
|
||||
<string name="executing_command_please_wait">Executing command, please wait…</string>
|
||||
|
||||
<!-- CPUs -->
|
||||
<string name="max_cpu" translatable="false">Max</string>
|
||||
<string name="host_cpu" translatable="false">Host</string>
|
||||
<string name="qemu64" translatable="false">QEMU64</string>
|
||||
<string name="qemu32" translatable="false">QEMU32</string>
|
||||
<string name="base_cpu" translatable="false">Base</string>
|
||||
<string name="kvm64" translatable="false">KVM64</string>
|
||||
<string name="kvm32" translatable="false">KVM32</string>
|
||||
<string name="intel_snow_ridge" translatable="false">Intel Snow Ridge</string>
|
||||
<string name="intel_cooper_lake" translatable="false">Intel Cooper Lake</string>
|
||||
<string name="intel_cascade_lake_server" translatable="false">Intel Cascade Lake Server</string>
|
||||
<string name="intel_knights_mill" translatable="false">Intel Knights Mill</string>
|
||||
<string name="intel_denverton" translatable="false">Intel Denverton</string>
|
||||
<string name="intel_skylake_server" translatable="false">Intel Skylake Server</string>
|
||||
<string name="intel_skylake_client" translatable="false">Intel Skylake Client</string>
|
||||
<string name="intel_broadwell" translatable="false">Intel Broadwell</string>
|
||||
<string name="intel_haswell" translatable="false">Intel Haswell</string>
|
||||
<string name="intel_ivy_bridge" translatable="false">Intel Ivy Bridge</string>
|
||||
<string name="intel_sandy_bridge" translatable="false">Intel Sandy Bridge</string>
|
||||
<string name="intel_westmere" translatable="false">Intel Westmere</string>
|
||||
<string name="intel_nehalem" translatable="false">Intel Nehalem</string>
|
||||
<string name="intel_altom_n270" translatable="false">Intel Altom N270</string>
|
||||
<string name="intel_penryn" translatable="false">Intel Penryn</string>
|
||||
<string name="intel_core_2_duo" translatable="false">Intel Core 2 Duo</string>
|
||||
<string name="intel_core_duo" translatable="false">Intel Core Duo</string>
|
||||
<string name="intel_conroe" translatable="false">Intel Conroe</string>
|
||||
<string name="intel_pentium_iii" translatable="false">Intel Pentium III</string>
|
||||
<string name="intel_pentium_ii" translatable="false">Intel Pentium II</string>
|
||||
<string name="intel_pentium" translatable="false">Intel Pentium</string>
|
||||
<string name="intel_486" translatable="false">Intel 486</string>
|
||||
<string name="amd_epyc_milan" translatable="false">AMD EPYC Milan</string>
|
||||
<string name="amd_epyc_rome" translatable="false">AMD EPYC Rome</string>
|
||||
<string name="amd_epyc" translatable="false">AMD EPYC</string>
|
||||
<string name="amd_opteron_g5" translatable="false">AMD Opteron G5</string>
|
||||
<string name="amd_opteron_g4" translatable="false">AMD Opteron G4</string>
|
||||
<string name="amd_phenom" translatable="false">AMD Phenom</string>
|
||||
<string name="amd_opteron_g3" translatable="false">AMD Opteron G3</string>
|
||||
<string name="amd_opteron_g2" translatable="false">AMD Opteron G2</string>
|
||||
<string name="amd_opteron_g1" translatable="false">AMD Opteron G1</string>
|
||||
<string name="amd_athlon" translatable="false">AMD Athlon</string>
|
||||
<string name="hygon_dhyana" translatable="false">Hygon Dhyana</string>
|
||||
|
||||
<string name="cortex_a76" translatable="false">Cortex A76</string>
|
||||
<string name="cortex_a72" translatable="false">Cortex A72</string>
|
||||
<string name="cortex_a57" translatable="false">Cortex A57</string>
|
||||
<string name="cortex_a55" translatable="false">Cortex A55</string>
|
||||
<string name="cortex_a53" translatable="false">Cortex A53</string>
|
||||
<string name="cortex_a35" translatable="false">Cortex A35</string>
|
||||
<string name="cortex_a15" translatable="false">Cortex A15</string>
|
||||
<string name="cortex_a9" translatable="false">Cortex A9</string>
|
||||
<string name="cortex_a8" translatable="false">Cortex A8</string>
|
||||
<string name="cortex_a7" translatable="false">Cortex A7</string>
|
||||
<string name="cortex_m55" translatable="false">Cortex M55</string>
|
||||
<string name="cortex_m33" translatable="false">Cortex M33</string>
|
||||
<string name="cortex_m7" translatable="false">Cortex M7</string>
|
||||
<string name="cortex_m4" translatable="false">Cortex M4</string>
|
||||
<string name="cortex_m3" translatable="false">Cortex M3</string>
|
||||
<string name="cortex_m0" translatable="false">Cortex M0</string>
|
||||
<string name="cortex_r52" translatable="false">Cortex R52</string>
|
||||
<string name="cortex_r5f" translatable="false">Cortex R5F</string>
|
||||
<string name="cortex_r5" translatable="false">Cortex R5</string>
|
||||
|
||||
<string name="cpu_460ex" translatable="false">460EX</string>
|
||||
<string name="e500v2_cpu" translatable="false">e500</string>
|
||||
<string name="g4_cpu_turbo">G4 (Turbo)</string>
|
||||
<string name="g4_cpu_basic">G4 (Basic)</string>
|
||||
<string name="g3_cpu" translatable="false">G3</string>
|
||||
<string name="g2_cpu_workstation">G2 (Workstation)</string>
|
||||
<string name="g2_cpu_low_power">G2 (Low-Power)</string>
|
||||
<!-- Feature: User Profile -->
|
||||
|
||||
<!-- Feature: Settings -->
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
"Message": "<h2>4.0.0</h2>\nBugs fixed.",
|
||||
"cancellable": true,
|
||||
"versionCodeBeta":"111",
|
||||
"versionNameBeta":"4.0.7",
|
||||
"versionNameBetas":"4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,4.0.7",
|
||||
"versionNameBeta":"4.0.8",
|
||||
"versionNameBetas":"4.0.0,4.0.1,4.0.2,4.0.3,4.0.4,4.0.5,4.0.6,4.0.7,4.0.8",
|
||||
"sizeBeta": "45 MB",
|
||||
"urlBeta": "https://github.com/AnBui2004/Vectras-VM-Emu-Android/releases",
|
||||
"MessageBeta": "<h2>4.0.7</h2>Bugs fixed.",
|
||||
"MessageBeta": "<h2>4.0.8</h2>Bugs fixed.",
|
||||
"cancellableBeta": true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue