很多人第一次听说「安卓修改大师智改工坊」(介绍页面:www.apkeditor.cn),接触到的都是「说一句话,应用就改好了」的版本。但这个家族里还有另一条路线:安卓修改大师经典版——它不替你做决定,而是把反编译出来的工程摊开在你面前,每一行 smali、每一个资源文件都由你亲手改,每一步可控、结果可复现。这篇教程就是写给想走这条「手动精修」路线的新手:smali 到底是什么、怎么看懂它的结构、怎么定位和修改一段文案或逻辑,最后怎么回编、签名、装机验证。整条产品线的口号是同一句:「只需说话,就能让应用变成你想要的样子」——而经典版要教你的,是在「说话」之外,保留一份「亲手改」的底气。

一、新手痛点:为什么还要手动改 smali

先摆正一个认知:经典版不是「落后的旧版本」,它是一条和 AI 版并列的、专门面向精修场景的路线。AI 版擅长的是「你说结果,它全干」——改图标、改名字、改启动页,一句话触发,自动反编译、自动定位、自动回编签名。但有些场景,你要的恰恰是「完全的确定性」:比如团队交付时需要一份「这次到底改了哪几行」的记录;比如某个改动只有一行代码的事,你不想为它走一遍 AI 对话;比如你想搞懂应用内部到底是怎么跑的,而不是接受一个黑盒结果。

手动改 smali 的痛点从来不在「难」,而在「散」。传统做法是:自己在命令行敲一串反汇编命令,把 dex 拆成 smali 文件;在一堆文件夹里找到要改的那个类;对着满屏看不懂的指令猜哪一行是干什么的;改完再敲命令汇编回 dex、重新打包、对齐、签名;任何一步报错,新手根本不知道错在哪。经典版把这一整套散落的命令行流程,收进了一个约 13.74 MB 的图形界面里:反编译、修改、回编译、签名、导出,每一步都有按钮、有结果、有记录。

它的环境要求也很轻:Windows 桌面运行,需要 ASP.Net 4.5+ 与 JDK 1.8+。更友好的一条口径是:非 VIP 免费可用(手动精修路线)。也就是说,这篇教程教你的所有操作,不花一分钱就能在本机练起来。它还能和智能修改电脑版同机安装,项目互不冲突——实际工作中很多人是「AI 版先快速试出改动方向,经典版再做精细微调」,两条路线搭配用。

下面所有教程内容有一个硬性前提:我们只对自家拥有版权或已获授权的应用做练习。反编译、逐行修改 smali 这些动作,仅供学习研究,请尊重开发者知识产权,遵守法律法规。不要拿别人的商业应用练手,也不要去碰任何绕开授权、绕过安全机制的改动。带着这个前提往下读,你会发现 smali 入门其实没有想象中那么吓人。

再给新手吃一颗定心丸:这篇教程不要求你会写 Java。打个比方——你不需要会造车,但你可以学会看懂仪表盘上哪个灯代表什么意思、哪个按钮是干什么的。smali 精修在入门阶段,本质上就是「看懂路标」:哪一行放文案、哪一行是判断、哪一行是返回。认识路标之后,你能做的改动就已经覆盖了日常八成的小需求。而那些需要系统理解架构的深水区(比如修改整个页面的渲染逻辑),完全可以等你练熟基础之后再碰,或者直接交给 AI 版去做——两条路线不是非此即彼。

安卓修改大师经典版手动反编译修改smali代码
经典版手动精修路线:反编译、逐行改 smali、回编、签名,每一步可控

二、背景认知:APK 内部结构与 smali 是什么

要会改 smali,先得知道它在 APK 里的位置。一个 APK 解压开,核心几样东西是:AndroidManifest.xml(应用的身份证,声明包名、版本、权限、组件)、classes.dex(应用的可执行代码)、resources.arsc 和 res 目录(资源索引与图片、布局、字符串)。开发者写的是 Java 代码,编译后变成 dex 字节码——二进制的人没法直接读。而 smali,就是 dex 字节码的「可读汇编形式」:用一个叫 baksmali 的工具把 dex 反汇编出来,人就能逐行读;改完之后,再用 smali 工具把它汇编回 dex,工程就能重新打包。

