You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
parent_path Parameter: Now takes parent_path as input, which is the BlueStacks Engine directory, ensuring it operates on Android.bstk.in correctly.
Robust Type Modification: More robustly handles cases where "Readonly" or "Normal" might not already exist in the line. It now appends Type="{new_mode}" if no type is found.
File Found Flag: Added file_found_in_bstk flag to avoid rewriting the BSTK file if no target file names were found within it, improving efficiency.
Clearer Logging: Improved logging messages for different scenarios (modification, appending, no changes, errors).
is_instance_readonly Improvements:
Parent Path Determination: Now determines the parent_path from the provided instance_path to correctly locate BSTK files in the Engine directory.
File Existence Check: Checks if the BSTK file exists before trying to open it, and logs a warning if not found, skipping to the next file instead of causing an error for the whole process.
More Robust Path Handling: Uses os.path.join for path construction.
terminate_bluestacks Function (New):
Added a function to terminate common BlueStacks processes using psutil. This aligns with the main GUI script's requirements and allows for controlled termination.
Includes logging for successful terminations, timeouts, and errors during process termination.
Enhancements in registry_handler.py:
Clearer Logging: Improved log messages to include the full registry path (HKLM\\SOFTWARE\\BlueStacks_nxt) for better context.
Informational Success Log: Changed the success log from debug to info level to highlight successful registry key retrieval.
PermissionError Handling: Added specific handling for PermissionError, suggesting running as administrator in the error message, which is a common issue with registry access.
Debug Exception Details: Added logger.debug("Full exception details:", exc_info=True) in except blocks to log full exception tracebacks at DEBUG level for more detailed debugging when needed.
Enhancements in config_handler.py:
Setting Appending: If the setting is not found in the config file during modify_config_file, it now appends the setting to the end of the file. This is useful if a setting is missing.
Clearer Logging: Improved log messages, especially differentiating between updating an existing setting and appending a new one. Success logs are now at info level.
Debug Exception Details: Added logger.debug("Full exception details:", exc_info=True) in except blocks to log full exception tracebacks at DEBUG level.
Informational Root Status Logs: Changed the log level for root status checks to info to provide more visible feedback on root status. Also added info log when setting is not found, and assuming disabled, which is important to know.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
> [!IMPORTANT]
6
6
> This is an unofficial modification for the BlueStacks Android emulator. If you encounter any issues, please open a GitHub issue.
7
7
>
8
-
> *As of January 9, 2025, this tool works as expected. However, it's important to note that this method is not compatible with Nougat instances. This README will be updated if that changes.*
8
+
> *As of February 16th, 2025, this tool works as expected. However, it's important to note that this method is not compatible with Nougat instances. This README will be updated if that changes.*
9
9
10
10
This GUI streamlines the configuration process outlined in my guide to [rooting BlueStacks](https://github.com/RobThePCGuy/Root-Bluestacks-with-Kitsune-Mask/). While it simplifies certain steps, **both repositories** are still required for complete rooting because the linked repository contains the core rooting process. This tool lets you toggle root access and enable read/write permissions for the filesystem within the `bluestacks.conf` file of selected BlueStacks instances, providing a user-friendly alternative to manual editing.
logger.debug(f"Checking root status for instance '{instance_name}' in {config_path}")
73
+
logger.debug(f"Checking root status for instance '{instance_name}' in {config_path}, setting key: '{setting_key}'")
62
74
# Open with encoding='utf-8' for reading
63
75
withopen(config_path, "r", encoding='utf-8') asf:
64
76
forlineinf:
65
77
ifline.startswith(setting_key):
66
78
is_enabled=line.strip().endswith("=\"1\"")
67
-
logger.debug(f"Root status for instance '{instance_name}': {'Enabled'ifis_enabledelse'Disabled'}")
79
+
logger.info(f"Root status for instance '{instance_name}': {'Enabled'ifis_enabledelse'Disabled'} in {config_path}") # Info level for root status
68
80
returnis_enabled
69
-
logger.debug(f"Root setting '{setting_key}' not found for instance '{instance_name}' in {config_path}. Assuming root is disabled.")
70
-
returnFalse# Setting not found, assume root is disabled
81
+
logger.info(f"Root setting '{setting_key}' not found for instance '{instance_name}' in {config_path}. Assuming root is disabled.")# Info level for not found, but assuming disabled is important info
82
+
returnFalse# Setting not found, assume root is disabled
71
83
exceptFileNotFoundError:
72
84
error_msg=f"Config file not found at {config_path}"
0 commit comments