测试同学的一天:智能修改电脑版造十个变体包

做测试的人都知道,真正的麻烦往往不是"测一个包",而是"同一份应用要测出好几副面孔"。本文跟着一位测试同学的视角,看他是怎么用 智能修改电脑版 在一天里造出十个变体包的——并且每个包从哪来、改了哪一处、打到哪个环境,事后都能一句话说清。

只需说话,就能让应用变成你想要的样子

安卓修改大师智改工坊 · 电脑端 AI 改包主打产品

了解智能修改电脑版:https://www.apkeditor.cn/ai-version.aspx

一、为什么要造十个变体包:测试的一天从"分身"开始

测试同学的一天,常常不是从"测一个包"开始的,而是从"今天要造一批变体包"开始的。所谓变体包,就是在同一个基础应用上,改出功能一致、外观或配置不同的若干个版本:有的要换应用名,方便在测试机上和线上包、历史包一眼区分;有的要换图标,避免装错、点错;有的要切到不同的后端环境,比如测试环境、预发环境、生产环境,验证不同链路下的表现;有的要改版本号,专门用来验证升级覆盖、降级安装、数据迁移这些最容易出事的逻辑。

过去,造十个变体意味着机械重复十次:导出工程、改资源、回编、对齐、签名、命名、装机。任何一步手抖,都会让"到底改的是哪个包、那次崩溃是哪个变体引入的"变成一笔糊涂账。更糟的是,测试同学还要在十几个长得一模一样的桌面图标里凭记忆找包,找错一个,结论就全反了。这也是为什么很多团队宁愿少测几个版本,也不愿意把变体铺开——不是不想测,是管不过来。

现在用 智能修改电脑版,把需求一句说清,改一处、打包、归档、装机一气呵成,十个变体的来龙去脉都能在记录里查到。测试同学要的从来不是"多改几个包"本身,而是"每改一个包,我都知道它是什么、从哪来、改了什么、装到哪了"。把这件事做扎实了,十个变体不但不乱,反而成了覆盖度最直观的证据。这篇文章就把这套流程拆开,从命名先定、改一处、打包、归档到装机,一步一步讲清楚。

测试机桌面上并列排开的多个变体应用图标
图:测试机上并列的多个变体包,靠应用名与图标区分,正是可追溯的第一步

二、先定命名,再开十个项目:乱不乱从第一天就定了

很多测试同学踩过的第一个坑,是先动手改、后补命名,结果十个项目目录全是随机串,谁也认不出谁。智能修改电脑版每导入一个包,会为它建一个 8 位随机字符串目录,自动写 config.ini、拷一份 source.apk,反编译输出在 apktool 目录里。这个机制很省心,但也意味着:如果你不主动给项目起一个好认的名字、不主动把产物按规则归档,十个随机目录堆在一起,事后回溯照样抓瞎。

所以测试同学一天的开头,不是双击第一个包,而是先坐下来把命名规则定死。一个顺手的规则通常是"环境_应用名_版本号_序号",比如 test_记账助手_v1.2.0_01。把它写在一张共享表格里,十个变体各自占位,后面每造一个就填一个,谁造的、造到哪了、验到哪了,全组一眼可见。命名定好之后,才开始一个个导入基础包、建项目,这样十个项目即便目录名是随机串,对外也有清晰的人话标识。

顺带说一句工作目录的取舍:软件启动会自动挑盘(D→E→F→G→C),取第一个可读写且剩余不小于 1GB 的盘,拼成 AiApkEditor,下面分 tools 与 Project 两个子目录。测试同学最好把这个盘固定下来,并在参数页把路径锁死,免得哪天系统盘满了,软件换了个盘建项目,昨天造的包今天找不到了。工具链体检也建议每天开工点一下,aapt、java、apktool、7z、zipalign、apksigner 逐个报是否就绪,缺了哪个,点"立刻更新"自动补齐,避免改到一半卡在环境上。

把命名规则写进共享表之后,测试同学还有一个习惯值得说:每建一个项目,立刻在表里那行备注"基础包来源 + 建项目时间 + 当前状态(待改/改中/已打包/已验)"。十个变体同时推进时,状态一眼扫完,不会漏掉某个包停在"改中"忘了打包。智能修改电脑版的详情页修改历史会把每条需求按时间列在最上,配合这张外部状态表,内部目录和外部人话标识就彻底对上了。很多团队一开始嫌麻烦,等真同时跑七八个变体时,才发现这张表是救命绳——它把"随机目录 + 人话名字 + 实时状态"三件事拧成一股,事后任何一个人接手都能看懂。