所以「smali 是什么」这个问题,一句话回答:它是 APK 反编译出来的中间代码格式,是人能看懂、也能动手改的那一层。它不是 Java 源码(那是另一类导出,接近 Android Studio 工程的形态),它是介于二进制 dex 和 Java 源码之间的「可读汇编」。入门手动修改,改的就是这一层。

打开任意一个 smali 文件,你会看到它的结构非常规整。一个典型的类文件长这样(示意):开头是 .class 声明它是哪个类、.super 声明它继承谁;中间是 .field 声明它有哪些字段(比如一个布尔开关、一个字符串变量);然后是一个一个 .method 方法块,方法块以 .locals 开头说明用了几个本地寄存器,中间是一行一行指令,最后以 .end method 收尾。你不需要记住全部指令,入门阶段只要认识其中五六条常用的,就能完成绝大多数「改文案、改简单逻辑」的任务。

这五六条指令先混个脸熟:const-string v0, "某个文案"——把一段字符串塞进寄存器,这是入门最有用的一条,因为改界面文案全靠它定位;invoke-virtual / invoke-static——调用某个方法;if-eqz / if-nez——判断寄存器为零 / 非零就跳转,应用里的「如果…就…」分支全靠它;return v0 / return-void——方法返回一个值,或什么都不返回;sget / sput——读写静态字段。看懂这几条,你就已经能跟上一个方法的「输入→判断→输出」主脉络了。

再补一个概念:寄存器。smali 里到处是 v0、v1、p0、p1 这种命名——v 开头是方法自己的本地变量,p 开头是方法的参数(p0 在非静态方法里就是 this)。.locals 2 的意思是这个方法用了 2 个本地寄存器。入门阶段你只需要记住:改字符串不会动寄存器;改分支判断时,看清楚 if 指令判断的是哪个寄存器就行,不用从头推演。

现在带你完整读一个方法,建立「我真的能看懂它」的信心。假设你在某个按钮点击事件的方法里看到这样一段(示意):方法开头 .method public onClick(Landroid/view/View;)V,紧接着 .locals 1,然后一行 const-string v0, "欢迎使用",再往下是 invoke-virtual {p1, v0}, Landroid/widget/Toast;->makeText(...)Landroid/widget/Toast;,最后 return-void。逐句翻译过来就是:这个方法是按钮的点击回调(p1 是被点的那个 View);用了 1 个本地寄存器;先往 v0 里塞了一句「欢迎使用」;然后调用 Toast 方法把这句文字弹出来;方法结束。你看,没有一个 Java 大括号,但「做了什么」一目了然——const-string 放文字,invoke 调系统能力,return-void 收尾。想把「欢迎使用」改成「内测版请反馈」,改哪个引号里的内容,答案不言自明。

分支判断再读一段。一段典型的「如果已登录就跳主页,否则弹登录框」在 smali 里大概长这样:先有一行 iget-boolean v0, p0, Lcom/app/User;->logged:Z(把「是否已登录」这个布尔字段读进 v0),然后 if-eqz v0, :cond_0(v0 是 false 就跳到 cond_0 标签),后面跟着跳主页的代码,再一行 goto :goto_0(干完跳过去),标签 :cond_0 下面是弹登录框的代码。你要做的只是在脑子里跟着跳转走一遍:false 走 cond_0,true 走下面。想让它「默认当成已登录」,把 if-eqz 改成 if-nez 是一种做法,更直接的做法是把这段判断换成 const/4 v0, 0x1——直接把 v0 写成 true。改分支的诀窍永远是先跟着跳转读一遍,确认方向,再动手。

最后认识两个不影响功能、但能帮你定位的「路标」:.line 123 是反编译工具留下的源行号提示(帮助对照原始 Java 源码),.param p1, "view" 是参数名提示。这两类指令人可以读、但新手不用去改它们——它们是注释性质的路标,不是控制逻辑。真正控制逻辑的,是你上面认识的那几条 const、invoke、if、return。

建立了这张地图,经典版的操作就有了坐标系:反编译后,代码在 smali 目录下按包名一层层排开(比如 com/公司名/工具名/某个类.smali),资源在 res 目录下。你要改文案,优先搜 const-string;你要改行为,优先找到那个方法的 .method 块。后面实例会带着你完整走一遍。

三、经典版的工作流程:从反编译到交付

