返回研究记录
本页目录

安装包发布与更新约定

NAS 发布位置:

UGREEN/APK/
├── dungeonmaker/
│   ├── *.apk      按时间保留每次发布的 APK,直接平铺
│   └── 更新日志/  对应更新说明、SHA256 和构建报告
└── noahfantasy/
    └── releases/
        ├── *.apk
        └── 更新日志/

两个游戏统一归在 NAS 一级目录 APK/ 下,各自保留历史版本和更新日志。两个项目的 release-config.json 已同步新路径,后续发布直接写入对应游戏目录。来源包 个人存储空间/GAME/dungeonmaker1.11.21.apk 保持不变。

Dungeon Maker 不再嵌套第二层 APK/:发布包直接放在 UGREEN/APK/dungeonmaker/,更新日志、校验和构建报告继续单独放在 更新日志/;旧版本一起迁移,文件内容不变。

构建和发布

.venv/bin/python tools/build_inheritable_apk.py --publish
.venv/bin/python tools/verify_inheritable_apk.py

配置在 release-config.json,启用补丁见 client/patches/active.json。继承补丁更改53种友方单位的继承标记,解除事件标志和剧情模式中的堕落勇者拦截;保留继承格数、获取/解锁条件和禁用名单检查。继承补丁本身不赠送怪物或增加格数;623版另行启用的卡包全开补丁会解锁卡包中的相关内容。

最新为625版 DungeonMaker-inherit-20261024-114447.apk:魔王和普通怪物的局内升级每级固定为初始基础经验40,再应用原有需求修正;房间采用此前准备的缓增规则,基础需求为初始经验×(显示等级+39)÷40。两项规则已合并编译发布,沿用624签名;转生、超越经验、属性成长和战斗经验奖励不变。指令模拟、签名、对齐及NAS读回通过,尚未实机验证。

版本620已合入 client/patches/linear-room-experience.json:升级经验为原始初始经验×当前显示等级,再应用原有全局需求修正及整数转换;指数率不再参与经验需求,房间效果成长不变。用户于2026年10月24日确认编译并推送,版本620沿用619的签名发布。可运行 .venv/bin/python tools/verify_room_experience.py --source 单独验证源补丁,或 --apk <安装包路径> 读回已构建APK中的实际指令。

版本621合入 client/patches/resigned-startup-compat.json,取消来源修改包启动时写死旧证书指纹的检查调用。619/620保留了该检查,已收到620的实机启动退出反馈。621保留来源包左上角MOD菜单、修改项及悬浮窗权限;DEX仅改一处调用并重算内部校验,继续沿用本项目同一签名。静态校验通过,仍需实机确认启动。

版本622合入 client/patches/remove-source-menu-and-save.json:移除来源悬浮菜单、自动修改模块、附加弹窗和预置存档导入,同时移除悬浮窗权限并设置allowBackup=false。保留本项目继承、房间线性经验和重签启动修复;621保留菜单的行为不再适用于新版本。来源配置可能还有其他既有修改,不能称为官方原版。

624版 DungeonMaker-inherit-20261024-032136.apk:按用户确认启用 all-card-packs-unlocked,九个当前魔石卡包的1206种卡牌全部补满,包括卡包内90项皮肤,合计相当于2774次抽取;赠送清单同时从魔石累计消费中豁免。通过原解锁接口补齐当前进度,重复加载不叠加;挑战、剧情、等级和卡包之外的皮肤进度不改,其他皮肤照常计费。继续不附带来源旧存档、悬浮菜单或无限权能模块。静态、指令模拟和发布校验通过,尚待实机验证。中间623版未处理按已拥有卡牌反算消费的问题,已标为被624取代,请勿使用。

每次从只读基线构建独立版本,保留修改前数据、原生指令及构建报告;不覆盖旧发布。APK签名、原生库对齐和全部非签名条目内容验证通过后才上传;上传后完整读回SHA256核验,临时上传文件验证成功后改名。检查属于静态与安装包完整性验证,不等同实机游玩验证。

Android构建工具与Java仅复用Noah项目已有的通用工具程序,不修改Noah文件,也不复用其Lua或后端逻辑。未启动模拟器或连接游戏存档。

后续更新与存档

包名保持 com.GameCoaster.DungeonMaker,版本代码从619开始递增。此项目所有后续修改版固定使用本机 analysis/signing/ 下的同一把签名密钥;密钥和口令权限受限,仅本机保存,不发布到NAS。

同包名、同签名、版本代码不降低并且存档格式兼容时,可以覆盖更新,通常保留应用数据。卸载、清除数据、改变包名或不兼容地更改存档格式都不属于这种情况。

用户此前选择卸载重装622版以从头开始;624版开始自动补满全部卡包卡牌;625版可直接覆盖本项目之前版本保留现有进度,无需再次卸载。新包不附带旧存档,也不自动导入或清档。若用户自行登录游戏云存档并恢复进度,不属于APK预置存档导入。

来源包证书SHA256为 8ca2f6fea99e5fcd44e2dd779aaa0be9bdca9de4cf554a18b444a2e0ab903376,私钥不可用;首个本项目修改版使用新签名,不能当作来源包的同签名覆盖更新。安装位置与存档迁移由用户处理,本工具不自动安装或卸载游戏。

规则依据:Android应用更新、应用签名。