还有一个容易忽略的点:十个变体的基础包最好是同一个源头导出的同一份,而不是从不同渠道拿来的"看起来一样"的包。源头一致,才能保证除了你故意改的那一处之外,其余逻辑完全相同,这样测出来的差异才可信。如果基础包本身就不一致,变体之间的对比就失去了意义,排查问题时也会多出无数干扰项。测试同学的一天,省下的不是某一步的时间,而是"确保对比干净"这件事上的反复拉扯。

技巧一组:项目组织三件事

  • 命名规则先写共享表,十个变体各占一行,造一个填一个,杜绝随机目录失联。
  • 工作目录路径在参数页固定到同一块盘,别让软件哪天自动换盘。
  • 每天开工先跑一次工具链体检,确认六个工具都就绪再动手。

三、改一处:四类变体分别怎么落地

十个变体看着多,拆开其实就四类"改一处"的需求。第一类是换应用名,目的是在测试机上区分不同版本,避免和线上包混淆;第二类是换图标,同样是为了肉眼可辨,也方便截图汇报时一眼对上号;第三类是切环境,把应用指向不同的后端(测试、预发、生产),验证不同链路;第四类是改版本号,用来专门验证升级、覆盖、降级这些安装逻辑。每一类都不复杂,复杂的是把它们同时管住。

在智能修改电脑版里,这些改动大多可以用一句话需求直接交给 AI 工作台。比如"把应用名改成 XX 助手 内测版""把启动图标换成这张图""把接口地址改成测试环境域名""把版本号升到 1.3.0"。需求写进详情页输入框,点"立刻修改",需求原文和修改日期会写进 history.ini,再送进右侧 AI 工作台执行。解析与反编译都在后台线程跑,界面不卡,测试同学可以趁这一个包在处理,去准备下一个包的素材。

如果你一时想不好怎么把需求写准,话术库是个好帮手。它内置六大门类(界面美化、弹窗引流、去除限制、常规修改、混淆去毒、插件添加)共 3000 条现成话术,每条都是"目标→要做什么→细节要求→参数参考→范围→验收→约束"的固定结构。测试同学选中一条相近的,点"选择"直接填进输入框,再把里面的位置、目标、边界换成自己这次变体的具体内容,既省得从头组织语言,也避免漏写关键约束。明文文件 Resources\话术库.xml 还能手改,点刷新重新读。对于要反复造同类变体的测试同学,攒出自己的三两条私藏话术,效率提升很明显。

需要强调的是,这里举的例子全部是自家或内部的应用——比如团队自己的内部记账助手、内部工具 App。改的是自己有权处置的包,换名、换图、切环境都是合法的测试行为。绝不能拿别人的商业应用去改名换图标冒充或破解,那既违规也不道德。下面这张表把四类变体的改法与注意点列清楚,照着选就不会跑偏。

变体类型 一句话需求示例 主要注意点
换应用名改成 XX 助手 内测版桌面图标下文字与关于页同步改
换图标启动图标换成这张图按最高密度挑原图,避免小图发虚
切环境接口指向测试环境域名确认只改配置,不动业务代码
改版本号版本号升到 1.3.0验证覆盖升级与降级安装逻辑
需求输入框与右侧AI工作台协同改包界面
图:一句话需求送进 AI 工作台,改一处也能成批量推进

四、实例一:自家内部记账助手的应用名与图标变体

以前——团队内部有个自己用的"内部记账助手",测试同学要造几个区分度高的变体给不同同事试用。过去做法是手动反编译,找到 res 里的应用名字符串和图标文件,逐个替换再回编。十个变体就要重复十次,光是找对那个字符串、挑对那张密度合适的图标图,就费不少眼神,稍不留神把线上版的图标张冠李戴,汇报截图就闹了笑话。更麻烦的是,每次手改完都得在记事本里记一笔"这个包改了啥",记漏了后面就接不上。

现在——把基础包拖进智能修改电脑版建好项目后,测试同学在需求框里写:"把应用名改成 内部记账助手 测试A,启动图标换成桌面这张蓝色圆角图;保留其余不变。"点"立刻修改",需求原文和日期自动进 history.ini,AI 在后台改完留 ai_done.flag,主窗口每 2 秒轮询到就弹打包窗口。第二个变体只改一句"测试B"和另一张图标,第三个改"预发版"……十个变体的需求各自留痕,谁和谁不一样,翻 history 一目了然。解析时 aapt 会按最高密度挑图标原图,不会出现小图发虚的问题。

