Android 12 PhantomProcesskiller:绕过应用子进程限制,解放开发者力量
2023-05-05 00:14:41
Android 12 的 PhantomProcesskiller:绕过限制让 Termux 正常运行
Android 12 的 PhantomProcesskiller 是什么?
Android 12 引入了 PhantomProcesskiller,一种系统机制,旨在限制应用程序拥有的子进程数量,以提高稳定性和安全性。PhantomProcesskiller 会定期扫描正在运行的应用程序,并终止拥有过多子进程的应用程序。
PhantomProcesskiller 对 Termux 的影响
Termux 是一个 Android 上的 Linux 终端模拟器,需要大量的子进程来运行各种程序。因此,它很容易受到 PhantomProcesskiller 的影响,导致程序崩溃或无法运行。
绕过 PhantomProcesskiller 限制的方法
有几种方法可以绕过 Android 12 的 PhantomProcesskiller 限制,让 Termux 正常运行:
1. 修改 Termux 配置文件
- 打开 Termux 应用程序
- 点击右上角的菜单按钮
- 选择“设置”
- 滚动到“高级设置”
- 找到“子进程数量限制”选项
- 将子进程数量限制调高
2. 使用第三方应用程序
某些应用程序可以绕过 PhantomProcesskiller 限制,例如:
- Shizuku
- VirtualXposed
- EdXposed
这些应用程序通常通过创建虚拟机或沙盒来实现此目的。
3. 修改 Android 系统
- 获取 Android 设备的 root 权限
- 打开“设置”应用程序
- 滚动到“开发者选项”
- 找到“后台进程限制”选项
- 将后台进程限制调高
- 重启设备
代码示例
# 在 Termux 中修改子进程数量限制
termux-setup-storage
echo 512 > $PREFIX/var/service/storage/max_proc
# 使用 Shizuku 绕过 PhantomProcesskiller 限制
adb install shizuku.apk
adb shell pm grant jp.shizuku.privileged.api android.permission.FOREGROUND_SERVICE
# 通过修改 Android 系统绕过 PhantomProcesskiller 限制
adb shell su
setprop sys.sysctl.proc_sys_vm.max_map_count 262144
常见问题解答
1. 绕过 PhantomProcesskiller 限制是否安全?
绕过 PhantomProcesskiller 限制可能会降低设备的稳定性,因此建议仅在必要时使用这些方法。
2. 为什么 Termux 需要这么多的子进程?
Termux 需要子进程来运行各种程序和服务,例如 Shell 命令、编辑器和文件系统工具。
3. 还有其他绕过 PhantomProcesskiller 限制的方法吗?
以上列出的方法是最常见的方法,但可能有其他方法。
4. Termux 在 Android 12 上运行后会出现哪些问题?
如果 PhantomProcesskiller 限制了 Termux 的子进程数量,Termux 可能会出现程序崩溃、卡顿和无法运行某些程序等问题。
5. 是否有替代 Termux 的应用程序?
有其他 Android 终端模拟器,例如 JuiceSSH、ConnectBot 和 Termux:API,但它们可能没有 Termux 的功能全面。
结论
通过遵循本文中的方法,您可以绕过 Android 12 的 PhantomProcesskiller 限制,让 Termux 在您的设备上正常运行。但是,请谨慎使用这些方法,并权衡潜在的风险和好处。