把经典版的完整流程串起来,一共五步。第一步,手动反编译自家 APK:在经典版界面里导入自家应用,程序把包拆成可编辑的 smali 与资源工程,manifest、代码、图片布局全部展开在你面前。第二步,逐处修改:应用名、图标资源、文案、渠道号,或者像这篇教程重点讲的——代码逻辑,都在工程里直接改。第三步,回编译、签名、导出:改完在界面里走回编译,程序把工程重新打成 APK,并用内置签名签好名(需要正式发布时换成你自己的证书),安卓没有签名是不让装的。第四步,需要分发就多渠道打包:一次配置批量产出多个渠道包。第五步,需要长期维护的应用,导出 Android Studio 工程,交给开发同学接着维护。

这条流程和传统命令行路线最大的差别,是「便利落在流程缩短上」:以前要手动敲一串反编译命令、改完再手动对齐签名、任何一步报错只能对着黑窗口猜;现在在图形界面里逐步操作,每步结果立等可见——反编译成功了没有、回编过了没有、签名完成没有,都是界面上看得见的状态。对新手来说,「看得见过程」比「省多少时间」更重要,因为出问题时你知道去哪一步找原因。

展开说说「回编译」和「签名」这两步,因为新手在这儿最容易没概念。回编译,就是把你改好的 smali 重新汇编回 dex,再把整个工程(manifest、资源、dex)重新打包成一个新 APK。这一步如果你的 smali 有语法错误(比如引号丢了、指令拼错),就会在这一步报错——报错信息会告诉你是哪个文件、大概哪一段出了问题,对照着回去改即可。签名,是给 APK 盖上应用的「身份章」:安卓系统规定没有签名的安装包一律不让装,经典版用内置签名替你盖好这个章,所以改完的包能直接装机;等到要正式发布,你可以换成自己的证书签名,因为正式版本的覆盖升级,要求前后用同一套签名。

「导出 Android Studio 工程」这一步也值得多说一句。smali 精修适合的是「小而准」的改动——一两行文案、一个开关、一处分支;但如果你的改动攒多了、团队要长期维护这个应用,就需要一份正规的工程结构。经典版可以把当前应用导出为 AS 工程,交给开发同学,他们在 Android Studio 里接着写、接着发。手动精修改出来的每一行,都能在这个工程里对得上——这就是「结果可复现」最终的交付形态。

经典版还内置了一套日常小工具:日志查看、装机、文件管理,把精修路上需要的辅助动作也收拢进来了。另外提一句「自动脱壳修复」:如果你的自家包曾经加固 / 加壳,经典版提供多套脱壳与修复方案,可以把加壳的自家包还原成可编辑工程——这是手动路线的主力工具之一,涉及脱壳的操作同样仅供学习研究,请尊重开发者知识产权,遵守法律法规,我们这篇先把基础的 smali 修改练熟。

四、功能全景:经典版到底能干什么

功能说明使用场景
手动反编译手动把 APK 拆成 smali 与资源工程汉化、功能增强、精修的起点
smali 精修直接改 smali 代码与资源文件,每一步可控、结果可复现需要精确到某一行的修改
回编译与签名改完回打成 APK,内置签名签好(可换成自己的证书)出可直接安装的成品
多渠道打包一次配置产出多个渠道包应用市场多渠道分发
自动脱壳修复内置多套脱壳与修复方案加固 / 加壳的自家包还原可编辑工程
导出 AS 工程把应用导出为 Android Studio 工程团队交付、二次开发
在线封装 APP提供在线封装能力把网页 / 素材快速封装成安装包
小工具集日志、装机、文件管理等辅助工具精修路上的日常辅助
免费口径非 VIP 免费可用手动精修路线不想按次扣费也能干活

这张表里,这篇教程重点用的是「手动反编译 + smali 精修 + 回编译与签名 + 导出 AS 工程」这一行组合;多渠道打包、脱壳修复、在线封装会在后续专题教程里展开。你现在只要记住:经典版的定位就是手动精修、每一步可控、结果可复现,它不追求替你做决定,而是把每一个决定都留给你。

关于「非 VIP 免费可用」这一条,新手常常关心:我能免费用到哪一步?答案是手动精修路线的核心操作——手动反编译、逐行改 smali 与资源、回编译、签名、导出,都在免费口径之内。这意味着你从今天下午打开软件开始,到改完第一个自家应用、装到手机上看到效果,整条学习路径不需要为功能本身付费。对教学和练习来说,这个门槛已经足够低了。而它的体积也很友好:整个安装包约 13.74 MB,不挑机器,老一点的 Windows 桌面装好就能干活。