验证——打包完成后用设备预览:软件通过 adb 找手机或模拟器,自动装包、拉起、再用 dumpsys 复核前台应用确认真的打开了。测试同学把十个变体都装到一台测试机上,看桌面图标下的文字是不是各自对的名字、图标是不是各自对的图;再逐个点开关于页,确认应用名同步生效。因为每包都带 history,验证时如果发现某个包名字不对,直接回查那条需求,不用猜是哪一步手滑。确认无误后,按"环境_应用名_版本号_序号"命名归档。

五、实例二:内部测试环境的切换变体

以前——另一类常见变体是"同一份应用,指向不同后端环境"。过去测试同学要切环境,得先反编译找到写死接口地址的地方,手动改成测试域名或预发域名,回编签名,装上去再抓日志确认请求真的打到新环境。十个变体对应三四个环境组合,手工改地址极易改串行,有次把预发包打到了生产域名,差点酿成数据问题。每次改完还得人工核对"这个包到底连的哪",靠的是记忆,不靠谱。

现在——测试同学的做法是:每个环境的变体单独一句需求,比如"把接口基地址改成 https://test.example.com,其余不变""把接口基地址改成 https://staging.example.com"。需求送进 AI 工作台,改完自动打包。关键是,这句话需求本身被写进了 history.ini——也就是说,哪个包连的哪个环境,不用记,翻记录就有。配合固定命名规则里的"环境"字段,十个变体装到测试机上,从名字就能判断它该连哪,验证时一对一个准。

验证——装机后测试同学用设备预览把包拉起,再借助手机连电脑的实时日志(经典版小工具也支持看日志,这里用电脑版装到模拟器后看 logcat)确认首屏请求域名确实是目标环境。三个环境的变体各抽一个做连通性验证,确认请求落点对;其余同环境变体按命名和 history 抽查即可。这样既保证了"改对了环境",又保证了一旦出问题能立刻定位"是 test 那批还是 staging 那批",不会把排查范围扩大到十个包全查一遍。

按环境命名的变体包在发布目录中整齐排列
图:按"环境_应用名_版本号_序号"归档,十个变体各归各位

六、自动打包四步:每包都留下一份 pack.log

改完一处,下一步是打包。智能修改电脑版的自动打包是四步连跑:回编(apktool b -f)→ 对齐(zipalign -f -p 4)→ 签名(apksigner 加内置签名)→ 校验(apksigner verify --print-certs)。产物依次是 build 目录下的 unsigned.apk、aligned.apk、signed.apk,整个过程写进 pack.log。对测试同学来说,这四步里最有价值的是最后那步 verify——前三步只看退出码,"到底签没签上"要 verify 说了算,密钥格式不对也只有这步会明确报出来。

为什么这件事重要?因为十个变体里只要有一个签名没签牢,装到测试机上就会报"签名不一致",升级覆盖直接失败,测试结论就会误判成"应用崩了"而不是"包没签好"。有了 verify 这道关,每包出厂前都确认能装,省掉大量伪失败。签名设置也灵活:默认安卓测试签名、自己的 jks/keystore、自己的 pem+pk8,或者随机签名,v1/v2/v3 按需勾,v4 默认不勾(只用于增量安装)。这些设置写进项目 config.ini,之后每次打包直接沿用,不用重填。

打包速度上,实测 12MB 的包反编译约 3 秒,整体出包很快,足够支撑一天造十个。超过 10 分钟会中断并报错(写到 apktool.log),所以即便某个包异常,也不会卡住一整天。AI 改完到弹打包窗口之间,主窗口每 2 秒轮询 ai_done.flag,读到即删并弹窗,等待上限 1 小时,超时明确"已停止等待",不会无声卡死。

对测试同学来说,签名方案的选择直接决定十个变体之间能不能互相覆盖升级。默认安卓测试签名适合绝大多数内部验证场景,十个包统一用它,装新版本时能平滑覆盖旧版本,不会每次都被"签名不一致"拦下。如果某个变体需要模拟"从陌生签名升级"的极端情况,可以单独给它换一套 jks 或随机签名,但一定要在命名和状态表里标注清楚,否则事后排查"为什么这个包升级失败"会绕大弯。v1/v2/v3 一般全勾以保证兼容性,v4 默认不勾是因为它只用于增量安装,日常验证用不上,勾了反而可能在某些老设备上出问题。

