- Added XServer for Android 14+ and 32-bit devices.
This commit is contained in:
An Bui 2025-10-25 21:34:20 +07:00
parent 7eadef7a6f
commit 34c5dc7078
8 changed files with 60 additions and 14 deletions

View file

@ -16,9 +16,6 @@
<SelectionState runConfigName="shell-loader">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
<SelectionState runConfigName="demo">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

2
.idea/misc.xml generated
View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK" />
</project>

View file

@ -10,8 +10,8 @@ android {
applicationId "com.vectras.vm"
minSdk minApi
targetSdk targetApi
versionCode 26
versionName "3.2.3"
versionCode 27
versionName "3.2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
@ -72,7 +72,7 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'com.google.android.material:material:1.14.0-alpha05'
implementation 'com.google.android.material:material:1.14.0-alpha06'
implementation "androidx.annotation:annotation:1.9.1"
implementation "androidx.core:core:1.17.0"
implementation "androidx.drawerlayout:drawerlayout:1.2.0"

View file

@ -27,6 +27,7 @@ import com.vectras.vm.R;
import com.vectras.vm.VMManager;
import com.vectras.vm.logger.VectrasStatus;
import com.vectras.vm.settings.ExternalVNCSettingsActivity;
import com.vectras.vm.utils.DeviceUtils;
import com.vectras.vm.utils.DialogUtils;
import com.vectras.vm.utils.FileUtils;
import com.vectras.vm.utils.NetworkUtils;
@ -61,7 +62,7 @@ public class HomeStartVM {
isLaunchFromPending = false;
if (pendingVMID.isEmpty()) return;
} else {
if (MainSettingsManager.getVmUi(activity).equals("X11") && SDK_INT >= 34) {
if (MainSettingsManager.getVmUi(activity).equals("X11") && (SDK_INT >= 34 || !DeviceUtils.is64bit())) {
pendingVMName = vmName;
pendingEnv = env;
pendingVMID = vmID;

View file

@ -3,7 +3,7 @@
<string name="app_name">Vectras VM</string>
<!--======================VECTRAS STRINGS====================-->
<string name="app_version" translatable="false">3.2.3</string>
<string name="app_version" translatable="false">3.2.4</string>
<string name="qemu_version" translatable="false">Stable</string>
<string name="str_home">Home</string>
<string name="str_logger">Logger</string>

View file

@ -18,7 +18,7 @@ public class Cursor extends Resource {
private int _foregroundColor;
private int _backgroundColor;
private static final int _glyphs[][] = {{R.drawable.xc_x_cursor, 7, 7}, {R.drawable.xc_arrow, 14, 1}, {R.drawable.xc_based_arrow_down, 4, 10}, {R.drawable.xc_based_arrow_up, 4, 10}, {R.drawable.xc_boat, 14, 4}, {R.drawable.xc_bogosity, 7, 7}, {R.drawable.xc_bottom_left_corner, 1, 14}, {R.drawable.xc_bottom_right_corner, 14, 14}, {R.drawable.xc_bottom_side, 7, 14}, {R.drawable.xc_bottom_tee, 8, 10}, {R.drawable.xc_box_spiral, 8, 8}, {R.drawable.xc_center_ptr, 5, 1}, {R.drawable.xc_circle, 8, 8}, {R.drawable.xc_clock, 6, 3}, {R.drawable.xc_coffee_mug, 7, 9}, {R.drawable.xc_cross, 7, 7}, {R.drawable.xc_cross_reverse, 7, 7}, {R.drawable.xc_crosshair, 7, 7}, {R.drawable.xc_diamond_cross, 7, 7}, {R.drawable.xc_dot, 6, 6}, {R.drawable.xc_dotbox, 7, 6}, {R.drawable.xc_double_arrow, 6, 8}, {R.drawable.xc_draft_large, 14, 0}, {R.drawable.xc_draft_small, 14, 0}, {R.drawable.xc_draped_box, 7, 6}, {R.drawable.xc_exchange, 7, 7}, {R.drawable.xc_fleur, 8, 8}, {R.drawable.xc_gobbler, 14, 3}, {R.drawable.xc_gumby, 2, 0}, {R.drawable.xc_hand1, 12, 0}, {R.drawable.xc_hand2, 0, 1}, {R.drawable.xc_heart, 6, 8}, {R.drawable.xc_icon, 8, 8}, {R.drawable.xc_iron_cross, 8, 7}, {R.drawable.xc_left_ptr, 1, 1}, {R.drawable.xc_left_side, 1, 7}, {R.drawable.xc_left_tee, 1, 8}, {R.drawable.xc_leftbutton, 8, 8}, {R.drawable.xc_ll_angle, 1, 10}, {R.drawable.xc_lr_angle, 10, 10}, {R.drawable.xc_man, 14, 5}, {R.drawable.xc_middlebutton, 8, 8}, {R.drawable.xc_mouse, 4, 1}, {R.drawable.xc_pencil, 11, 15}, {R.drawable.xc_pirate, 7, 12}, {R.drawable.xc_plus, 5, 6}, {R.drawable.xc_question_arrow, 5, 8}, {R.drawable.xc_right_ptr, 8, 1}, {R.drawable.xc_right_side, 14, 7}, {R.drawable.xc_right_tee, 10, 8}, {R.drawable.xc_rightbutton, 8, 8}, {R.drawable.xc_rtl_logo, 7, 7}, {R.drawable.xc_sailboat, 8, 0}, {R.drawable.xc_sb_down_arrow, 4, 15}, {R.drawable.xc_sb_h_double_arrow, 7, 4}, {R.drawable.xc_sb_left_arrow, 0, 4}, {R.drawable.xc_sb_right_arrow, 15, 4}, {R.drawable.xc_sb_up_arrow, 4, 0}, {R.drawable.xc_sb_v_double_arrow, 4, 7}, {R.drawable.xc_shuttle, 11, 0}, {R.drawable.xc_sizing, 8, 8}, {R.drawable.xc_spider, 6, 7}, {R.drawable.xc_spraycan, 10, 2}, {R.drawable.xc_star, 7, 7}, {R.drawable.xc_target, 7, 7}, {R.drawable.xc_tcross, 7, 7}, {R.drawable.xc_top_left_arrow, 1, 1}, {R.drawable.xc_top_left_corner, 1, 1}, {R.drawable.xc_top_right_corner, 14, 1}, {R.drawable.xc_top_side, 7, 1}, {R.drawable.xc_top_tee, 8, 1}, {R.drawable.xc_trek, 4, 0}, {R.drawable.xc_ul_angle, 1, 1}, {R.drawable.xc_umbrella, 8, 2}, {R.drawable.xc_ur_angle, 10, 1}, {R.drawable.xc_watch, 15, 9}, {R.drawable.xc_xterm, 4, 8}};
private static final int _glyphs[][] = {{R.drawable.xc_left_ptr, 7, 7}, {R.drawable.xc_arrow, 14, 1}, {R.drawable.xc_based_arrow_down, 4, 10}, {R.drawable.xc_based_arrow_up, 4, 10}, {R.drawable.xc_boat, 14, 4}, {R.drawable.xc_bogosity, 7, 7}, {R.drawable.xc_bottom_left_corner, 1, 14}, {R.drawable.xc_bottom_right_corner, 14, 14}, {R.drawable.xc_bottom_side, 7, 14}, {R.drawable.xc_bottom_tee, 8, 10}, {R.drawable.xc_box_spiral, 8, 8}, {R.drawable.xc_center_ptr, 5, 1}, {R.drawable.xc_circle, 8, 8}, {R.drawable.xc_clock, 6, 3}, {R.drawable.xc_coffee_mug, 7, 9}, {R.drawable.xc_cross, 7, 7}, {R.drawable.xc_cross_reverse, 7, 7}, {R.drawable.xc_crosshair, 7, 7}, {R.drawable.xc_diamond_cross, 7, 7}, {R.drawable.xc_dot, 6, 6}, {R.drawable.xc_dotbox, 7, 6}, {R.drawable.xc_double_arrow, 6, 8}, {R.drawable.xc_draft_large, 14, 0}, {R.drawable.xc_draft_small, 14, 0}, {R.drawable.xc_draped_box, 7, 6}, {R.drawable.xc_exchange, 7, 7}, {R.drawable.xc_fleur, 8, 8}, {R.drawable.xc_gobbler, 14, 3}, {R.drawable.xc_gumby, 2, 0}, {R.drawable.xc_hand1, 12, 0}, {R.drawable.xc_hand2, 0, 1}, {R.drawable.xc_heart, 6, 8}, {R.drawable.xc_icon, 8, 8}, {R.drawable.xc_iron_cross, 8, 7}, {R.drawable.xc_left_ptr, 1, 1}, {R.drawable.xc_left_side, 1, 7}, {R.drawable.xc_left_tee, 1, 8}, {R.drawable.xc_leftbutton, 8, 8}, {R.drawable.xc_ll_angle, 1, 10}, {R.drawable.xc_lr_angle, 10, 10}, {R.drawable.xc_man, 14, 5}, {R.drawable.xc_middlebutton, 8, 8}, {R.drawable.xc_mouse, 4, 1}, {R.drawable.xc_pencil, 11, 15}, {R.drawable.xc_pirate, 7, 12}, {R.drawable.xc_plus, 5, 6}, {R.drawable.xc_question_arrow, 5, 8}, {R.drawable.xc_right_ptr, 8, 1}, {R.drawable.xc_right_side, 14, 7}, {R.drawable.xc_right_tee, 10, 8}, {R.drawable.xc_rightbutton, 8, 8}, {R.drawable.xc_rtl_logo, 7, 7}, {R.drawable.xc_sailboat, 8, 0}, {R.drawable.xc_sb_down_arrow, 4, 15}, {R.drawable.xc_sb_h_double_arrow, 7, 4}, {R.drawable.xc_sb_left_arrow, 0, 4}, {R.drawable.xc_sb_right_arrow, 15, 4}, {R.drawable.xc_sb_up_arrow, 4, 0}, {R.drawable.xc_sb_v_double_arrow, 4, 7}, {R.drawable.xc_shuttle, 11, 0}, {R.drawable.xc_sizing, 8, 8}, {R.drawable.xc_spider, 6, 7}, {R.drawable.xc_spraycan, 10, 2}, {R.drawable.xc_star, 7, 7}, {R.drawable.xc_target, 7, 7}, {R.drawable.xc_tcross, 7, 7}, {R.drawable.xc_top_left_arrow, 1, 1}, {R.drawable.xc_top_left_corner, 1, 1}, {R.drawable.xc_top_right_corner, 14, 1}, {R.drawable.xc_top_side, 7, 1}, {R.drawable.xc_top_tee, 8, 1}, {R.drawable.xc_trek, 4, 0}, {R.drawable.xc_ul_angle, 1, 1}, {R.drawable.xc_umbrella, 8, 2}, {R.drawable.xc_ur_angle, 10, 1}, {R.drawable.xc_watch, 15, 9}, {R.drawable.xc_xterm, 4, 8}};
/**
* Constructor for a pixmap cursor.

View file

@ -5,11 +5,11 @@
"url": "https://github.com/xoureldeen/Vectras-VM-Android/releases/tag/3.2.0",
"Message": "<h2>3.2.0</h2>New Qemu 9.2.2 with 3dfx!",
"cancellable": true,
"versionCodeBeta":"25",
"versionNameBeta":"3.2.3",
"versionNameBetas":"v2.9.5.1-3dfx,v2.9.5.2-3dfx,v2.9.5.3-3dfx,v2.9.5.4-3dfx,v2.9.5.5-3dfx,v2.9.5.6-3dfx,v2.9.5.7-3dfx,v2.9.5.8-3dfx,v2.9.5.9-3dfx,v2.9.5.10-3dfx,v2.9.5.11-3dfx,v2.9.5.12-3dfx,v2.9.5.13-3dfx,3.0.0,3.1.0,3.2.1,3.2.2,3.2.3",
"versionCodeBeta":"27",
"versionNameBeta":"3.2.4",
"versionNameBetas":"v2.9.5.1-3dfx,v2.9.5.2-3dfx,v2.9.5.3-3dfx,v2.9.5.4-3dfx,v2.9.5.5-3dfx,v2.9.5.6-3dfx,v2.9.5.7-3dfx,v2.9.5.8-3dfx,v2.9.5.9-3dfx,v2.9.5.10-3dfx,v2.9.5.11-3dfx,v2.9.5.12-3dfx,v2.9.5.13-3dfx,3.0.0,3.1.0,3.2.1,3.2.2,3.2.3,3.2.4",
"sizeBeta": "50 MB",
"urlBeta": "https://github.com/AnBui2004/Vectras-VM-Emu-Android/releases",
"MessageBeta": "<h2>3.2.3</h2>Bugs fixed.",
"MessageBeta": "<h2>3.2.4</h2>Bugs fixed.",
"cancellableBeta": true
}

View file

@ -415,6 +415,22 @@
"creator": "Nguyen Bao An Bui",
"verified": true
},
{
"rom_name":"Windows Server 2012 build 7868",
"rom_icon":"https://vuetiwuvbyxywfukompp.supabase.co/storage/v1/object/public/getmyos/v1/files/2018/09/17/windows-logo_1_926ed76111646acbbe332bc5af0cf2ce.png",
"rom_url":"https://youtu.be/N9fqaqLW5ow",
"rom_path":"Windows Server 2012 build 7868.cvbi",
"rom_avail":true,
"rom_size":"6.2 kernel version",
"rom_arch":"X86_64",
"rom_kernel":"windows",
"rom_extra":"",
"final_rom_file_name":"",
"desc":"This Rom is from Nguyen Bao An Bui. You can get it on An Bui app: https://play.google.com/store/apps/details?id=com.anbui.app\n\nWindows Server 2012 build 7868 is a build of Windows Server 2012, which was shared on 13 October 2024. It is the last available build to use its predecessor's branding in the watermark, and the first available server build with the kernel version bumped up to 6.2.",
"file_size": "8 GB",
"creator": "Nguyen Bao An Bui",
"verified": true
},
{
"rom_name":"Windows Server 2012 build 7904",
"rom_icon":"https://vuetiwuvbyxywfukompp.supabase.co/storage/v1/object/public/getmyos/v1/files/2018/09/17/windows-logo_1_926ed76111646acbbe332bc5af0cf2ce.png",
@ -831,6 +847,38 @@
"creator": "steven",
"verified": true
},
{
"rom_name":"Debian 10",
"rom_icon":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRw2CcpHNKIioANF5MV4H-Zw2H3S7hPDMaqeA&s",
"rom_url":"https://anbui.ovh/get/vec/community/linux/debian10.html",
"rom_path":"Debian 10.cvbi",
"rom_avail":true,
"rom_size":"Buster",
"rom_arch":"X86_64",
"rom_kernel":"linux",
"rom_extra":"",
"final_rom_file_name":"",
"desc":"User: vectrasvm\nPassword: 1234\nDebian (/ˈdɛbiən/), also known as Debian GNU/Linux, is a free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kernel, and is the basis for many other Linux distributions.",
"file_size": "2 GB",
"creator": "tokaevUser",
"verified": true
},
{
"rom_name":"Debian 12",
"rom_icon":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRw2CcpHNKIioANF5MV4H-Zw2H3S7hPDMaqeA&s",
"rom_url":"https://anbui.ovh/get/vec/community/linux/debian10.html",
"rom_path":"Debian 12.cvbi",
"rom_avail":true,
"rom_size":"Bookworm",
"rom_arch":"X86_64",
"rom_kernel":"linux",
"rom_extra":"",
"final_rom_file_name":"",
"desc":"Debian (/ˈdɛbiən/), also known as Debian GNU/Linux, is a free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kernel, and is the basis for many other Linux distributions.",
"file_size": "11 GB",
"creator": "tokaevUser",
"verified": true
},
{
"rom_name":"Gentoo Linux",
"rom_icon":"https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Gentoo_Linux_logo_matte.svg/1200px-Gentoo_Linux_logo_matte.svg.png",