279 字
1 分钟
800MB 上传也不怕:APK 工具的任务系统设计

改包是长任务,只能异步#

apktool 解包一个大包 + 回编 + 签名,几分钟起步。web_server.py 的任务模型:

POST 上传 -> 秒回 { job_id }
前端轮询 -> { status: queued|running|done|failed, log }

threading 跑任务不 block 主服务,多人同时改包互不干扰。日志实时追加,前端看着 apktool 一行行输出,卡在哪一步一目了然——长任务的可观测性就是把日志流出来

大文件:800MB 是认真的#

MAX_UPLOAD_MB=800,钱包类 App 的包体就是这个量级。800MB 上传意味着:磁盘预留、超时设置、失败续传(前端分片是后续优化点),以及最重要的——做完就清理

lab 目录:真实的产出物#

lab/TokenPocket_decoded_com.wallet.app.android.pkg1788080769_signed.apk

解包目录 + 时间戳包名 + _signed 后缀,一看就是实战跑出来的。web_jobs/ 24 小时过期清理,保证磁盘只增不爆。改包名前缀 com.wallet.app.android.pkg + 时间戳 自动生成,不传参也能跑,传参则精确控制。

长任务三件套:秒回 ID、轮询日志、过期清理。这套 pattern 从改包工具到任何耗时服务都通用。