再把经典版和另外两个版本的关系摆正一次,避免你在选型时纠结:智能修改电脑版,是 Windows 桌面上「说一句话全干」的版本,适合快速试改;智能修改安卓版,是手机 / 平板上本地全链路的版本,适合移动场景;经典版,就是这篇教程的主角——Windows 桌面上的手动精修路线。三个版本共享同一个官网入口、同一套项目互不冲突的安装方式,你可以按当天的任务挑工具:要快用 AI 版,要准用经典版。

smali代码结构与定位修改示意
smali 文件结构:.class、.field、.method 与常用指令

五、实操实例:从改文案到改逻辑

下面走两个完整实例,全部使用「自家 / 内部 / 已授权应用」。再次提醒:逐行修改 smali 仅供学习研究,请尊重开发者知识产权,遵守法律法规。

实例一:把自家内部工具的英文按钮汉化成中文

场景:公司有个自研的内部小工具,当年外包做的界面是英文,同事们用着别扭。现在要把两个按钮的文案「OK」「Cancel」汉化成「确定」「取消」。

以前怎么做:命令行反汇编 dex → 在成百上千个 smali 文件里搜字符串 → 逐处替换 → 汇编回 dex → 回编 APK → 对齐 → 签名 → 传到手机安装。一处改坏就回编失败,新手往往卡在这里。

现在怎么做(跟着做,共六步):

  1. 准备环境:从官网下载经典版安装包(约 13.74 MB),确认本机已有 JDK 1.8+,安装后启动。
  2. 手动反编译自家 APK:在经典版里导入这个内部工具的 APK,执行反编译,得到 smali 与资源工程。反编译完成后,代码按包名目录展开。
  3. 定位文案:在工程里全局搜索 const-string 加上关键字「OK」「Cancel」,找到出现这两个字符串的 smali 行——通常就在某个对话框方法的 .method 块里,一行 const-string v0, "OK" 之后紧挨着调用按钮的方法。
  4. 逐行修改:把 "OK" 改成 "确定","Cancel" 改成 "取消",引号保留、其他指令不动。只动字符串内容,不碰寄存器名、不碰 if 分支。
  5. 回编译与签名:在经典版界面里执行回编译,程序把修改后的工程重新打成 APK,用内置签名签好名。
  6. 装机验证:装到手机或模拟器,打开那个对话框——两个按钮已经变成中文「确定」「取消」,点一下行为和原来一致。

这个实例的关键心法是:只改 const-string 的字符串内容,其他一律不碰。这是 smali 入门最安全、成功率最高的第一刀。走完这一刀,你已经亲手完成了「反编译 → 定位 → 修改 → 回编 → 签名 → 装机」的完整闭环——接下来无论改什么,用的都是同一套动作,区别只是你定位和修改的位置不同。

实例二:调整自家内测版的一个默认行为

场景:自家内测工具里有个「高级调试」入口,正式版里默认隐藏,团队希望内测期间让它默认显示出来,方便测试组直接用。

以前怎么做:在 smali 里找到控制入口显隐的那段分支判断,但因为看不懂 if-eqz / if-nez 的方向,新手不敢动,只能等开发同学重新出包。

现在怎么做:

  1. 反编译并定位方法:经典版反编译自家 APK,在 smali 工程里搜「高级调试」相关的入口方法名(或搜它对应的字符串提示),打开那个 .method 块。
  2. 看懂分支:找到形如 if-eqz v0, :cond_xx 的判断——它的意思是「v0 等于零就跳转,入口隐藏」。对照上下文确认 v0 装的就是「是否内测」的开关值。
  3. 反转分支:把 if-eqz 改成 if-nez(或反过来,取决于你要哪种结果),一行指令的事;也可以更简单粗暴——直接让这个方法返回「显示」对应的常量。
  4. 回编译、签名、装机:回打成 APK,内置签名,装到测试机。
  5. 验证:打开应用,「高级调试」入口已经默认显示;再翻一遍其他页面,确认没有误伤别的功能。

这个实例的心法是:改分支之前先读上下文,确认这条 if 判断控制的就是你想改的那个开关;一次只改一处,改完立刻回编装机验证,有问题再把那一行改回去——因为每一步都可控、结果可复现,你永远知道上一个能跑的版本长什么样。需要把这个改动长期沉淀时,用经典版的「导出 AS 工程」把当前状态导出,交给开发同学合并回正式工程。

