v2.2.3: Os.chmod() syscall + PRoot fallback + explicit sh invocation for SELinux bypass
This commit is contained in:
@@ -631,6 +631,15 @@ data: [DONE]
|
||||
|
||||
## Changelog
|
||||
|
||||
### v2.2.3 (2026-05-19)
|
||||
- **Os.chmod() Fix** — uses `android.system.Os.chmod()` (direct syscall) instead of `Runtime.exec("chmod")` for reliable execute permissions
|
||||
- **PRoot Fallback** — auto-downloads PRoot from Termux package repo when SELinux blocks binary execution
|
||||
- **Shell Always /system/bin/sh** — avoids Termux bash permission issues entirely, uses system shell with correct PATH
|
||||
- **Explicit sh Invocation** — runs `pkg`/`apt` via `sh "$script"` instead of direct execution
|
||||
- **installProot Plugin** — `BootstrapPlugin.installProot()` downloads .deb, extracts proot binary with AR+tar parser
|
||||
- **Termux Fallback Guide** — if all auto-install methods fail, clear instructions to install Termux from F-Droid
|
||||
- `chmodRecursive()` replaces `setPermissionsRecursive()` — uses `Os.chmod(path, 0755)` for every file
|
||||
|
||||
### v2.2.2 (2026-05-19)
|
||||
- **Permission Fix** — `chmod -R 755` on all bootstrap binaries after extraction (fixes "Permission denied" on bash)
|
||||
- **Shell Auto-Fallback** — if bash fails with permission error, auto-falls back to `/system/bin/sh`
|
||||
|
||||
Reference in New Issue
Block a user