还有一个省心细节:打包窗口和 AI 等候窗口都有"停止任务"的入口。测试同学如果中途发现需求写错了,不必等这一轮跑完,可以主动停止,当前轮会收尾而不会留下半成品工程。这种"随时能停"的设计,在一天要反复造十个变体、时不时改需求的高频节奏里特别重要——它让你敢小步快跑,而不是把错的需求一口气跑满十个包才回头擦屁股。

技巧二组:打包前的小检查

  • 确认签名方案已存进 config.ini,十个包统一用同一套,避免升级互不认。
  • 养成看 pack.log 的习惯,verify 通过才视为"可交付变体"。
  • 大包若超过 10 分钟中断,先看 apktool.log,多半是反编译阶段卡住。

七、命名归档:十个包一眼能认、出事能定位

造出十个能装的包只是上半场,真正的功力在归档。测试同学最怕的场景是:三天后有人问"上周那个预发环境的崩溃,是哪个包",你翻遍桌面找不到对应的产物。智能修改电脑版本身不替你决定外部文件名,但它给了可追溯的原材料:每个项目有 config.ini、history.ini、pack.log,以及整份 source.apk 备份。把这些和外部命名规则对上,归档就稳了。

推荐的归档做法:发布目录里按"环境_应用名_版本号_序号.apk"落地,比如 test_记账助手_v1.2.0_01.apk。同时把对应的项目目录一并保留,history.ini 里那句需求就是这份变体的"出生证明"。如果走循环打包去毒,发布文件名规则还能自动加毫秒时间戳或数字后缀循环,计数器存 loop_task.ini,重启也能接着轮。这样十个变体在文件夹里排开,颜色和名字都对得上,谁是谁清清楚楚。

归档时还有一个常被低估的动作:给每个产物配一份极简的"变体说明",内容就是那句需求原文加打包时间。它不用写得正式,一行就够,但价值巨大——三个月后你翻回这个目录,不用再开软件进项目翻 history,看文件名和那行说明就能想起"这是当时为了验证预发链路造的包"。测试同学每天造十个,一个月就是两百多个产物,没有这层外部索引,归档目录很快变成谁也不敢动的黑箱。把"软件内 history"和"目录外说明"两套日志都留住,才是真正闭环的可追溯。

另外提醒一句,归档不要只存最终 signed.apk,最好连同 pack.log 一起打包进那个变体的归档子目录。pack.log 记录了回编、对齐、签名、校验每一步的结果,哪天有人说"这个包是不是没签好",你不用重新装一遍,翻 log 就能拍板。测试活动的可信度,往往就藏在这些不起眼的小文件里。

归档方案 优点 适合场景
固定名(前缀.apk)同名覆盖,永远最新反复验证同一变体
前缀+毫秒时间戳每份都留底,不丢历史要回看每一次出包
前缀+数字后缀循环批次整齐、可补零批量造同系列变体

八、装机验证:本机与模拟器双复核

包造好、归档好,最后一步是装机验证,这一步决定"变体到底能不能用"。智能修改电脑版打包后会自动跑设备预览:通过 adb 找手机或模拟器,装包、用 am start -W -n 拉起、再用 dumpsys 复核前台应用确认真的起来了。这里有个细节,软件用 am start 而不是 monkey,因为新版安卓镜像已没有 monkey,而且 monkey 失败退出码还是 0,容易误判成功。组件名查找有三档兜底:先看 config.ini 的 LaunchableActivity,再问设备 resolve-activity,最后退回兼容方式。

覆盖安装失败有三类处理,测试同学尤其该心里有数:VERSION_DOWNGRADE(版本降级)会自动加 -d 允许降级;TEST_ONLY 会自动加 -t;签名不一样(UPDATE_INCOMPATIBLE)会弹窗问是否卸载重装——这一步会清数据,软件必须问过你才动,绝不会自作主张。模拟器发现也很智能,注册表、约定路径、按目录名扫盘(雷电、MuMu、夜神、BlueStacks 等)、Android SDK 模拟器都认,装到哪个盘都能找到,正在运行的排最前。

