diff --git a/patch_v2/ncm_app/app.json b/patch_v2/ncm_app/app.json index 3e93bce..dab8424 100644 --- a/patch_v2/ncm_app/app.json +++ b/patch_v2/ncm_app/app.json @@ -1 +1 @@ -{"name":"网易云音乐","exec":"/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/ncm","package":"os.meow.ncm","version":"0.1","version_code":1,"framework":1,"immersive":1,"fonts":"gbk","author":"MeowOS"} +{"name":"网易云音乐","exec":"/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/ncm","package":"dev.player.ncm","version":"0.1","version_code":1,"framework":1,"immersive":1,"fonts":"gbk","author":"MeowOS"} diff --git a/patch_v2/ncm_app/app/app.c b/patch_v2/ncm_app/app/app.c index dee7969..e5a3f33 100644 --- a/patch_v2/ncm_app/app/app.c +++ b/patch_v2/ncm_app/app/app.c @@ -1,4 +1,4 @@ -/* app.c — os.meow.ncm 应用装配层:main + 组装 + 事件分发。 +/* app.c — dev.player.ncm 应用装配层:main + 组装 + 事件分发。 * * 职责(对齐 hello_app/app.c):main 只做初始化/建页/跑事件循环/清理;把 meow_ui_run 的平铺输入 * 回调(key/tap/swipe/tick/touch)路由到当前活动页。页面切换统一走 meow_view_page_push/pop/replace。 @@ -110,7 +110,7 @@ int main(void) appstate_init(); /* M2.82-联调修复:设备无系统 CA 库(真机 rc=-5 TLS 错误根因)——App 自带 Mozilla CA bundle, * 显式指给 core HTTP 层(保持 verify=1,不降级为不校验) */ - ncm_http_set_verify_default(1, "/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/cacert.pem"); + ncm_http_set_verify_default(1, "/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/cacert.pem"); /* 播放 + 媒体会话线程(UI 不卡;无 launcher socket 时 ipc 优雅跳过) */ player_manager_start(); diff --git a/patch_v2/ncm_app/app/logic/appstate.c b/patch_v2/ncm_app/app/logic/appstate.c index 45337f2..25479f4 100644 --- a/patch_v2/ncm_app/app/logic/appstate.c +++ b/patch_v2/ncm_app/app/logic/appstate.c @@ -4,7 +4,7 @@ #include #include -#define NCM_DEFAULT_DATA "/usr/data/mnt/sd_0/MeowData/os.meow.ncm/data" +#define NCM_DEFAULT_DATA "/usr/data/mnt/sd_0/MeowData/dev.player.ncm/data" int appstate_init(void) { diff --git a/patch_v2/ncm_app/app/ncm_app_internal.h b/patch_v2/ncm_app/app/ncm_app_internal.h index e37311c..b95f19b 100644 --- a/patch_v2/ncm_app/app/ncm_app_internal.h +++ b/patch_v2/ncm_app/app/ncm_app_internal.h @@ -1,4 +1,4 @@ -/* ncm_app_internal.h — os.meow.ncm 应用内部共享头(UI 各页 + app 装配层 + 宿主测试面)。 +/* ncm_app_internal.h — dev.player.ncm 应用内部共享头(UI 各页 + app 装配层 + 宿主测试面)。 * * 层级(对齐 hello_app/app.c 批② + files_app): * - app.c main + 装配 + 事件分发(把 meow_ui_run 的平铺回调路由到各页) @@ -85,7 +85,7 @@ extern const char *media; /* 占位 */ /* ---- App 全局状态(main 线程拥有;play 线程经 ncm_play_run 共享)---- */ typedef struct ncm_app_state { ncm_ctx_t ctx; /* 核心库上下文(device_id/cookie/cache) */ - char data_dir[512]; /* 数据目录(MeowData/os.meow.ncm/data) */ + char data_dir[512]; /* 数据目录(MeowData/dev.player.ncm/data) */ char cache_dir[512]; /* 登录 */ @@ -120,7 +120,7 @@ typedef struct ncm_app_state { int lyric_line_count; int cur_lyric_line; - /* 设置(持久化 MeowData/os.meow.ncm/data)*/ + /* 设置(持久化 MeowData/dev.player.ncm/data)*/ int level; /* NCM_LEVEL_* */ int cache_limit_gb; diff --git a/patch_v2/ncm_app/app/play/ipc_media.c b/patch_v2/ncm_app/app/play/ipc_media.c index 58e289c..78a66f4 100644 --- a/patch_v2/ncm_app/app/play/ipc_media.c +++ b/patch_v2/ncm_app/app/play/ipc_media.c @@ -96,7 +96,7 @@ static void send_meta(int fd, uint32_t req_id) { m_meta_t mm; memset(&mm, 0, sizeof mm); - ncm_strlcpy(mm.app_id, "os.meow.ncm", sizeof mm.app_id); + ncm_strlcpy(mm.app_id, "dev.player.ncm", sizeof mm.app_id); int idx = player_manager_playing_song(); pthread_mutex_lock(&g_play.mu); @@ -156,7 +156,7 @@ static void *ipc_thread(void *arg) m_hello_t h; memset(&h, 0, sizeof h); - ncm_strlcpy(h.app_id, "os.meow.ncm", sizeof h.app_id); + ncm_strlcpy(h.app_id, "dev.player.ncm", sizeof h.app_id); h.version = 1; h.flags = MF_PLAYBACK; if (send_frame(fd, MSG_HELLO, 1, &h, sizeof h) != 0) { close(fd); return NULL; } diff --git a/patch_v2/ncm_app/app/ui/chrome.c b/patch_v2/ncm_app/app/ui/chrome.c index e87d140..5fa540e 100644 --- a/patch_v2/ncm_app/app/ui/chrome.c +++ b/patch_v2/ncm_app/app/ui/chrome.c @@ -1,4 +1,4 @@ -/* ui/common/chrome.c — os.meow.ncm 共享 chrome(TopAppBar 建置 / 几何 / 空态&页脚 / 底部提示条)。 +/* ui/common/chrome.c — dev.player.ncm 共享 chrome(TopAppBar 建置 / 几何 / 空态&页脚 / 底部提示条)。 * * 与 files_app/ui/common/chrome.c 同理:把「页面 chrome 固定不随内容重建」分出去。绘制全部读 * meow_theme_get() 语义色(§8.1),不硬编码配色。topbar 由 meow_topappbar 建,自动注册进绘制物 diff --git a/patch_v2/ncm_app/app/ui/settings.c b/patch_v2/ncm_app/app/ui/settings.c index f0bb48b..871ebb6 100644 --- a/patch_v2/ncm_app/app/ui/settings.c +++ b/patch_v2/ncm_app/app/ui/settings.c @@ -1,7 +1,7 @@ /* ui/settings.c — 设置页(ACT_SETTINGS)。 * * 行项:音质(Hi-res/较高/标准,默认 Hi-res)+ 缓存上限(1~100GB,默认 10GB)+ 退出登录。 - * 设置持久化到 MeowData/os.meow.ncm/data(meow_config_*;缓存上限键 ncm.cache_limit_gb 与核心库 + * 设置持久化到 MeowData/dev.player.ncm/data(meow_config_*;缓存上限键 ncm.cache_limit_gb 与核心库 * ncm_cache_load_setting 对齐)。音质/上限经 BottomSheet 选择;退出登录经 confirm 弹窗。 * 空态/绘制用 custom 绘制物 + 手动行命中(仅 3 行,无需列表滚动)。 */ diff --git a/patch_v2/ncm_app/bench/dev_repro.c b/patch_v2/ncm_app/bench/dev_repro.c index f749538..4d0ecd6 100644 --- a/patch_v2/ncm_app/bench/dev_repro.c +++ b/patch_v2/ncm_app/bench/dev_repro.c @@ -10,8 +10,8 @@ #include int main(int argc, char **argv) { - const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/os.meow.ncm/data"; - const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/cacert.pem"; + const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/dev.player.ncm/data"; + const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/cacert.pem"; ncm_ctx_t ctx; ncm_ctx_init(&ctx, data_dir); diff --git a/patch_v2/ncm_app/bench/dev_repro2.c b/patch_v2/ncm_app/bench/dev_repro2.c index a92a9ef..3670350 100644 --- a/patch_v2/ncm_app/bench/dev_repro2.c +++ b/patch_v2/ncm_app/bench/dev_repro2.c @@ -9,8 +9,8 @@ #include int main(int argc, char **argv) { - const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/os.meow.ncm/data"; - const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/cacert.pem"; + const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/dev.player.ncm/data"; + const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/cacert.pem"; ncm_ctx_t ctx; ncm_ctx_init(&ctx, data_dir); diff --git a/patch_v2/ncm_app/bench/verify_fixes.c b/patch_v2/ncm_app/bench/verify_fixes.c index 0057b7b..8a36cad 100644 --- a/patch_v2/ncm_app/bench/verify_fixes.c +++ b/patch_v2/ncm_app/bench/verify_fixes.c @@ -38,8 +38,8 @@ static void run_chain(const char *pid, const char *label, int expect, int cap) int main(int argc, char **argv) { - const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/os.meow.ncm/data"; - const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/cacert.pem"; + const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/dev.player.ncm/data"; + const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/cacert.pem"; ncm_ctx_init(&ncm_ctx, data_dir); printf("device_id=%s cookie_len=%zu\n", ncm_ctx.device_id, strlen(ncm_ctx.cookie)); ncm_http_set_verify_default(1, cacert); diff --git a/patch_v2/ncm_app/bench/verify_home.c b/patch_v2/ncm_app/bench/verify_home.c index cf4954f..b24e28d 100644 --- a/patch_v2/ncm_app/bench/verify_home.c +++ b/patch_v2/ncm_app/bench/verify_home.c @@ -9,8 +9,8 @@ #include int main(int argc, char **argv) { - const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/os.meow.ncm/data"; - const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/os.meow.ncm/cacert.pem"; + const char *data_dir = argc > 1 ? argv[1] : "/usr/data/mnt/sd_0/MeowData/dev.player.ncm/data"; + const char *cacert = argc > 2 ? argv[2] : "/usr/data/mnt/sd_0/MeowAPPs/dev.player.ncm/cacert.pem"; ncm_ctx_t ctx; ncm_ctx_init(&ctx, data_dir); diff --git a/patch_v2/ncm_app/build_ncm.sh b/patch_v2/ncm_app/build_ncm.sh index 7b0331a..ecc9c67 100755 --- a/patch_v2/ncm_app/build_ncm.sh +++ b/patch_v2/ncm_app/build_ncm.sh @@ -1,5 +1,5 @@ #!/bin/bash -# build_ncm.sh — 构建 os.meow.ncm(网易云 App,SDK framework=1):链 meow_ui.a + 核心库 + minimp3 + mbedtls。 +# build_ncm.sh — 构建 dev.player.ncm(网易云 App,SDK framework=1):链 meow_ui.a + 核心库 + minimp3 + mbedtls。 # 静态 MIPS32r2 (musl sf)。自有代码(app/ + core/)+ core 支撑 vendor 编译;vendor/minimp3/qrcodegen/jsmn 豁免告警。 # 仅改本 App 目录;编译期不改 SDK(patch_v2/sdk/)、不动 meow_launcherd/。mipsel -Wall -Wextra 0 warning。 set -e diff --git a/patch_v2/ncm_app/build_ncm_host.sh b/patch_v2/ncm_app/build_ncm_host.sh index 70831d5..d354e8a 100755 --- a/patch_v2/ncm_app/build_ncm_host.sh +++ b/patch_v2/ncm_app/build_ncm_host.sh @@ -1,5 +1,5 @@ #!/bin/bash -# build_ncm_host.sh — 宿主编译 os.meow.ncm 真实页面(离屏 480x720),用于 MEOW_UI_DUMP 截图自查。 +# build_ncm_host.sh — 宿主编译 dev.player.ncm 真实页面(离屏 480x720),用于 MEOW_UI_DUMP 截图自查。 # 思路:gcc 编 SDK 源码(-DMEOW_UI_HOST_TEST, meow_font 打桩 meow_ui_global/render) + 应用源码 + # 宿主核心库对象(out/core-host/*.o) + 宿主 mbedtls libs。 # 运行:NCM_PAGE=home MEOW_UI_DUMP=/tmp/home.ppm ./ncm_host diff --git a/patch_v2/ncm_app/core/ncm.h b/patch_v2/ncm_app/core/ncm.h index 9985650..611db29 100644 --- a/patch_v2/ncm_app/core/ncm.h +++ b/patch_v2/ncm_app/core/ncm.h @@ -29,7 +29,7 @@ typedef struct ncm_ctx { int default_level; /* NCM_LEVEL_* 默认音质(Hi-res) */ } ncm_ctx_t; -/* 默认缓存目录(/../cache,即 MeowData/os.meow.ncm/cache)。 */ +/* 默认缓存目录(/../cache,即 MeowData/dev.player.ncm/cache)。 */ int ncm_ctx_default_cache_dir(const char *data_dir, char *out, size_t out_sz); /* 初始化上下文:store(数据目录) + deviceId 载入/生成 + cookie 载入 + cache 目录 + 缓存上限配置。 */ diff --git a/patch_v2/ncm_app/core/ncm_cache.h b/patch_v2/ncm_app/core/ncm_cache.h index 7f4691e..17d50a8 100644 --- a/patch_v2/ncm_app/core/ncm_cache.h +++ b/patch_v2/ncm_app/core/ncm_cache.h @@ -1,6 +1,6 @@ /* ncm_cache.h — 听过的歌自动缓存(LRU 淘汰到上限) * - * 目录:MeowData/os.meow.ncm/cache/(可被 ncm_cache_set_base_dir 覆盖)。 + * 目录:MeowData/dev.player.ncm/cache/(可被 ncm_cache_set_base_dir 覆盖)。 * 上限:默认 10GB,可配 1~100GB,配置键 ncm.cache_limit_gb(MeowOS 设置,读 /.cfg)。 * LRU:以文件 mtime 作为最后访问时间(lookup/commit 时刷新);超限时按 mtime 升序删最旧。 * 命中缓存即可离线播放(ncm_cache_lookup 返回已缓存文件路径)。 diff --git a/patch_v2/ncm_app/core/ncm_store.c b/patch_v2/ncm_app/core/ncm_store.c index 2dd9dc1..637d735 100644 --- a/patch_v2/ncm_app/core/ncm_store.c +++ b/patch_v2/ncm_app/core/ncm_store.c @@ -17,7 +17,7 @@ #define SESSION_FILE "session.enc" #define SESSION_MAGIC "NCM1" #define SESSION_MAGIC_LEN 4 -#define SESSION_SALT "os.meow.ncm.session.v1" +#define SESSION_SALT "dev.player.ncm.session.v1" #define DEVICE_FILE "deviceId" #define MKEY_FILE ".mkey" diff --git a/patch_v2/ncm_app/ncm b/patch_v2/ncm_app/ncm index 085fcea..57e300d 100755 Binary files a/patch_v2/ncm_app/ncm and b/patch_v2/ncm_app/ncm differ