From 980d161972eac2f6de6cb5a78fd63f597dcf19f8 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Tue, 1 Sep 2026 19:40:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(launcher/amsd):=20amsd=20MSG=5FAMS=5FSTART?= =?UTF-8?q?=20=E6=8B=89=E8=B5=B7=E7=BC=BA=E5=8F=A3=E2=80=94=E2=80=94pendin?= =?UTF-8?q?g-start=20=E6=8A=BD=20meow=5Fams=5Fstart=20=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E5=90=AF=E5=8A=A8=E9=93=BE=20+=20=E8=B4=9F?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=A0=81=E7=AC=A6=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因(真机日志实证,M2.92 遗留):meow_ams_pending_start_set 误返回正错误码 (-MEOW_ERR_BUSY=+8/-MEOW_ERR_INVAL=+1),ipc_dispatch 的 rc<0?-rc:MEOW_OK 把「有前台 App 拒绝/空包名非法」误判为 OK(0) → amsd 报 OK 但 pending 未置位 → App 永不拉起(am start 报 OK 但界面没出现/进程未起)。 launcher: - 新增自包含模块 meow_ams_start.c/.h(ops 注入 launch=launch_app/launch_activity、 resolve=resolve_chain、log=logmsg):pending 状态 + 拉起决策 + picker 上下文。 - set 统一返回负 MEOW_ERR_*(根因修复);consume 复用既有启动链路真正拉起目标 App, 列表未就绪(state!=0)保留 pending 待 2s 重扫重试,不再静默丢弃。 - main_menu run_menu 改经 meow_ams_start_consume 消费(保留 launch_fail_toast/菜单收尾); app_launcher 移除旧 g_ams_start/g_ams_pick_* 迁入模块;util meow_ipc_process 顶部同步 busy、 meow_ipc_init 末尾 meow_ams_launcher_init()。 - build_launcher.sh 编入 meow_ams_start.c;meow_launcher_internal.h 更新挂点声明。 amsd(协议层归属说明):cmd_start 的 busy 判定对照 launcher ACK 正幅度(busy=8), 原 (uint32_t)MEOW_ERR_BUSY=0xFFFFFFF8 永不匹配 → busy 落入 launcher offline,改 (uint32_t)(-MEOW_ERR_BUSY)。 验证:宿主 test_ams_start.c 33 断言全 PASS(合法->拉起链、activity chain 透传、空包名/非法/busy 不拉起不崩、列表未就绪保留 pending、无路由 NO ROUTE、启动失败 idx 回报、picker 取回); launcher 目录全量回归 test_media/bgplay/depends/notif_panel/notif_tf/settings_brightness/ vol_ramp_jack/host_icon + test_font_tier/weight 全 PASS;mipsel -Wall -Wextra 0 warning。 新 md5:meow_launcherd a8200ae1b0aa68d7262749db87377d49、meow_amsd 7ddc677ce7938bc9b95c83c17bc78295。(M2.98 待打包,未刷机) --- patch_v2/meow_amsd/meow_amsd | Bin 133644 -> 133644 bytes patch_v2/meow_amsd/meow_amsd.c | 3 +- patch_v2/meow_amsd/meow_amsd_host | Bin 76752 -> 76752 bytes patch_v2/meow_launcherd/app_launcher.c | 92 ++++------ patch_v2/meow_launcherd/build_launcher.sh | 1 + patch_v2/meow_launcherd/main_menu.c | 54 ++---- patch_v2/meow_launcherd/meow_ams_start.c | 129 +++++++++++++ patch_v2/meow_launcherd/meow_ams_start.h | 62 +++++++ .../meow_launcherd/meow_launcher_internal.h | 23 ++- patch_v2/meow_launcherd/meow_launcherd | Bin 605916 -> 607116 bytes patch_v2/meow_launcherd/test_ams_start.c | 172 ++++++++++++++++++ patch_v2/meow_launcherd/util.c | 7 + scripts/build/fw_content.conf | 4 +- 13 files changed, 446 insertions(+), 101 deletions(-) create mode 100644 patch_v2/meow_launcherd/meow_ams_start.c create mode 100644 patch_v2/meow_launcherd/meow_ams_start.h create mode 100644 patch_v2/meow_launcherd/test_ams_start.c diff --git a/patch_v2/meow_amsd/meow_amsd b/patch_v2/meow_amsd/meow_amsd index 9057612774e2bb2ab87dca998149488d581dc7ff..fadd0b0b77dda473b7312b336f32035237655998 100755 GIT binary patch delta 21 dcmeB~!qGE@W5a?fCJu(?MOE7uRWWAu0{~rG2$28) delta 21 dcmeB~!qGE@W5a?frXT;C7gcRvRK=Lp4*+qX3V;9r diff --git a/patch_v2/meow_amsd/meow_amsd.c b/patch_v2/meow_amsd/meow_amsd.c index 8182789..12e05bf 100644 --- a/patch_v2/meow_amsd/meow_amsd.c +++ b/patch_v2/meow_amsd/meow_amsd.c @@ -1171,7 +1171,8 @@ static int cmd_start(const char *spec, char *resp, int rn) hist_push(a, "ams_start", "intent (forwarded)", (long)time(NULL), read_uptime_sec()); snprintf(detail, sizeof detail, "ok forwarded"); emit_log("AMS start %s%s forwarded to launcher", pkg, act[0] ? "/" : ""); - } else if (rt == 0 && code == (uint32_t)MEOW_ERR_BUSY) { + } else if (rt == 0 && code == (uint32_t)(-MEOW_ERR_BUSY)) { + /* launcher ACK ack.code 携带正幅度(busy=8,见 util.c `rc<0?-rc:MEOW_OK`),非二补。 */ snprintf(detail, sizeof detail, "busy (app running)"); emit_log("AMS start %s -> BUSY (app running)", pkg); } else { diff --git a/patch_v2/meow_amsd/meow_amsd_host b/patch_v2/meow_amsd/meow_amsd_host index 4338029189f85c4cb75a12df3f989278bb9b3a0a..5d71b54a2bfeed7de17f096178f86494d4a27368 100755 GIT binary patch delta 42 zcmV+_0M-A{*96el1h9Yt6u7X{F93WuEb8$2aA!`HPy?H31+$a_Q%(VKv*=Lh+N_Wh A*Z=?k delta 42 zcmV+_0M-A{*96el1h9Yt6aoGnet_JvGHZ4FyMs;M1& diff --git a/patch_v2/meow_launcherd/app_launcher.c b/patch_v2/meow_launcherd/app_launcher.c index 7237845..cb2eb9b 100644 --- a/patch_v2/meow_launcherd/app_launcher.c +++ b/patch_v2/meow_launcherd/app_launcher.c @@ -1,6 +1,7 @@ /* app_launcher.c — MeowOS launcher 拆分模块(LAUNCHER_SPLIT_PLAN 拆分)。*/ /* 本文件由拆分工具从 meow_launcherd.c 按职责搬移;逻辑与原文 0-diff(仅 static 可见性按跨模块需求调整)。*/ #include "meow_launcher_internal.h" +#include "meow_ams_start.h" /* MSG_AMS_START pending/拉起决策(meow_ams_start.c) */ static struct meow_acct g_accts[MEOW_MAX_ACTS]; /* 主循环单写者 */ @@ -201,30 +202,9 @@ static int reap_wait(pid_t pid, int *status) } } -/* ---- amsd start/kill 挂点(主循环单写者)---- */ -static struct { char pkg[MEOW_APP_ID_MAX]; char act[MEOW_ACT_MAX]; int pending; } g_ams_start; +/* ---- amsd kill 挂点(主循环单写者;start 侧见 meow_ams_start.c)---- */ static struct { char pkg[MEOW_APP_ID_MAX]; int pending; } g_ams_kill; -int meow_ams_pending_start_set(const char *pkg, const char *act) -{ - if (!pkg || !pkg[0]) return -MEOW_ERR_INVAL; - if (g_app_session_active) return -MEOW_ERR_BUSY; - snprintf(g_ams_start.pkg, sizeof g_ams_start.pkg, "%s", pkg); - g_ams_start.act[0] = 0; - if (act && act[0]) snprintf(g_ams_start.act, sizeof g_ams_start.act, "%s", act); - g_ams_start.pending = 1; - return 0; -} - -int meow_ams_take_start(char *pkg, int pn, char *act, int an) -{ - if (!g_ams_start.pending) return 0; - g_ams_start.pending = 0; - if (pkg && pn > 0) snprintf(pkg, pn, "%s", g_ams_start.pkg); - if (act && an > 0) snprintf(act, an, "%s", g_ams_start.act); - return 1; -} - void meow_ams_pending_kill_set(const char *pkg) { if (!pkg || !pkg[0]) return; @@ -241,34 +221,38 @@ int meow_ams_kill_pending(const char *pkg) return 1; } -/* ---- AMSD_DESIGN §6.2 二期:picker 上下文(随 pending-start 置位,launch_app_chain 消费后清)---- - * amsd `am picker` → MSG_AMS_START 扩载荷(picker=1)→ ipc_dispatch 经 set_ex 置位 + 武装 - * g_ams_pick_armed;main_menu 消费 pending-start(照旧 launch_app/launch_activity)时, - * launch_app_chain 读到武装位 → 注入 MEOW_PICKER_ACTION/REQ_ID/CALLER 到子进程 → 解除武装。 - * 单一写者(ipc_dispatch / launch_app_chain),且同一时刻仅一个 pending-start 在飞(v1 单前台 App), - * 故武装位不会错配到非 picker 启动。 */ -static char g_ams_pick_action[24]; -static char g_ams_pick_caller[MEOW_APP_ID_MAX]; -static uint32_t g_ams_pick_req; -static int g_ams_pick_armed; +/* ---- amsd-start ops 组装(launch_app/launch_activity + resolve_chain + logmsg)---- + * meow_ams_start_consume 经 ops.launch 复用既有启动链路真正拉起 App(chain 空=裸启动、 + * 非空=activity 链)。ops.launch 的 idx→struct app 映射经 g_ams_ctx 完成(run_menu 每次 + * 消费前 meow_ams_ctx_set(apps, napps))。 */ +static struct app *g_ams_ctx_apps; +static int g_ams_ctx_napps; -int meow_ams_pending_start_set_ex(const char *pkg, const char *act, - const char *pick_action, uint32_t pick_req, - const char *pick_caller) +void meow_ams_ctx_set(struct app *apps, int napps) { - int rc = meow_ams_pending_start_set(pkg, act); - if (rc != 0) return rc; /* 拒绝(有前台 App / 参数非法) */ - g_ams_pick_action[0] = 0; - g_ams_pick_caller[0] = 0; - g_ams_pick_req = 0; - g_ams_pick_armed = 0; - if (pick_action && pick_action[0]) { - snprintf(g_ams_pick_action, sizeof g_ams_pick_action, "%s", pick_action); - if (pick_caller) snprintf(g_ams_pick_caller, sizeof g_ams_pick_caller, "%s", pick_caller); - g_ams_pick_req = pick_req; - g_ams_pick_armed = 1; - } - return 0; + g_ams_ctx_apps = apps; + g_ams_ctx_napps = napps; +} + +static int ams_launch_cb(int idx, const char *chain) +{ + if (!g_ams_ctx_apps || idx < 0 || idx >= g_ams_ctx_napps) return -MEOW_ERR_NOENT; + if (chain && chain[0]) return launch_activity(&g_ams_ctx_apps[idx], chain); + return launch_app(&g_ams_ctx_apps[idx]); +} + +static int ams_resolve_cb(const char *app_id, const char *activity, char *chain, int *depth) +{ + return resolve_chain(app_id, activity, chain, depth); +} + +void meow_ams_launcher_init(void) +{ + static struct meow_ams_ops ops; + ops.launch = ams_launch_cb; + ops.resolve = ams_resolve_cb; + ops.log = logmsg; + meow_ams_ops_init(&ops); } /* 子进程 exec 前注入 picker env(action/req/caller 已由 launch_app_chain 入口捕获并解除全局武装, @@ -1452,17 +1436,13 @@ static int run_app_notif_overlay(struct app *a, pid_t pid) static int launch_app_chain(struct app *a, const char *chain) { logmsg("launch: %s (%s) chain=\"%s\"", a->name, a->exec, chain ? chain : ""); - /* §6.2 二期:入口即捕获 picker 上下文并解除全局武装——即便后续 exec 失败(!a->ok)返回, - * 武装位也已清,不会错配到下一次普通启动(单飞不泄漏)。 */ + /* §6.2 二期:入口即捕获 picker 上下文并解除武装(meow_ams_take_picker)——即便后续 + * exec 失败(!a->ok)返回,武装位也已清,不会错配到下一次普通启动(单飞不泄漏)。 */ char pick_action[24] = ""; char pick_caller[MEOW_APP_ID_MAX] = ""; uint32_t pick_req = 0; - if (g_ams_pick_armed) { - snprintf(pick_action, sizeof pick_action, "%s", g_ams_pick_action); - snprintf(pick_caller, sizeof pick_caller, "%s", g_ams_pick_caller); - pick_req = g_ams_pick_req; - g_ams_pick_armed = 0; - } + meow_ams_take_picker(pick_action, sizeof pick_action, + pick_caller, sizeof pick_caller, &pick_req); if (!a->ok) { logmsg("launch blocked: exec not ok"); return -1; } meow_dep_clear_reason(); /* 每次 launch 入口清 stale 依赖阻断原因(防上一 app 残留) */ diff --git a/patch_v2/meow_launcherd/build_launcher.sh b/patch_v2/meow_launcherd/build_launcher.sh index c0c763c..5139b00 100755 --- a/patch_v2/meow_launcherd/build_launcher.sh +++ b/patch_v2/meow_launcherd/build_launcher.sh @@ -28,6 +28,7 @@ SYSROOT="$ROOT/.tools/mipsel-linux-muslsf-cross/mipsel-linux-muslsf" subpage.c wifi_page.c bt_page.c now_playing.c \ font_theme.c keys.c util.c meow_dep.c \ meow_touch.c meow_settings.c meow_notif.c meow_media.c meow_bgplay.c \ + meow_ams_start.c \ "../sdk/meow_ui.a" "$SYSROOT/lib/libz.a" -lpthread -o meow_launcherd echo "== meow_launcherd ==" ls -la meow_launcherd diff --git a/patch_v2/meow_launcherd/main_menu.c b/patch_v2/meow_launcherd/main_menu.c index c08b88a..4faf14e 100644 --- a/patch_v2/meow_launcherd/main_menu.c +++ b/patch_v2/meow_launcherd/main_menu.c @@ -1,6 +1,7 @@ /* main_menu.c — MeowOS launcher 拆分模块(LAUNCHER_SPLIT_PLAN 拆分)。*/ /* 本文件由拆分工具从 meow_launcherd.c 按职责搬移;逻辑与原文 0-diff(仅 static 可见性按跨模块需求调整)。*/ #include "meow_launcher_internal.h" +#include "meow_ams_start.h" /* MSG_AMS_START 拉起决策(meow_ams_start.c):run_menu 消费用 */ /* set by run_menu: the player's panel was blanked (screen timeout) when the @@ -885,43 +886,28 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, /* 阶段 D · M0:菜单/主屏循环内排空 IPC(非阻塞;应用可随时查询/声明路由) */ meow_ipc_process(); - /* AMSD_DESIGN §4.3:amsd `am start` → 消费 pending-start(仅菜单态/无前台 App 时拉起)。 + /* AMSD_DESIGN §4.3:amsd `am start` → meow_ams_start_consume 消费 pending-start, + * 复用既有启动链路(launch_app/launch_activity)真正拉起目标 App。 * 镜像 sim-tap 启动路径:launch 后 menu_after_app_exit + dirty 重绘菜单。 */ { - char spkg[MEOW_APP_ID_MAX], sact[MEOW_ACT_MAX]; - if (meow_ams_take_start(spkg, sizeof spkg, sact, sizeof sact)) { - if (state != 0) { - snprintf(toast, sizeof toast, "AMS START: app list not ready"); - toast_ms = TOAST_MS; - } else { - int idx = -1; - for (int i = 0; i < napps; i++) - if (!strcmp(apps[i].id, spkg)) { idx = i; break; } - if (idx < 0) { - snprintf(toast, sizeof toast, "AMS START: NO APP %s", spkg); - toast_ms = TOAST_MS; - } else { - int ret; - if (sact[0]) { - char chain[MEOW_CHAIN_MAX]; int depth; - if (resolve_chain(spkg, sact, chain, &depth) == MEOW_OK) - ret = launch_activity(&apps[idx], chain); - else { - snprintf(toast, sizeof toast, "AMS: NO ROUTE %s/%s", spkg, sact); - toast_ms = TOAST_MS; ret = 0; - } - } else { - ret = launch_app(&apps[idx]); - } - if (ret != 0) { - launch_fail_toast(toast, sizeof toast, apps[idx].name); - toast_ms = TOAST_MS; - } - menu_after_app_exit(ret == 0); - last_input_ms = now_ms(); /* M2.17:回主界面即视为输入 */ - dirty = 1; - } + const char *ids[MAX_APPS]; + for (int i = 0; i < napps; i++) ids[i] = apps[i].id; + meow_ams_ctx_set(apps, napps); /* ops.launch 的 idx→struct app 映射 */ + int app_ran = 0, idx = -1; + int r = meow_ams_start_consume(ids, napps, state, toast, sizeof toast, + &app_ran, &idx); + if (r == 1) { + if (!app_ran && idx >= 0 && idx < napps) { + /* 启动失败:复用 run_menu 的失败 toast(缺依赖/exec 失败,含 app 名)。 */ + launch_fail_toast(toast, sizeof toast, apps[idx].name); } + toast_ms = TOAST_MS; + menu_after_app_exit(app_ran); + last_input_ms = now_ms(); /* M2.17:回主界面即视为输入 */ + dirty = 1; + } else if (r == 2) { + /* 应用列表未就绪:pending 保留(下次重扫即拉起),仅提示,不红冲免忙循环。 */ + toast_ms = TOAST_MS; } } meow_notif_tick(); /* M2a:通知 TTL 10s 转储(§8)*/ diff --git a/patch_v2/meow_launcherd/meow_ams_start.c b/patch_v2/meow_launcherd/meow_ams_start.c new file mode 100644 index 0000000..1c1d763 --- /dev/null +++ b/patch_v2/meow_launcherd/meow_ams_start.c @@ -0,0 +1,129 @@ +/* meow_ams_start.c — MSG_AMS_START 拉起决策(AMSD_DESIGN §4.3)。 + * + * 独立模块(无 launcher 内部依赖,仅 meow_ipc.h):持有 pending-start 状态 + 拉起决策, + * 经 ops 注入真实启动链路(launch_app/launch_activity + resolve_chain + logmsg), + * 使「am start」在 run_menu 主循环中真正拉起目标 App。 + * + * 根因修复:历史实现 `meow_ams_pending_start_set` 返回 `-MEOW_ERR_BUSY`(=+8,正)而非 + * 负错误码,ipc_dispatch 的 `rc<0?-rc:MEOW_OK` 因此把「有前台 App 拒绝」误判为 OK(0), + * 且拒绝发生在置 pending 之前 → amsd 报 OK 但 App 永不拉起。本模块统一为负 MEOW_ERR_*。 + * + * 单一写者约定:pending 状态只在主循环上下文写入/消费(ipc_dispatch 写、run_menu 消费), + * 与 launcher 「单写者」纪律一致,无需锁。 + */ +#include "meow_ams_start.h" + +#include +#include + +struct meow_ams_start_state { + char pkg[MEOW_APP_ID_MAX]; + char act[MEOW_ACT_MAX]; + int pending; + /* picker 上下文(二期;pick_armed=1 时 next launch 注入 env) */ + char pick_action[24]; + char pick_caller[MEOW_APP_ID_MAX]; + uint32_t pick_req; + int pick_armed; +}; + +static struct meow_ams_start_state g_ams; /* 主循环单写者,无锁 */ +static struct meow_ams_ops g_ops; +static int g_busy; /* =g_app_session_active 镜像(主循环每圈同步) */ + +void meow_ams_ops_init(const struct meow_ams_ops *ops) +{ + if (ops) g_ops = *ops; + else memset(&g_ops, 0, sizeof g_ops); +} + +void meow_ams_set_busy(int busy) +{ + g_busy = busy; +} + +int meow_ams_pending_start_set(const char *pkg, const char *act) +{ + if (!pkg || !pkg[0]) return MEOW_ERR_INVAL; /* 负错误码(根因修复) */ + if (g_busy) return MEOW_ERR_BUSY; /* 有前台 App:拒绝(负错误码) */ + snprintf(g_ams.pkg, sizeof g_ams.pkg, "%s", pkg); + g_ams.act[0] = 0; + if (act && act[0]) snprintf(g_ams.act, sizeof g_ams.act, "%s", act); + g_ams.pending = 1; + return 0; +} + +int meow_ams_pending_start_set_ex(const char *pkg, const char *act, + const char *pick_action, uint32_t pick_req, + const char *pick_caller) +{ + int rc = meow_ams_pending_start_set(pkg, act); + if (rc != 0) return rc; /* 拒绝(有前台 App / 参数非法) */ + g_ams.pick_action[0] = 0; + g_ams.pick_caller[0] = 0; + g_ams.pick_req = 0; + g_ams.pick_armed = 0; + if (pick_action && pick_action[0]) { + snprintf(g_ams.pick_action, sizeof g_ams.pick_action, "%s", pick_action); + if (pick_caller) snprintf(g_ams.pick_caller, sizeof g_ams.pick_caller, "%s", pick_caller); + g_ams.pick_req = pick_req; + g_ams.pick_armed = 1; + } + return 0; +} + +int meow_ams_take_picker(char *action, int action_len, + char *caller, int caller_len, uint32_t *req) +{ + if (!g_ams.pick_armed) return 0; + g_ams.pick_armed = 0; + if (action && action_len > 0) snprintf(action, action_len, "%s", g_ams.pick_action); + if (caller && caller_len > 0) snprintf(caller, caller_len, "%s", g_ams.pick_caller); + if (req) *req = g_ams.pick_req; + return 1; +} + +int meow_ams_start_consume(const char *const *ids, int napps, int state, + char *toast, int toast_len, int *app_ran, int *idx_out) +{ + if (app_ran) *app_ran = 0; + if (idx_out) *idx_out = -1; + if (!g_ams.pending || g_busy) return 0; /* 无待拉起 / 前台 App 会话中 */ + + if (state != 0) { + /* 应用列表未就绪:保留 pending(不丢「am start」),等 run_menu 2s 重扫后重试。 */ + if (toast && toast_len > 0) snprintf(toast, toast_len, "AMS START: app list not ready"); + return 2; + } + + int idx = -1; + for (int i = 0; i < napps; i++) + if (ids[i] && !strcmp(ids[i], g_ams.pkg)) { idx = i; break; } + if (idx < 0) { + g_ams.pending = 0; + if (toast && toast_len > 0) snprintf(toast, toast_len, "AMS START: NO APP %s", g_ams.pkg); + return 1; + } + + char chain[MEOW_CHAIN_MAX] = ""; + if (g_ams.act[0]) { + int depth = 0; + int rc = g_ops.resolve ? g_ops.resolve(g_ams.pkg, g_ams.act, chain, &depth) + : MEOW_ERR_NOENT; + if (rc != MEOW_OK) { + g_ams.pending = 0; + if (toast && toast_len > 0) + snprintf(toast, toast_len, "AMS: NO ROUTE %s/%s", g_ams.pkg, g_ams.act); + return 1; + } + } + + g_ams.pending = 0; + if (idx_out) *idx_out = idx; + /* 复用既有启动链路(launch_app/launch_activity 阻塞至 app 退出或 exec 失败) + * chain 空=裸启动;非空=经 resolve_chain 的 activity 链(含参透传)。 + * 启动失败(lr<0)不在此设 toast:调用方经 idx_out 拿到 apps[idx].name 打 launch_fail_toast。 */ + int lr = g_ops.launch ? g_ops.launch(idx, chain[0] ? chain : NULL) : -MEOW_ERR_INTERNAL; + if (app_ran) *app_ran = (lr == 0); + return 1; +} diff --git a/patch_v2/meow_launcherd/meow_ams_start.h b/patch_v2/meow_launcherd/meow_ams_start.h new file mode 100644 index 0000000..8796aaa --- /dev/null +++ b/patch_v2/meow_launcherd/meow_ams_start.h @@ -0,0 +1,62 @@ +/* meow_ams_start.h — MSG_AMS_START 拉起决策(AMSD_DESIGN §4.3)。 + * + * 独立模块以便宿主单测:pending 状态 + 拉起决策都在此,启动/解析/日志经 ops 注入 + * (生产=launcher 既有链路 launch_app/launch_activity + resolve_chain + logmsg; + * 测试=假件,见 test_ams_start.c)。 + * + * 约定(与 launcher 其余模块一致):本模块函数返回负的 MEOW_ERR_*(-1=INVAL / -8=BUSY) + * 表示拒绝,0 表示受理。ipc_dispatch 用 `a.code=(uint32_t)(rc<0?-rc:MEOW_OK)` 把负错误码 + * 转成正的 ack.code(幅度);amsd 侧按 `(uint32_t)(-MEOW_ERR_BUSY)` 识别 busy。 + * —— 历史上 set() 误返回 `-MEOW_ERR_BUSY`(=+8,正)导致 ipc_dispatch 把拒绝当 OK, + * 表现为「am start 报 OK 但 App 未拉起」;本模块统一为负错误码(根因修复)。 + */ +#ifndef MEOW_AMS_START_H +#define MEOW_AMS_START_H + +#include "meow_ipc.h" /* MEOW_APP_ID_MAX / MEOW_ACT_MAX / MEOW_CHAIN_MAX / MEOW_ERR_* */ + +/* 启动/解析/日志回调注入(单测=假件;生产在 meow_ipc_init 末尾组装)。 */ +struct meow_ams_ops { + /* 执行启动。idx=调用方应用表下标;chain 空=裸启动。 + * 复用 launcher 既有链路:launch_app(&apps[idx]) / launch_activity(&apps[idx], chain)。 + * 返回 0=已受理(app 已运行至退出);<0=启动失败/未找到。 */ + int (*launch)(int idx, const char *chain); + /* 解析 activity 链(resolve_chain)。返回 MEOW_OK / MEOW_ERR_NOENT。 */ + int (*resolve)(const char *app_id, const char *activity, char *chain, int *depth); + /* 日志(可空=静默)。 */ + void (*log)(const char *fmt, ...); +}; + +/* 组装 ops(launcher meow_ipc_init 末尾 / 测试 main 调用)。launch/resolve 须非 NULL。 */ +void meow_ams_ops_init(const struct meow_ams_ops *ops); + +/* 同步「前台 App 会话」占用位(=g_app_session_active)。 + * busy=1 时 pending_start_set 拒绝(-MEOW_ERR_BUSY)且 consume 不动作。 */ +void meow_ams_set_busy(int busy); + +/* 置 pending(ipc_dispatch MSG_AMS_START 时调)。 + * pkg 空 → -MEOW_ERR_INVAL;busy → -MEOW_ERR_BUSY;否则置位并返回 0。 */ +int meow_ams_pending_start_set(const char *pkg, const char *act); + +/* 二期 picker 扩载荷:置 pending + 武装 picker 上下文(pick_action 非空时,launch_app_chain + * 入口经 meow_ams_take_picker 注入 MEOW_PICKER_ACTION/REQ_ID/CALLER)。错误语义同 set。 */ +int meow_ams_pending_start_set_ex(const char *pkg, const char *act, + const char *pick_action, uint32_t pick_req, + const char *pick_caller); + +/* 消费 pending(各主循环排空 IPC 后 / run_menu 循环调用)。 + * ids=napps 个应用主键串指针(apps[i].id);state=菜单态(0=就绪;非 0=列表未就绪不拉起, + * pending 保留待重扫重试)。toast/toast_len=错误提示槽(可空)。 + * app_ran=输出:1=app 已运行;0=未运行(拒绝/失败)。idx_out=输出:本次使用的应用表下标 + * (-1=未命中应用;>=0 且 app_ran=0 表示启动失败,调用方应据 apps[idx].name 打 launch_fail_toast)。 + * 返回:0=无 pending 或 busy(暂不动作);1=已消费(拉起成功/拒绝并清 pending,toast 已设); + * 2=列表未就绪(pending 保留待重扫重试,toast 已设「not ready」,调用方勿红冲)。 */ +int meow_ams_start_consume(const char *const *ids, int napps, int state, + char *toast, int toast_len, int *app_ran, int *idx_out); + +/* 消费拾取 picker 上下文(launch_app_chain 入口调用,一次性清位)。 + * 返回 1=有 picker 上下文;0=无。 */ +int meow_ams_take_picker(char *action, int action_len, + char *caller, int caller_len, uint32_t *req); + +#endif /* MEOW_AMS_START_H */ diff --git a/patch_v2/meow_launcherd/meow_launcher_internal.h b/patch_v2/meow_launcherd/meow_launcher_internal.h index 34d883d..0c18cbe 100644 --- a/patch_v2/meow_launcherd/meow_launcher_internal.h +++ b/patch_v2/meow_launcherd/meow_launcher_internal.h @@ -670,16 +670,23 @@ void meow_nav_exit(void); /* 清栈(应用退出/EXIT) */ void meow_nav_request_exit(void); /* MSG_NAV{EXIT}:置位让前台 waitpid 循环终止 app */ int meow_nav_exit_pending(void); /* 读取并清除退出请求(前台 launch_* 循环轮询) */ /* ---- amsd 控制挂点(AMSD_DESIGN §4.3 / §6.2 二期):主循环单写者,跨模块声明 ---- - * pending-start/kill 仅在主循环上下文写入与消费(ipc_dispatch 写、run_menu 前台循环/菜单循环读)。 */ -int meow_ams_pending_start_set(const char *pkg, const char *act); /* 有前台 App 时拒绝(返回 -MEOW_ERR_BUSY) */ -int meow_ams_take_start(char *pkg, int pn, char *act, int an); /* 1=取到待拉起 App(清位);0=无 */ + * pending-start 状态/拉起决策在 meow_ams_start.c(自包含、可单测,见 meow_ams_start.h); + * pending-kill 在 app_launcher.c。仅在主循环上下文写入与消费(ipc_dispatch 写、 + * run_menu 前台循环/菜单循环读)。 */ void meow_ams_pending_kill_set(const char *pkg); /* 请求终止某 pkg */ int meow_ams_kill_pending(const char *pkg); /* 匹配则清除并返回 1(前台循环轮询) */ -/* §6.2 二期:带 picker 上下文的 pending-start(amsd `am picker` 经 MSG_AMS_START 扩载荷)。 - * pick_action 非空 → launch_app_chain 注入 MEOW_PICKER_ACTION/REQ_ID/CALLER 到子进程。 */ -int meow_ams_pending_start_set_ex(const char *pkg, const char *act, - const char *pick_action, uint32_t pick_req, - const char *pick_caller); +/* run_menu 消费 pending-start:复用 launch_app/launch_activity 链真正拉起目标 App。 + * 返回 0=无 pending/busy;1=已消费(拉起成功/拒绝);2=列表未就绪(pending 保留待重扫)。 + * app_ran=1=app 已运行(据以设 touch 冷却);idx_out>=0 且 app_ran=0 → 启动失败,打 launch_fail_toast。 */ +int meow_ams_start_consume(const char *const *ids, int napps, int state, + char *toast, int toast_len, int *app_ran, int *idx_out); +/* launch_app_chain 入口拾取 picker 上下文(一次性清位)。 */ +int meow_ams_take_picker(char *action, int action_len, + char *caller, int caller_len, uint32_t *req); +/* 组装 amsd-start ops(生产=launch_app/launch_activity+resolve_chain+logmsg;meow_ipc_init 末尾调)。 */ +void meow_ams_launcher_init(void); +/* 供 run_menu/idle 挂当前 apps[] 上下文(ops.launch 的 idx→app 映射用)。 */ +void meow_ams_ctx_set(struct app *apps, int napps); /* §6.2 二期:amsd 上报通道(best-effort,app_launcher.c 的 ams_send 公开包装)。 * util.c 转发运行时 declare 与 picker call/result 给 amsd 用。 */ void meow_ams_send(const char *payload, int len); diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index fa057afa6dddaf6a50838612347460d6fc5755e8..28639974ef97965c52dea3fb7707e2b9997bebc0 100755 GIT binary patch delta 172335 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

XHQV8 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

T)8*F8W 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%0D#6|>0LrlbXm|q->F~Qu6DPpNbRE0e` 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 X7s+?h(EgsJW}bA9HIrQZJ#GIV=|>Ko diff --git a/patch_v2/meow_launcherd/test_ams_start.c b/patch_v2/meow_launcherd/test_ams_start.c new file mode 100644 index 0000000..db0fbfb --- /dev/null +++ b/patch_v2/meow_launcherd/test_ams_start.c @@ -0,0 +1,172 @@ +/* test_ams_start.c — 宿主单测:MSG_AMS_START 拉起决策(meow_ams_start.c)。 + * + * 覆盖(AMSD_DESIGN §4.3 缺口回归): + * 1) 合法 MSG_AMS_START(裸启动 act 空)→ 置 pending → consume → ops.launch(idx, NULL); + * 2) 合法 MSG_AMS_START + activity → resolve → consume → ops.launch(idx, chain); + * 3) 参数非法(pkg 空)→ meow_ams_pending_start_set 返回 MEOW_ERR_INVAL,不置位、不拉起、不崩; + * 4) 有前台 App(busy)→ set 返回 MEOW_ERR_BUSY(负错误码,根因修复),不拉起; + * 5) 列表未就绪(state!=0)→ consume 返回 2(pending 保留),不拉起;后就绪再 consume → 拉起; + * 6) pkg 不在应用表 → consume 返回 1,toast「NO APP」,不拉起; + * 7) activity 无路由 → consume 返回 1,toast「NO ROUTE」,不拉起; + * 8) 启动失败(ops.launch 返 <0)→ consume 返回 1,app_ran=0,idx_out 命中(供 launch_fail_toast); + * 9) picker 扩载荷:set_ex 武装 → take_picker 取回并清位。 + * 只依赖 meow_ams_start.c + meow_ipc.h(纯 C),宿主 gcc 直编: + * gcc -Wall -Wextra -std=gnu99 test_ams_start.c meow_ams_start.c -o test_ams_start + */ +#include +#include +#include +#include +#include "meow_ams_start.h" +#include "meow_ipc.h" + +static int g_fails = 0; +#define CHECK(cond, msg) do { \ + if (cond) printf("PASS: %s\n", msg); \ + else { printf("FAIL: %s\n", msg); g_fails++; } } while (0) + +/* ---- 假件 ---- */ +static int g_launch_calls = 0; /* ops.launch 被调次数 */ +static int g_launch_last_idx = -1; +static char g_launch_last_chain[MEOW_CHAIN_MAX]; +static int g_launch_ret = 0; /* 可注入:0=成功 / <0=启动失败 */ +static int g_resolve_calls = 0; +static int g_resolve_rc = MEOW_OK; /* 可注入:MEOW_OK / MEOW_ERR_NOENT */ +static int g_log_calls = 0; + +static int fake_launch(int idx, const char *chain) +{ + g_launch_calls++; + g_launch_last_idx = idx; + if (chain) snprintf(g_launch_last_chain, sizeof g_launch_last_chain, "%s", chain); + else g_launch_last_chain[0] = 0; + return g_launch_ret; +} + +static int fake_resolve(const char *app_id, const char *activity, + char *chain, int *depth) +{ + (void)app_id; + g_resolve_calls++; + if (g_resolve_rc != MEOW_OK) return g_resolve_rc; + snprintf(chain, MEOW_CHAIN_MAX, "%s", activity); /* 简化:chain=activity */ + if (depth) *depth = 1; + return MEOW_OK; +} + +static void fake_log(const char *fmt, ...) { (void)fmt; g_log_calls++; } + +static void reset_fakes(void) +{ + g_launch_calls = 0; g_launch_last_idx = -1; + g_launch_last_chain[0] = 0; g_launch_ret = 0; + g_resolve_calls = 0; g_resolve_rc = MEOW_OK; + g_log_calls = 0; + meow_ams_set_busy(0); +} + +/* 应用表:id 主键串 + 用于 idx 断言 */ +static const char *g_ids[3] = { "dev.player.ncm", "os.meow.files", "os.meow.hello" }; + +int main(void) +{ + static struct meow_ams_ops ops; + ops.launch = fake_launch; + ops.resolve = fake_resolve; + ops.log = fake_log; + meow_ams_ops_init(&ops); + + char toast[64]; + int app_ran = 0, idx = -1; + + /* ---- 1) 合法裸启动(act 空)→ consume → ops.launch ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("dev.player.ncm", "") == 0, "set(bare): 受理"); + int r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_launch_calls == 1, "consume(bare): 拉起链路被调"); + CHECK(g_launch_last_idx == 0, "consume(bare): idx 命中 dev.player.ncm"); + CHECK(g_launch_last_chain[0] == 0, "consume(bare): chain 空(裸启动)"); + CHECK(app_ran == 1, "consume(bare): app_ran=1"); + + /* ---- 2) activity 链 → resolve → consume → ops.launch(chain) ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("os.meow.files", "pick") == 0, "set(act): 受理"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_resolve_calls == 1, "consume(act): resolve 被调"); + CHECK(g_launch_calls == 1 && g_launch_last_idx == 1, "consume(act): ops.launch(idx=1)"); + CHECK(g_launch_last_chain[0] && strcmp(g_launch_last_chain, "pick") == 0, + "consume(act): chain 透传 pick"); + + /* ---- 3) 参数非法(pkg 空)→ INVAL,不置位、不拉起 ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("", "") == MEOW_ERR_INVAL, "set(空 pkg): 返回负错误码 MEOW_ERR_INVAL"); + CHECK(meow_ams_pending_start_set(NULL, NULL) == MEOW_ERR_INVAL, "set(NULL pkg): MEOW_ERR_INVAL"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 0 && g_launch_calls == 0, "consume: 空 pkg 未置位 → 不拉起"); + + /* ---- 4) busy(有前台 App)→ BUSY,不拉起 ---- */ + reset_fakes(); + meow_ams_set_busy(1); + CHECK(meow_ams_pending_start_set("os.meow.hello", "") == MEOW_ERR_BUSY, + "set(busy): 返回负错误码 MEOW_ERR_BUSY(根因修复:旧实现返回 +8 被误判 OK)"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 0 && g_launch_calls == 0, "consume(busy): 不拉起"); + meow_ams_set_busy(0); + + /* ---- 5) 列表未就绪(state!=0)→ 保留 pending,后就绪拉起 ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("dev.player.ncm", "") == 0, "set: 受理"); + r = meow_ams_start_consume(g_ids, 3, 2, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 2 && g_launch_calls == 0, "consume(state!=0): 返回 2 保留 pending,不拉起"); + CHECK(toast[0] && strstr(toast, "not ready"), "consume(state!=0): toast=列表未就绪"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_launch_calls == 1 && g_launch_last_idx == 0, + "consume(后就绪): pending 保留后拉起成功"); + + /* ---- 6) pkg 不在应用表 → NO APP,不拉起 ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("no.such.app", "") == 0, "set(未知app): 受理"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_launch_calls == 0, "consume(未知app): 不拉起"); + CHECK(toast[0] && strstr(toast, "NO APP"), "consume(未知app): toast=NO APP"); + + /* ---- 7) activity 无路由 → NO ROUTE,不拉起 ---- */ + reset_fakes(); + g_resolve_rc = MEOW_ERR_NOENT; + CHECK(meow_ams_pending_start_set("os.meow.files", "nope") == 0, "set(nope): 受理"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_launch_calls == 0, "consume(无路由): 不拉起"); + CHECK(toast[0] && strstr(toast, "NO ROUTE"), "consume(无路由): toast=NO ROUTE"); + g_resolve_rc = MEOW_OK; + + /* ---- 8) 启动失败(ops.launch<0)→ app_ran=0,idx_out 命中 ---- */ + reset_fakes(); + g_launch_ret = -2; /* MEOW_ERR_NOENT */ + CHECK(meow_ams_pending_start_set("dev.player.ncm", "") == 0, "set: 受理"); + r = meow_ams_start_consume(g_ids, 3, 0, toast, sizeof toast, &app_ran, &idx); + CHECK(r == 1 && g_launch_calls == 1, "consume(启动失败): 拉起被调(失败)"); + CHECK(app_ran == 0 && idx == 0, "consume(启动失败): app_ran=0 且 idx_out=0(供 launch_fail_toast)"); + g_launch_ret = 0; + + /* ---- 9) picker 扩载荷:set_ex 武装 → take_picker 取回并清位 ---- */ + reset_fakes(); + CHECK(meow_ams_pending_start_set_ex("os.meow.files", "pick", "pick_file", 7, "dev.player.ncm") == 0, + "set_ex(picker): 受理"); + char act[24] = "", caller[MEOW_APP_ID_MAX] = ""; + uint32_t req = 0; + CHECK(meow_ams_take_picker(act, sizeof act, caller, sizeof caller, &req) == 1, + "take_picker: 有上下文"); + CHECK(strcmp(act, "pick_file") == 0 && req == 7 && strcmp(caller, "dev.player.ncm") == 0, + "take_picker: action/req/caller 正确"); + CHECK(meow_ams_take_picker(act, sizeof act, caller, sizeof caller, &req) == 0, + "take_picker: 二次取回=0(一次性清位)"); + + /* 非 picker 启动:set(非 set_ex)不武装 picker */ + reset_fakes(); + CHECK(meow_ams_pending_start_set("dev.player.ncm", "") == 0, "set(bare): 受理"); + CHECK(meow_ams_take_picker(act, sizeof act, caller, sizeof caller, &req) == 0, + "take_picker: 普通启动无 picker 上下文"); + + printf("\n%s (%d fails)\n", g_fails ? "FAILED" : "ALL PASS", g_fails); + return g_fails ? 1 : 0; +} diff --git a/patch_v2/meow_launcherd/util.c b/patch_v2/meow_launcherd/util.c index ee79f4f..7170bd9 100644 --- a/patch_v2/meow_launcherd/util.c +++ b/patch_v2/meow_launcherd/util.c @@ -1,6 +1,7 @@ /* util.c — MeowOS launcher 拆分模块(LAUNCHER_SPLIT_PLAN 拆分)。*/ /* 本文件由拆分工具从 meow_launcherd.c 按职责搬移;逻辑与原文 0-diff(仅 static 可见性按跨模块需求调整)。*/ #include "meow_launcher_internal.h" +#include "meow_ams_start.h" /* MSG_AMS_START pending/拉起决策(meow_ams_start.c):set/set_ex + busy 同步 + ops 组装 */ /* M2.x 应用日志目录简化:一次性迁移 logs/apps//logs → logs/(定义见下,log_open_card 先调用)。 */ static void log_migrate_apps(void); @@ -1112,6 +1113,9 @@ int meow_ipc_init(void) /* M4:注入后台保活/后台服务 ops(logmsg/sd_device_present/通知清理/熔断发帧)。 */ meow_bgplay_launcher_init(); + /* AMSD_DESIGN §4.3:注入 amsd-start ops(launch=launch_app/launch_activity,resolve=resolve_chain)。 */ + meow_ams_launcher_init(); + ipc_event_fd = eventfd(0, EFD_NONBLOCK); if (ipc_event_fd < 0) logmsg("ipc: eventfd fail %s (10ms poll drains anyway)", strerror(errno)); @@ -1130,6 +1134,9 @@ int meow_ipc_init(void) * 事件fd 仅为低延迟优化;若为 -1,10ms 轮询仍保证每圈排空。 */ void meow_ipc_process(void) { + /* AMSD_DESIGN §4.3:同步「前台 App 会话」占用位 → meow_ams_pending_start_set 据此 + * 在收到 MSG_AMS_START 时正确拒绝(-MEOW_ERR_BUSY),杜绝「报 OK 但未拉起」。 */ + meow_ams_set_busy(g_app_session_active); if (ipc_event_fd >= 0) { uint64_t v; while (read(ipc_event_fd, &v, sizeof v) == (ssize_t)sizeof v) {} diff --git a/scripts/build/fw_content.conf b/scripts/build/fw_content.conf index a5579ce..254d348 100644 --- a/scripts/build/fw_content.conf +++ b/scripts/build/fw_content.conf @@ -28,7 +28,7 @@ # ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)---- patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216) -patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|899ac22c10f596909d7f35ea685744de|主屏 launcher M4(后台服务保活+后台播放:MSG_REGISTER/SERVICE_STOP/MSG_SYS 退避熔断;nav-exit 播放中转后台保活,SDK present 自抑非 SIGSTOP;app.json depends 二进制依赖启动前检查:缺 required 阻断/optional 放行) +patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|a8200ae1b0aa68d7262749db87377d49|主屏 launcher M4(后台服务保活+后台播放:MSG_REGISTER/SERVICE_STOP/MSG_SYS 退避熔断;nav-exit 播放中转后台保活,SDK present 自抑非 SIGSTOP;app.json depends 二进制依赖启动前检查:缺 required 阻断/optional 放行);M2.98 待打包:amsd MSG_AMS_START 拉起缺口修复(pending-start 抽 meow_ams_start 模块复用启动链真正拉起;负错误码符修复 busy/空pkg 正确拒,不再误报 OK) patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|553840cdc79d8d7bed766a5e3981ac57|应用看门狗 M2.97(音量反转 + DS1039 平方锥度 + 插孔消抖) patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187) mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194) @@ -46,7 +46,7 @@ patch_v2/meow_powermgr/meow_powermgr|/usr/bin/meow_power|469dddb74de424f7b9bc9c1 # ---- 开机 init 脚本(etc/init.d,数字决定启动顺序,按文件名自然序)---- patch_v2/meow_sysui/S70meow_sysui|/etc/init.d/S70meow_sysui|e435affcb56499e5229728c6ae2524b9|sysui 自启 M2.85(launcher.conf enabled=1+迁移) patch_v2/meow_svcd/S89meow_svcd|/etc/init.d/S89meow_svcd|f6ded7f835dba882c17dac52b9430a45|svcd 自启 M2.97(meow_route.conf → audiod.conf + 清理旧 route conf + 预置 meow_powermgr.conf/迁移热更 exec→/usr/bin,agent-244/246/267) -patch_v2/meow_amsd/meow_amsd|/usr/bin/meow_amsd|da9a5004c6fdb7827c45c27daa825919|活动管理器 M2.91(注册表自愈:卡未挂载扫空 3s 快重试+30s 合并重扫+am rescan;兼容旧 launcher 5 段 EV LAUNCH;agent-250) +patch_v2/meow_amsd/meow_amsd|/usr/bin/meow_amsd|7ddc677ce7938bc9b95c83c17bc78295|活动管理器 M2.91(注册表自愈:卡未挂载扫空 3s 快重试+30s 合并重扫+am rescan;兼容旧 launcher 5 段 EV LAUNCH;agent-250);M2.98 待打包:am start busy 识别修复(对照 launcher ACK 正幅度 busy=8,bool 误判二补 0xFFFFFFF8 导致 busy 落入 launcher offline) patch_v2/meow_amsd/am|/usr/bin/am|9e323faf1aeb0c6a6fb0425565cf525d|amsd 用户侧CLI(+resolve/picker/rescan) patch_v2/bootmenu/S90meow_bootmenu|/etc/init.d/S90meow_bootmenu|e0ace111ce5ee446a1e3c6605ac1e9c9|bootmenu 自启 M2.85(注释同步) patch_v2/bootmenu/S92_03_start_music_player|/etc/init.d/S92_03_start_music_player|c17257aa3d93f75da72903b57cbe1034|§4.3 兜底 patch(rcS 正常路径被 S90 阻塞不执行)