模拟器端口这块,软件会先试各家惯例端口(雷电 5555/5557、MuMu 7555、夜神 62001 等),再去问系统要进程监听端口,最后扫全部惯例端口;连错的 offline 回环设备会被主动 disconnect 清掉,避免连到假设备上空跑。对测试同学的意义是:你不用记住哪台模拟器用了哪个端口,插上或开起来,软件自己找。十个变体要分别装到不同设备做并发验证时,这个"自动认设备"的能力能把你从一堆 adb 命令里解放出来。

最后说一个装机验证的纪律:每装完一个变体,别只看"图标出现了"就当通过。正规做法是点开应用,确认能进首页、对应那处改动(名字/图标/环境/版本号)真的生效,再用 dumpsys 复核它确实是前台应用。十个变体逐个走完这一步,才算这批包"可交付"。跳过任何一步,事后出问题你就说不清到底是包的问题还是没装对,而可追溯的初衷正是为了把这种说不清消灭在出厂前。

技巧三组:装机验证三板斧

  • 十个变体全装一台测试机,靠应用名与图标肉眼初筛有没有装错位。
  • 签名不一致的包,先确认要不要清数据再卸载重装,别误删测试数据。
  • 用 dumpsys 复核前台应用,比"看着好像打开了"更靠谱。
测试机与模拟器并排运行多个变体包做验证
图:本机与模拟器并排验证,十个变体一次看全

九、每个变体都能追溯:history 与打包日志的价值

回到这篇文章的核心价值——可追溯。测试同学最怕的不是改包慢,而是"出问题说不清是哪个包"。智能修改电脑版把可追溯做进了每一层:详情页的修改历史列出每条需求,最新在最上,序号、时间、需求原文完整显示不截断,右侧"选择"还能把那条需求填回输入框,方便"照上次那条再改一遍";每次"立刻修改"的需求原文和日期写进 history.ini;打包全过程写进 pack.log;反编译输出在 apktool.log。三层日志叠起来,任何一个变体都能回答三个问题:它改了什么、它怎么打出来的、它打的时候环境正不正常。

举个真实有用的场景:某天回归测试发现预发环境变体启动慢,测试同学不用把十个包全拉回来重测,直接翻对应项目的 history,确认那批变体只改了接口域名、没动启动逻辑,再翻 pack.log 确认打包正常,基本就能把怀疑范围缩到"是不是预发后端本身慢",而不是浪费半天怀疑自己改坏了包。可追溯不是锦上添花,是测试结论可信的前提。

更进一步,可追溯还改变了测试同学的工作节奏。因为每句需求都留痕,测试同学敢放手做"小步快跑":先改一处打个包验一下,确认方向对,再批量铺开剩下的变体;万一某次改坏了,翻 history 找到那一条,用右侧"选择"填回输入框微调即可,不用从零描述。话术库里的现成模板也能当起点,选中填进输入框再改成自己的话,既快又规范。当"改—验—追溯"形成一个顺手的闭环,十个变体不再是一项苦差,而成了覆盖度最直观的证据链。

合规提醒:本工具面向自有版权或已获授权的应用,用于学习研究与企业内测等合法场景。请勿用于破解他人付费应用或绕过安全机制;反编译功能仅供安卓开发爱好者对安装包进行反编译研究之用,严禁将反编译之后的安装包作为商业用途。本文所有变体示例均基于团队自有或已授权的内部应用,仅用于测试与验证。

十、安卓客户端便利:手机也能接住零散变体需求

说完了电脑版的完整流水线,必须提一句安卓客户端带来的便利。智能修改安卓版安装包约 7MB,Android 10 及以上直接装,运行环境首次启动按需下载一次,之后不用重复下载。它把反编译、改包、回编、对齐、签名全放在手机本地完成,一句话改包、内置 3000 条话术模板、全自动打包直接产出能装的 APK,改完还能直接装到本机或一键分享到微信、QQ。

对测试同学的意义是"补位":白天在电脑上批量造了十个变体,晚上在家突然想给某个变体补一个"内测版"标记,不用开电脑,拿出手机导入那个基础包(或从已安装应用里直接选),写一句需求点"立刻修改",手机上四步打包完直接装到本机看效果,顺手分享给同事。电脑版负责"批量、成体系、可追溯",安卓版负责"随时随地接住零散的那一个"。两者项目理念一致——改完直接在手机上验、history 同样可追溯——等于把测试同学的工位从书桌延伸到了口袋里。

