“兴趣是最好的老师”。我希望这个系列的课程能在教你刷刷的同时激发你对编程的兴趣。只有兴致勃勃,才能感到无聊,希望能完全跟上接下来的九节课。(大卫亚设)。
先来炫炫本节的内容,从电脑上操作抖音:从Windows-Terminal中输入代码“adb shell monkey -p com. 1",就能如下图打开抖音。
开场炫技完毕。现在将你的手机通过USB线连上电脑,我们立刻来认识第四步的首个工具adb(Android Debug Bridge)。
从Windows-Terminal中用Scoop将其安装上"scoop install adb"
安装好之后,来拆解adb(Android Debug Bridge),首项Android是安卓,中间的debug不去理他,第三个单词Bridge是题眼。从Bridge桥梁可揣测adb是一个桥梁连接工具,它架桥连接起来PC端的电脑与移动端的手机。
输入下列代码,启动adb并核实手机已连上电脑:
接着键入"cd Desktop" 将工作目录切换到桌面上:
现在我就要开始施展编程的第一个魔法:操作手机截屏,(再次核实你的手机与电脑已经通过USB线连接,并且USB调试模式已打开,后续不再絮叨)。
先运行下列命令,指令你的手机截屏图片并保存为/sdcard:
此处screencap是screenshot+capture的缩写,抓取截屏的意思。继续执行下面的代码将刚才手机上截屏的图片拖动到桌面上"adb pull /sdcard ."(注意手机点亮,不要黑屏)。
注意末尾个英文的点“.” 不要漏掉(这个点是current当前的含义)。此时再看你的桌面,就会神奇地发现一张手机的截屏图片:
此刻,欢迎来到编程的魔法世界。
一)先掌握5项基本指令
深入探索之前,先掌握在Windows-Terminal中高频应用的5项基本指令,分别为pwd(print working directory 打印当前目录),ls(list列出目录下的文件),cd(change directory 切换目录),mkdir(make directory 创建目录),以及 rm (remove 删除文件等)。
这就如你开车一样,pwd打印当前的目录,告诉你当前所处的坐标是在“桌面上”。
ls(list)列出目录下的所有文件,则是你车前的探照灯,照亮前方,给你指路:
cd(change directory)切换目录,就是变道,转向至另外的道路上。
最后的mkdir与rm分别为创建目录(文件夹)和删除文件, 比如输入"mkdir Testdir" 就在桌面上创建了Testdir这个目录(或者称之为文件夹,后文将统称为目录)。
再用rm(remove)将其删除:
此时,刚才创建的TestDir目录就被删除掉了。
以上就是我们驾车行驶在Windows-Terminal中的五项高频指令,pwd告知当前坐标,ls探照前方的路途,cd 变道切路,mkdir 创建目录,rm将其删除。
任何操作系统,不论微软,安卓,鸿蒙,Linux都有以上五个指令,而考虑到微软的这五个指令颇有局限性,我们安装Linux版本替代,运行下面的安装命令”scoop install busybox“:
对比二者会发现Linux版本更加紧凑(当然功能也更多,后面将会涉及)
基础就绪,立刻来见识“一桥飞架两端”的adb(android debug bridge)。
二)装卸软件与文件推送
我在桌面的AndriodApps下放了四个安卓apk格式的安装应用,分别为Firefox浏览器,Gboard输入法,F-Droid开源应用库,以及大名鼎鼎的Magisk。
如果不能用Google的话,就用微软的必应搜索英文版搜“名字+apk”比如:
剩下的三个用同样的方法搜到并下载到桌面的AndroidApps这个新建目录下:
调用adb分别将桌面上这四个应用安装到手机上:
卸载过程稍嫌复杂,你需要先找到刚才安装的四个app:
每一行的尾部就是F-Droid,Magisk,Firefox这三个应用安装到手机上的名字(其中Gboard的安装名已变更,后文将会详述)。卸载这三个应用,只需运行:
再去查看手机,以上三个软件全部卸载不见。接着再将他们全都装上。
以上就是你通过adb这座桥梁从电脑上给手机安装和卸载各种软件的方法,后文将继续探讨如何卸掉系统内置的应用程序。
作为补充,我们看两眼使用adb推送和拉取文件。在视频的开篇,就介绍了使用命令截屏,并将截屏图片拉取到电脑桌面上。
现在尝试将桌面上的图片dreamTown推送到手机的相册中“adb push .dreamTown.jpg /sdcard/DCIM/Camera/”
有了"adb push"和"adb pull"的帮助,你就不必再麻烦地手工拖拽文件了。
三)踏入手机的腹地
以上两步,我们都在电脑的Windows-Terminal中操作,更具体地说,是在Windows-Terminal内的PowerShell中操作(注意左上角Tab栏里标注的PowerShell),此PowerShell是Windows系统的Shell(壳)协助我们方便的指挥微软的内核为我们工作。
接下来我将领你迈入踏入手机的腹地,进入手机的Shell,进入安卓系统的Shell,输入"adb shell":
上图即进入到了安卓的Shell中。在其中运行的是第一部分的五个命令,pwd(当前坐标路径),ls(探照前路)cd(变更路径)mkdir(新建目录) rm(删除文件,需谨慎使用)。
请注意前缀的变化,由“C:UsersgaoweiDesktop>”变成了“platina”(platina是小米8青春版的英文名称)。此时我们虽然还在电脑屏幕上,却已经踏入了手机的内部,相当于在手机上操作。
再一观察则会发现,安卓Shell内的命令与上面Linux版本的命令,展示的内容是一致的。由此便能约摸知道安卓系统是建立在Linux内核之上。
更直接的证据,输入uname查看系统名称,返回的结果是Linux; 而exit退出到PowerShell中输入uname反馈的结果则是Windows。由此可知,安卓的内核是Linux,而微软则用的自己的内核。
于是,执行命令"adb shell"之后,就抬脚迈入了手机的安卓操作系统,更进一步说就是进入到了手机的Linux操作系统:
四)任务与应用包管理
视频的开篇我们展示了从电脑上操作抖音方法,输入命令"monkey -p com. 1"。这一行命令中的第一个关键词monkey就简单理解为一只猴子帮你做事,-p 是 package 软件包,“com.”是抖音安装到手机里名字;末尾的1简单理解为从1开始。
查看手机上安装的全部246应用"pm list packages |nl",pm是package manage 软件包管理的缩写, nl 是 number line 给每一行数字标注的缩写,tail是“尾巴”只展示最后的10行。
查看全部的MIUI应用有70个"pm list packages |grep miui |nl |tail", 多出来的"grep miui"是只抓取有MIUI关键词的结果。
接着演示打开与关闭小爱同学 : 打开输入"monkey -p com.miui.voiceassist 1" 关闭输入“killall com.miui.voiceassist”。
再来查看全部的输入法,其中最后一项就是前面安装的Gboard输入法。
演示打开和关闭Gboard输入法“monkey -p com.google.android.in 1”
最后,手机上的系统应用一般都安装在"system/app"和"system/priv-app":
以及第三方应用的安装位置"/data/app"和"/data/data":
以上四部分基础知识铺垫完毕,马上进入到第五步骤卸载手机上非必要的应用,给你的手机瘦身,极简化你的手机。
五)卸载内置的非必要应用
手机上有许多厂家内置的软件,我们平常用不着,却占着存储空间,比如下面图片标注的这几个:
开始清理之前先记录手机当前的存储使用情况,好跟后面有个对比:
第一个删掉游戏,先找到自带游戏安装包的名称:
运行卸载,从手机上查看卸载成功。
卸载掉“小爱同学”和“全球上网”:“pm uninstall --user 0 com.miui.voiceassist”
其他的部分内置应用的对照表(部分),建议你自己网上搜索。格外注意最后五项不要删除,否则会导致不能正常开机。
最后五项不要删除,否则会导致不能正常开机。
五)后记
从手机上打开前面安装F-Droid,搜索下载Termux到你的手机上。
重申“兴趣是最好的老师“,本系列课程定位零基础,教你刷机的进阶过程中,也能激发你对于编程的一丝丝兴趣,引领你抬脚迈步到编程的魔法世界。
因此,倘若你在跟进的过程中,感觉枯燥无趣,或者碰到任何小的问题,烦请提出和留言,我会逐一解答,并持续改进课程的质量。
本系列课程定位和服务于零基础用户,感谢诸位,本节课结束。