两个实例之间,有一条共同的潜规则值得点破:越是小改动,越要在小范围内做。const-string 只换引号里的字,if 判断只换指令本身,方法块的开头(.method、.locals)和结尾(.end method)永远原样保留。守住「改最少、验证最快」这条纪律,你在经典版里的每一次出包,都会是一次稳当的小步迭代。

把两个实例放在一起看,你会发现手动精修的「套路」非常朴素:改文案,搜 const-string;改行为,找 if 判断;改完回编,装上去看。整个过程你没有写过一行完整的程序,只是在读懂路标之后,动了引号里的几个字、或换了一条判断指令。这就是经典版想让新手达到的状态——不求你成为逆向工程师,但求你面对一个 APK 时,心里有那张地图,知道手该往哪儿放。每次出包都会生成完整的打包日志,产物可追溯,改没改对、改了哪几行,回头都有据可查。

安卓修改大师经典版回编译签名装机验证
回编译、签名、装机验证:每一步结果立等可见

六、使用技巧与避坑指南

技巧一:先备份,再动手。经典版反编译前,手里一定留着原始 APK 的副本。smali 改坏了、回编不过,大不了重新反编译再练一遍;没有备份,错误的修改会层层叠加,越改越乱。

技巧二:一次只改一处。新手最容易犯的错,是兴之所到连改五六处,结果回编后功能不对,完全不知道是哪一处引起的。正确姿势是:改一处 → 回编 → 装机验证 → 通过了再改下一处。手动精修的底气,正是来自这种可复现的节奏。

技巧三:搜 const-string 是定位文案的捷径。界面上看到的每一句中文 / 英文,在 smali 里几乎都是以 const-string 形式出现的。改文案、汉化,从搜这个关键字开始,比一层层翻目录快得多。

技巧四:if-eqz / if-nez 改之前先读注释行。smali 里没有注释,但指令上面一两行的赋值(把哪个值装进 v0、p0)就是它的「注释」。读懂「这个寄存器装的是什么开关」,再决定反转方向,不要凭感觉对调。

技巧五:字符串的引号和编码别动。中文文案在 smali 里有它自己的写法,你只替换引号里面的内容,引号本身、前后空格一律保留。回编报编码错误,多半是这里手滑了。

技巧六:正式发布换自己的签名。练习和内测期用内置签名最省事;但一旦要正式分发,记得换成你自己的证书签名——否则后续版本没法稳定覆盖升级。

技巧七:双版搭配,先试后精。想快速看某个改动方向对不对,先用 AI 版一句话改包试出效果;确认方向后,再到经典版里逐行精修、沉淀出可交付的修改记录。两个版本同机安装、项目互不冲突,这个搭配很多团队天天在用。说到底,只需说话,就能让应用变成你想要的样子;而经典版负责的,是在「说话」之外那份看得见、留得下的精修记录。

技巧八:养成「改前注释」的习惯。在 smali 里你不能写注释(它不是 Java),但你可以在自己的文档 / 备忘录里记一句:某年某月,把哪个文件里的哪行 if-eqz 改成了 if-nez,原因是内测期间放开调试入口。这种一页纸的修改记录,在团队交付和「结果可复现」上,价值不亚于代码本身。

技巧九:先在模拟器上验证,再上真机。回编出包后,先装模拟器跑一遍主流程:能打开、不闪退、目标页面行为正确,再装到同事的真机上。模拟器随装随卸,没有「把测试机改坏」的心理负担。

技巧十:改不动就回到资源层。很多新手一上来就想改逻辑,其实八成的「看着别扭」都在资源层——文案、图片、布局尺寸。资源层改错了回编照样能过、风险更小。先把资源改顺,逻辑层留到第二阶段再碰,进阶曲线会平滑很多。

七、用户怎么说

「以前一听 smali 就头大,自己敲命令行反汇编更是装一次环境半天。经典版把这步做成按钮之后,我才敢真正动手。改 const-string 那几步,跟着教程一次就成了。」

—— 小苏 · 内部工具运维(上海) · 来源:官网评论区

「我们团队交付要求留修改记录,AI 版出包快,但审计要『改了哪几行』。经典版手动精修的过程天然就是一份记录,导出 AS 工程给开发,交接非常顺。」