值得一提的是,智能修改安卓版也能从"已安装应用"里直接选一个来改,省掉导出这一步,特别适合临时要给手机上正在用的内部工具做个变体标记的场景。它导入支持 APK、JAR、APKS、XAPK、APKM,网址或本地站点也能直接生成安卓应用,图标自动转 PNG,包名、版本、启动屏、横竖屏都能配。对测试同学来说,这意味着"发现需求"和"改完交付"之间的链路被压缩到一部手机之内,零散变体不再因为"懒得开电脑"而被积压。

对比维度 智能修改电脑版 智能修改安卓版
主力场景批量造变体、归档、追溯随时接住零散单个需求
运行位置Windows 10/11 桌面Android 10+ 手机/平板
验证方式设备预览连手机/模拟器改完直接装本机/分享

十一、常见问题(FAQ)

1. 十个变体的项目目录都是随机串,怎么对应到我要的名字?
软件每个项目自动建 8 位随机目录并写 config.ini、拷 source.apk,这是内部目录;对外你用"环境_应用名_版本号_序号"这样的命名规则给产物归档,history.ini 里的需求原文就是对应关系,内外两套一对照就不乱。

2. 换图标会不会挑到小图发虚?
解析时 aapt 会报图标密度,其中 65534 是"任意密度"的哨兵值,软件按最高密度挑原图,不会挑到小图,换出来的图标清晰度有保证。

3. 打包后为什么还要 verify 这一步?
回编、对齐、签名前三步只看退出码,"到底签没签上"要 verify 说了算,密钥格式不对也只有这步会明确报出,避免装包时误判为应用崩溃。

4. 覆盖安装失败提示签名不一致,会自己卸载吗?
不会。签名不一致(UPDATE_INCOMPATIBLE)会弹窗问你是否卸载重装,因为这会清数据,软件必须问过你才动。

5. 十个变体要统一签名吗?
建议统一。签名设置写进 config.ini 后每次打包沿用,统一签名能保证相互覆盖升级认得彼此;若用随机签名,升级会当成不同应用。

6. 想回看某个变体"上次改了啥"怎么办?
详情页修改历史列出每条需求原文不截断,右侧"选择"可把那条需求填回输入框,照着再改一遍,不用重新组织语言。

7. 安卓版能替代电脑版造十个变体吗?
安卓版适合零散单个需求与随时补位,电脑版擅长批量、归档、追溯。两者互补,不是替代关系。

8. 大包反编译卡住怎么办?
超过 10 分钟会中断并报错,信息写在 apktool.log,先看这份日志定位卡点,再决定重来还是换思路。

十二、用户评价

「—— 阿凯 · 某互联网公司测试工程师」以前造一批环境变体要一下午,现在上午就能交差,关键是每个包都能翻到当时那句需求,回怼开发"是你接口的问题"底气足了。

「—— 小鹿 · 移动端测试组长」我们组把命名规则钉死在共享表,十个变体各占一行,谁造的、验到哪了一眼可见,周会再也不用对着一堆随机目录猜。

「—— 老周 · 安卓逆向爱好者」verify 那步救过我,有次签名没签牢,装包报签名不一致,差点误判成应用崩了,翻 pack.log 才反应过来。

「—— 婷婷 · 外包测试」安卓版真的香,晚上在家想起要给某个变体加个内测标记,手机上直接改完装本机看,不用专门开电脑。

「—— 大伟 · 创业团队测试」我们自有应用换名换图标做 A/B,全程 history 留痕,老板问"这批和那批差在哪"我直接甩记录,清清楚楚。

「—— 阿哲 · 质量保障」最满意的是可追溯,出问题先翻 history 和 pack.log,把怀疑范围缩到具体那几个变体,不用十个全拉回来重测。

「—— 小米 · 实习测试」新手照着话术库填需求,第一次造变体也没翻车,签名方案存进 config 之后每次直接沿用,省心。

「—— 强哥 · 终端测试」覆盖安装降级自动加 -d、TEST_ONLY 自动加 -t,这些细节不用我记命令,软件自己处理,踩坑少了一大半。

只需说话,就能让应用变成你想要的样子

安卓修改大师智改工坊 · 智能修改电脑版,让测试同学的十个变体包造得清、管得住、查得到。

智能修改电脑版:https://www.apkeditor.cn/ai-version.aspx

立即把改包交给 AI

Windows 10/11 · 免安装 · 约 7MB

立即下载 智能修改电脑版

https://www.apkeditor.cn/ai-version.aspx