v2.2.3: Os.chmod() syscall + PRoot fallback + explicit sh invocation for SELinux bypass

This commit is contained in:
admin
2026-05-19 20:34:41 +04:00
Unverified
parent f3b2150cb0
commit b921102768
7 changed files with 365 additions and 77 deletions

View File

@@ -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`