← 回工程日志
# #6 把已有网站打包成一个安卓APP:名称「夜神」;首页三个入口——晚风9000(https://192.168.13.176:9443)、幽灵9001(https://192.168.13.229:9001)、任务系统(https://192.168.13.176:9445),点入口直接进对应现有页面;不重写现有页面与界面;额外加系统通知(任一会话跑完,手机弹一条);交付物=可安装的 APK + 安装说明。
归属日期: 2026-10-20
序号: 6
当前状态: ✅ 已通过(第1次)
被接手次数: 1
该任务出现时间为
2026-10-20-本次第一次
---
## 2026-10-20 第1次
- 执行者: qwen3.8-flash-next-iq3_xxs
- 做了什么:
- 证据(真命令 + 原始输出):
- 结论:
- 遗留/卡点:
---
(幽灵·更正行)本任务 2026-10-20 完整执行记录在本文件第51行起「2026-10-20 第1次 · 幽灵执行完成」段;/ai_done 另生成的同号新文件(#6_把已有网站打包成一个安卓APP:名称「夜神」…ht.md)为服务端自动占位,只增不删,故此处留此指向行。
## 2026-10-20 验收通过
- 验收人: 用户
- 备注: (无)
---
2026-10-20 20:08 追加:
## 2026-10-20 20:15 第二轮(幽灵,v1.9 修留白发版)
用户真机反馈:顶部大片空白带+头像没了。
诊断(实测):截图1440×3200逐行采样→空白带 y≈90-490 ≈400物理px;页面CSS本有 header padding-top:calc(8px+env(safe-area-inset-top));v1.8壳又注入 body padding-top,且把 getSystemWindowInsetTop 的 Android物理px 直接当 CSS px 注入(density=3.5→放大3.5倍)=双份padding+单位错。
头像:页面 key=location.port,头像/背景按端口存服务端;APK入口9450是新端口从没设过→回落内置默认头像,非壳bug;App内齿轮→头像重设一次即持久。
修复(MainActivity):insets÷density换算dp+env(safe-area-inset-*)探针(页面已处理→不注入;未处理如8190/home→注入换算值);删header强制padding-top。
证据:node桩4情形全过(聊天页不注入✓/8190注入36・24dp✓/无main不崩✓/insets=0不写✓)+与Java源逐字核对一致;gradle BUILD SUCCESSFUL in 6s;aapt2 package versionCode 10 versionName 1.9;apksigner 证书同前 9171200c…582c1。
交付:夜神-v1.9.apk 109,477B md5 5a7222cc106e2ef6b86102828bc85644;网盘 夜神APP/夜神-v1.9.apk+yeshen-v1.9.zip 双份;内网直链 apk/zip 均 200/109477B,两端 md5 一致。
结论:v1.9=当前最新版;留白观感待用户装后截图复核(无adb连接,真机像素验证没做)。
执行:幽灵-3(qwen3.8-flash-next-iq3_xxs)
---
2026-10-20 20:16 追加:
## 2026-10-20 20:40 第三轮(幽灵,v1.10 修背景+键盘)
用户真机反馈(v1.9顶部已达标):①设置背景不生效 ②键盘弹出但输入框不动被遮住。
①根因(代码实锤):applyBG把背景贴main内联样式(ui9011.html L848-853);v1.8壳hoist把背景搬到body后执行 m.style.backgroundImage='none'——该清空是一次style属性变更→MutationObserver再触发hoist→读到main已none→else分支清空body=自杀循环,背景装上去就被抹掉。
修法:main隐藏改用静态规则 [data-yshoist]{background-image:none!important};hoist只读main内联bi、只写body和data-yshoist属性,永不动main.style(observer只盯style)→无回环。
②根因:FLAG_LAYOUT_NO_LIMITS全屏布局下软键盘不resize窗口,footer停在键盘底下。修法:OnGlobalLayoutListener测 decorView底-可见区底=键盘高(<15%屏高不算;系统自resize机型差≈0不会双垫)÷density换算dp,调页内 window.__ysPad(kb) 把body padding-bottom垫到 max(__ysBottom,kb);收键盘恢复。顺带:insets改Build≥30走getInsets(Type.systemBars())。
证据:node桩6情形全过(聊天页__ysBottom=0/预设背景重复hoist仍在不被清空/自定义图9450更新/回默认attr移除/键盘开102px收0恢复/8190页初始14px开102收14)+与Java源逐字核对一致;gradle BUILD SUCCESSFUL;apksigner OK;aapt2 versionCode 11 versionName 1.10。
交付:夜神-v1.10.apk 110,237B md5 d0bc2263fff021665c4ac37c5a479aff;网盘 夜神APP/夜神-v1.10.apk+yeshen-v1.10.zip;内网直链均200/110237B两端md5一致。
遗留:键盘与背景的真机观感待用户验收(无adb连接)。顶部留白标准=v1.9形态,用户已确认保留。
执行:幽灵-3(qwen3.8-flash-next-iq3_xxs)
---
2026-10-20 20:34 追加:
## 2026-10-20 21:10 第四轮(幽灵,v1.11 修底部黑带+键盘+降级安装报错)
用户真机(v1.10已装)反馈:①键盘仍遮输入框 ②顶部OK但输入栏下方多出黑带 ③再下载v1.10安装报'无法降级安装'。
②根因(PIL实测):黑带≈73px(截图2048高)→全分辨率114物理px=32dp×density3.5——正是v1.9起壳注入的静态底padding(系统systemBars底≈32dp,但这台WebView里env(safe-area-inset-bottom)探针=0,页面自己不需要,v1.8无此垫视觉正常)。修法:静态底垫全删,注入JS里__ysBottom恒0;底padding只在键盘弹出时出现。
①根因:NO_LIMITS全屏布局下键盘不改变windowVisibleDisplayFrame→v1.10的OnGlobalLayoutListener实测从不触发(截图1键盘占屏40%+输入栏仍在键盘底下=垫未生效)。修法:Android11+正规通道——SOFT_INPUT_ADJUST_NOTHING+decorView.setOnApplyWindowInsetsListener读insets.getInsets(Type.ime()).bottom,键盘开→__ysPad(kb)垫body底、收→撤垫;API<30保留旧布局监听兜底。
③'无法降级安装':手机已装APK内部版本号>11(=v1.10)。本机与网盘历史只有1/9/10/11四版→推断9001聊天线曾直发过内部号更高的构建。修法:本版versionCode跳到111,压过一切现有版本可覆盖安装;若仍报错需看手机设置→应用→夜神显示的内部版本。
证据:重写v111桩(node跑真注入JS)9项全过:静态底垫全删(聊天页/8190页均无)/__ysBottom=0/键盘开102收0无残留/背景hoist无自杀/observer回环保背景/自定义图更新/回默认干净/Java源逐字核对(含SOFT_INPUT_ADJUST_NOTHING、Type.ime、data-yshoist);gradle BUILD SUCCESSFUL;apksigner OK;aapt2 versionCode 111 versionName 1.11。
交付:夜神-v1.11.apk 110,557B md5 d228b3034c9a8afae1f9bec1c439a69b;网盘 夜神APP/夜神-v1.11.apk+yeshen-v1.11.zip;直链200/110557B双端md5一致。
遗留:键盘与底部真机观感待验收。
执行:幽灵-3(qwen3.8-flash-next-iq3_xxs)
---
2026-10-20 20:40 追加:
## 2026-10-20 21:30 验收(幽灵)
用户真机确认夜神APP v1.11:'顶部跟底部没有问题,很完美,键盘输入框这里这个逻辑也没有问题了'。三轮UI修复链闭环:v1.9顶部留白(物理px÷density+safe-area探针)→v1.10背景hoist自杀循环(静态CSS规则)→v1.11底部黑带(删静态底垫)+键盘(ADJUST_NOTHING+Type.ime)。'无法降级安装'由versionCode跳111解决。
验收标准锁定(后续改版不得回退):顶部=v1.9探针方案;底部=不静态垫;键盘=IME insets垫底;背景=hoist不动main内联style只搬body+静态规则隐藏。
线上版:夜神-v1.11.apk 110,557B md5 d228b3034c9a8afae1f9bec1c439a69b(网盘 夜神APP/,内网直链200)。
执行:幽灵-3(qwen3.8-flash-next-iq3_xxs)
电脑A 10-20 21:32