Skip to content

Releases: bufanchen121101/AxManagerD

AxManagerD v1.0.0 正式版

Choose a tag to compare

@bufanchen121101 bufanchen121101 released this 22 Aug 15:54

AxManagerD v1.0.0 正式版 🎉

官网 Official Site: https://axmd.tw.kg

AxManagerD 是一套面向 Android 的「模块(插件)运行框架 + Xposed 注入引擎」一体化项目,兼容大多数设备与 Android 版本。
AxManagerD is an integrated "module (plugin) runtime framework + Xposed injection engine" project for Android, compatible with most devices and Android versions.


🧩 模块部分原理(Module System)

模块运行框架

模块以插件形式运行,由 reignite(Plugin Manager / Igniter)统一调度管理:

  • 扫描与加载:扫描 plugins/plugins_backup/ 目录,识别每个模块的 system/binpost-fs-data.shsystem.propservice.shuninstall.sh 等脚本。
  • 生命周期管理:根据 disable / remove / update 标记执行停用、卸载、更新;通过 service.shsetsid 后台常驻方式启动模块服务。
  • 资源注入linkBin 将模块 system/bin 下的可执行文件软链接到 xbin/system.prop 通过 resetprop 注入系统属性;post-fs-data.sh 在挂载后执行。
  • 卸载还原:备份安装的模块在卸载时按 .backup/props.snapshot 快照还原被改动的系统属性(类似 Magisk 的卸载还原机制)。

Device Owner 特权执行

模块可通过 axeron-dpm 脚本调用 Device Owner 特权(需配合 Dhizuku 作为 Device Owner):

  • 通过 DpmCommandService 在 manager 进程内执行 DeviceOwnerPrivilege,支持应用隐藏/挂起、停用/卸载等 DPM API 操作。
  • 结果通过结果文件回传给模块的 action.sh,返回标准退出码。

The module runtime is managed by reignite (Plugin Manager / Igniter):

  • Scan & Load: scans plugins/ and plugins_backup/, recognizes each module's system/bin, post-fs-data.sh, system.prop, service.sh, uninstall.sh.
  • Lifecycle: disables / uninstalls / updates modules via disable / remove / update markers; launches module services via service.sh with setsid as background daemons.
  • Resource injection: linkBin symlinks executables to xbin/; system.prop is applied via resetprop; post-fs-data.sh runs after mount.
  • Uninstall restore: backup-installed modules restore modified system properties from a .backup/props.snapshot snapshot (Magisk-like rollback).

Device Owner privileged commands are executed via axeron-dpm (requires Dhizuku as Device Owner). DpmCommandService executes DeviceOwnerPrivilege inside the manager process, supporting app hide/suspend, disable/uninstall and other DPM API operations.


🛠️ Xposed 部分原理(Xposed / LSPatch Engine)

LSPatch 注入引擎

Xposed 部分基于 LSPatch(免 Root 的 Xposed 实现):

  • APK 打补丁lspatch-coreLSPatch / ApkPatcher 将目标 APK 重新打包,注入运行时加载器与 Xposed 框架支持,无需解锁 Bootloader 或刷入 Magisk。
  • Shizuku 服务server 模块的 AxeronService / ShizukuServiceIntercept 通过 Shizuku 授权链路获得系统级 binder 权限,执行需要高权限的系统操作。
  • 进程注入与 Hook:注入目标应用进程后,可在运行时 Hook 方法、替换实现,实现模块对其它应用的增强(类似 Xposed 模块)。

与模块系统的协作

Xposed 引擎(LSPatch)负责「运行时 Hook 与进程注入」,模块系统(reignite)负责「插件管理与系统属性/文件注入」,二者协同构成 AxManagerD 的完整能力。

The Xposed part is based on LSPatch (rootless Xposed implementation):

  • APK patching: lspatch-core's LSPatch / ApkPatcher repackages the target APK, injecting the runtime loader and Xposed framework support without unlocking the bootloader or flashing Magisk.
  • Shizuku service: AxeronService / ShizukuServiceIntercept acquire system-level binder permissions via the Shizuku authorization chain.
  • Process injection & Hook: after injecting into the target app process, methods can be hooked at runtime to enhance other apps (Xposed-module style).

