[讨论] 《玩机大神之路》系列教程(四)实战-工具箱开发篇
本帖最后由 Durance 于 2018-8-22 15:51 编辑 为了让各位加油能够更加了解手机,懂手机,特推出此系列教程。本系列教程由一加社区解答组原创出品,旨在从硬件到软件到玩机甚至到基础开发,全方位带领小白用户成长成为“玩机大神”,实现从「用手机」到「懂手机」的提升。一加社区作为唯一发布渠道,未经授权禁止任何形式的复制、粘贴、抄袭及转载。 本文为系列教程第四篇。教程目录: 第一篇(硬件篇)://www.oneplusbbs.com/thread-4281090-1.html(点击可访问) 第二篇(软件篇)://www.oneplusbbs.com/thread-4297402-1.html(可点击访问) 第三篇(玩机操作篇)://www.oneplusbbs.com/thread-4302985-1.html(可点击访问) 第四篇(实战-开发属于自己的工具箱)://www.oneplusbbs.com/thread-4303727-1.html(本文) 第五篇(系统开发编译篇):规划和需求分析中... 为保证热度,回复本帖即可见本帖所有隐藏内容(注意不要灌水,无意义回复哦,否则可能会因违反版规删除回复,可能影响后期的阅读^_^),本文建议在PC端进行阅读,以获得更好的阅读体验。 在本篇教程中,你将了解到制作属于你自己的玩机工具箱的全过程。本篇教程以OnePlus 6玩机工具箱(解答组版)为基础,以其包含的基础功能进行教学。完成本篇教学后,你将能够轻松地开发出属于你自己的玩机工具箱!工具箱制作过程大揭秘! 一、工具箱制作基础与原理 在上一篇教程中,我们已经了解到,玩机操作利用到了ADB工具和Fastboot工具,并通过相关的命令执行对手机的操作。那么工具箱将以此着手。 要想让计算机为我们自动的执行一些语句,其最容易想到的即是 通过脚本语句,十分方便。 以下教学及我此前发布的工具箱,均利用的是批处理指令,并进行封包打包为exe文件的方式进行编写。学习本篇教程前,不需要您事先学习任何的编程语言等,不会涉及高深的知识,也正如我在工具箱发布帖中所说的,工具箱的技术难度不高,成本也较低,当然,在阅读前请确保您已经学习了第三篇的内容,不然依然可能难以下手。 如果一切准备就绪,请跟我来,为你揭开 玩机工具箱制作的全过程。 二、环境准备进行工具箱的制作,你需要准备好: 1、一台运行Windows系统的计算机; 2、Notepad++等文本编辑器(推荐Notepad++)官方网站:https://notepad-plus-plus.org/ 可自行下载安装,下载安装过程不再赘述。 (图为 Notepad++官网页面) 3、没有了,没错,只要这些,不需要你安装乱七八糟的其他内容^_^ 三、开始我们的“第一行代码”-主界面的设计 ① 文件的创建 在任意一个目录创建一个.bat批处理文件,并使用Notepad++打开。我们在这里命名为“工具箱测试.bat”,确保图标为: 打开后主界面如图显示: ② 主界面设置与文字显示 在bat批处理中,用于显示文字的命令为:
现在我们来试一试,输出三行内容,两行文字(中间一行为空行),要写入的代码为:
这时你会发现,窗口只是闪烁一次,然后就退出了。这是由于程序运行速度太快,而程序正常运行结束就自动正常退出了,我们看不到显示的实际文字,因此,我们需要再加入一行
可看到,现在已经可以正常输出了。(请注意,如果输出的是乱码,请设置 编码,选择 “使用ANSI编码”) 接下来,我们按照这个道理输出工具箱的首页内容,代码如下(OnePlus 6玩机工具箱,解答组版 原版代码):
与预期想象的内容一致。 那么,我们怎样让这些选项可供选择,并生效呢? 三、实现功能模块的选择和跳转 前文我们已经实现了基本的显示,但是现在只能做到显示内容,按下任意键就会退出程序,那么接下来,我会介绍怎样实现功能模块的选择和跳转。 要实现功能的跳转,则需要定义一个变量,这里我们选取变量名choice,更加直观,并将我们输入的内容储存在choice中,便于后续的选择 用到的语句为:
要实现跳转,则需要告诉计算机,要跳转到哪个模块,那么我们很容易想到,我们需要给每一块“区域”或称作“功能”进行命名,且功能执行完毕后,能够重新返回主菜单。 需要用到的语句为:
随后编写跳转指引:
我们为check功能定义内容,需要写入的语句为:
运行后,效果如图所示: 可看到功能能够正常跳转。清屏和返回主菜单功能也同样运行正常,是不是已经小有成就感了呢?重新温习一下上面的内容,接下来我们将要讲述实际功能的实现。 四、实际功能的实现(以检查手机连接状态为例) 接下来,我们要实现一个功能,检查手机连接状态,不然,只能输出内容多没意思? 不要着急,前面的都只是铺垫。 我们在第三章提到过,工具箱的实现依赖了ADB和Fastboot工具,因此我们需要先引入这两个工具,我们将相关的文件全部复制到与bat文件同目录中,如图所示即为拷贝完成情况: 拷贝完依赖的ADB和fastboot包后,则可以正常地在批处理中调用adb和Fastboot程序。 之所以采用了相对路径的方式,是为了日后打包bat为exe时的方便,否则会出现调用错误。 完成了拷贝后,我们开始尝试第一个功能的实现,在这里,我先放上代码,并进行解释:
并保存退出。 运行测试可以看到: 程序正常执行,输出内容正常。 自此,我们就完成了第一个功能的实现。 五、实现更多的功能 如果你已经跟着我的进度完成了前四部分,现在应该已经小有成就感,而之后要做的,就是重复第四部分内容,对我们规划的内容进行一一实现。 在这里,我列举几个功能示例,剩下的就交给加油自行摸索完成了^_^ 检查解锁状态代码(以下代码为解答组版一加手机6工具箱原版代码,我将需要的文件放置在了file目录下,如果复制粘贴,请自行修改):
接下来,我会介绍一些其他的一些小技巧 六、完善工具箱细节 前文基础内容已经实现,下面我们处理一些细节问题 1、标题栏的内容 默认情况下,标题栏显示为cmd文件的路径,并不美观,我们可以在menu部分写入一行
即可将标题更改为我们想要的内容。 2、字体颜色与背景颜色 要修改背景颜色与字体颜色,我们需要在主要的位置写入一行:
例如
3、对工具箱进行打包为exe可执行文件 前面我们已经写好了相关的功能实现,需要的文件也都在一个文件夹内,直接进行分享将会不太方便,用户需要进行解压等操作,因此我们可以通过bat转exe工具进行格式转换。具体的转换软件可百度搜索,这里不予推荐。 注意:进行exe转换后,杀毒软件将有极大概率报毒,请自行选择是否封包。 七、总结 本教程以0基础的条件为加油揭秘了 玩机工具箱 制作的全部核心过程。包括 原理,环境配置,界面编写,功能跳转实现,具体功能实现以及细节的优化等均有所涉猎。 如果你认真学习了本教程,现在的你只要多加练习,写出一个好用的工具箱也是指日可待的事情。 自此,本教程基本内容已经讲授完毕,如果有其他问题,请通过回复和我联系。 本系列教程由 一加社区解答组成员 完成,希望本系列的教程对你的提升有所帮助。 本系列教程所有内容无任何复制粘贴情况,请尊重原作者的创作内容,转载等必须经过本人许可。 欢迎各位加油通过自己的尝试,制作属于自己的工具箱,如果做得非常完善,也欢迎发表到一加社区,服务更多的加油~ 此外,针对我们规划的 第五章——系统开发编译篇,由于内容较多,目前正在规划是否需要出品,如果需求较大,我们会尽快推出第五篇教程,如果需求量过小,第五篇教程将暂时搁置,不再在短期内进行发布,欢迎回复留言告诉我你的想法~ |