—— 老赵 · 研发经理(北京) · 来源:用户反馈

「非 VIP 就能免费用手动精修这点很实在。没有复杂的订阅门槛,装好就能在自己家里的工具上练,练会了再谈别的。」

—— 阿楠 · 独立开发者(武汉) · 来源:官网评论区

八、常见问题 FAQ

问:完全不懂 Java,能学改 smali 吗?
答:能。入门阶段你不需要懂整个应用怎么写,只需要认识 .method、const-string、if-eqz/if-nez、return 这几个路标。改文案、改简单开关,是完全可以照着指令单完成的。

问:回编译报错了怎么办?
答:先回想刚才是不是一次改了多处。把改动逐处回退、每回退一处回编一次,定位到出错的那一行。最常见的原因是字符串引号被破坏、或者改分支时改错了寄存器。

问:改完的包装不上是什么原因?
答:安卓要求 APK 必须有签名才能装。确认回编译后走了签名步骤;如果是覆盖旧版本却装不上,先卸载旧版再装——签名不同的包不能直接覆盖。

问:经典版和 AI 版能同时装在一台电脑上吗?
答:可以。两个版本同机安装、项目互不冲突,很多团队是双版搭配着用。

问:改 smali 和导出 AS 工程是什么关系?
答:smali 精修适合快速、精确的小改动;当改动多到需要长期维护时,用经典版把应用导出成 Android Studio 工程,交给开发同学用正规工程方式继续。

问:加壳的自家包能直接改吗?
答:加壳 / 加固的包需要先用经典版的自动脱壳修复(多套方案)还原成可编辑工程,再动手改 smali。脱壳操作同样只用于自家已授权应用。

问:const-string 里搜到的文案为什么有好几处?
答:同一句文案可能在多个方法里出现(比如按钮上一处、弹窗里一处)。回编译装机后,哪一处没生效,就回去改哪一处——这也是「一次只改一处」的好处:范围清楚。

问:改完之后应用闪退了怎么办?
答:最常见的原因是分支改反了、或者寄存器引用错了。把最后一次改动回退掉,重新回编;如果还闪,就把更早一处改动也回退,逐步缩小范围。手里有原始包副本,永远不怕改崩。

问:学这个要花多久?
答:只改文案的入门,一个下午就能走通「反编译→改 const-string→回编→装机」全流程;改简单逻辑(反转分支)大概再练两三个实例就有手感。它不需要你成为安卓开发,只需要你认识那几条指令路标。

九、合规提醒

本工具面向自有版权或已获授权的应用,用于学习研究与企业内测等合法场景。反编译、脱壳、逐行修改 smali,均仅供学习研究,请尊重开发者知识产权,遵守法律法规;请勿用于破解他人付费应用、绕过授权或安全机制。手动精修的价值,用在自己的工程上才成立。

十、写在最后

回到开头那个问题:什么是 smali?现在你已经能回答了——它是 dex 的可读汇编形式,是手动精修路线上你真正动手的那一层。安卓修改大师经典版没有把你挡在命令行后面,而是把反编译、定位、修改、回编、签名、导出,每一步都摊在明处:手动精修,每一步可控、结果可复现。对想真正看懂应用内部、想留下可审计修改记录的人来说,这条路值得花一个下午走一遍。

如果你已经装好,去「安卓修改大师智改工坊」的介绍页面(www.apkeditor.cn)看看三版分工:一句话改包找 AI 版,手动精修找经典版。别忘了那句贯穿始终的话——只需说话,就能让应用变成你想要的样子;而当你想亲手改变它时,经典版会站在你这边。

最后给你的练习路线排个序:第一天,只做「反编译 → 改一句 const-string → 回编 → 装机」,把流程跑通;第二天,试着改两处不同位置的文案;第三天,再去碰反转分支这种行为修改。每一步都在自家应用上练,每一步都留好原始包副本。用不了几天,你就不会再觉得 smali 是外语——它只是一种标点很少的、很诚实的编程语言。

安卓修改大师智能修改安卓版

手机 / 平板本地全链路改包,与经典版、电脑版搭配使用:手动精修在电脑上,快速试改在手机上,两不耽误。

立即下载 · 安卓修改大师智能修改安卓版

官网入口:www.apkeditor.cn · 每次出包都会生成完整的打包日志,产物可追溯