The Xposed engine (LSPatch) handles runtime hook & process injection, while the module system (reignite) handles plugin management & property/file injection.


🐛 本版本核心修复(v1.0.0 Core Fix)

修复了「带 Device Owner 的模块执行指令有结果、但输出报错」的问题。
Fixed the issue where module commands with Device Owner privileges actually took effect, but the output incorrectly reported an error.

根因(Root Cause)

Android 8.0+ 后台启动限制:当 manager 进程处于后台或已 force-stop 时,从 shell 发起的 am startservice 被系统拒绝,DpmCommandService 无法执行、结果文件写不出、脚本超时报 rc=3
Android 8.0+ background execution limits reject am startservice from shell when the manager process is backgrounded or force-stopped, so the script times out with rc=3.

修复(Solution)

新增无 UI 唤醒入口 DpmWakeActivity(透明主题、立即 finish、noHistory/excludeFromRecents),axeron-dpm 脚本在 am startservice 前先静默唤醒 manager 进程,绕过后台限制。
Added a UI-less wake entry DpmWakeActivity (transparent, immediately finishes). The axeron-dpm script silently wakes the manager process before am startservice to bypass the restriction.

  • ✅ 全程无闪屏 No screen flash
  • ✅ 不影响 DO 身份与 Dhizuku 授权 Does not affect DO identity or Dhizuku authorization
  • ✅ 不打断模块 shell 子进程 Does not interrupt module shell subprocess
  • ✅ 无新增第三方依赖 No new third-party dependencies

📦 安装(Installation)

下载下方 APK 安装即可。Download the APK below and install it.

ℹ️ 版本信息(Version Info)

  • 版本 Version:v1.0.0(正式版 / Stable)
  • 构建 Build:2608221529

AxManagerD v0.9.1 测试版

Pre-release

Choose a tag to compare

@bufanchen121101 bufanchen121101 released this 18 Aug 12:58

AxManagerD v0.9.1 测试版

AxManagerD 是一个基于 Dhizuku(无需 root)的 Android 设备所有者权限管理工具,可在无 root 设备上解锁设备所有者能力。

主要功能
可以在模块里

  • 隐藏 / 恢复隐藏应用(hide/unhide)
  • 停用 / 恢复停用应用(suspend/unsuspend)
  • 授予 / 撤销运行时权限(grant/deny)
  • 禁止 / 允许卸载应用(block-uninstall)
  • 强制停止、重启、锁屏等 DPM 能力
  • 现代 Kotlin + Jetpack Compose 界面
  • 基于 binder 桥接的指令服务(DpmCommandService)
  • 模块化插件管理

下载

  • 安装包:AxManagerD_v0.9.1.apk(7.7 MB)
  • SHA-256:0fa19e3e1e20565baa759db14c9a3ea68fcaabeb2435cf43a429bf0a4d81771d

说明

本版本为 0.9.1 测试版,功能仍在完善中。安装前请先阅读项目内的《AxManagerD_Dhizuku工作原理说明》与《AxManagerD模块开发完整指南》。

AxManagerD v0.9 测试版

Pre-release

Choose a tag to compare

@bufanchen121101 bufanchen121101 released this 18 Aug 12:39

AxManagerD v0.9 测试版

AxManagerD 是一个基于 Dhizuku(无需 root)的 Android 设备所有者权限管理工具,可在无 root 设备上解锁设备所有者能力。

主要功能

  • 隐藏 / 恢复隐藏应用(hide/unhide)
  • 停用 / 恢复停用应用(suspend/unsuspend)
  • 授予 / 撤销运行时权限(grant/deny)
  • 禁止 / 允许卸载应用(block-uninstall)
  • 强制停止、重启、锁屏等 DPM 能力
  • 现代 Kotlin + Jetpack Compose 界面
  • 基于 binder 桥接的指令服务(DpmCommandService)
  • 模块化插件管理

说明

本版本为 0.9 测试版,功能仍在完善中,使用前请阅读项目内的工作原理说明与开发指南。