之前出了个系统升级软件安装的教程,但是没办法启动和卸载已安装的APP。而是通过安装ES文件夹管理器,通过它的U盘检测事件来启动ES,然后实现启动其它自己安装的应用。这个方法有两个问题:1、无法卸载自己安装的应用。2、如果车机上***有U盘,每次启动都会启动ES。或者弹出一个对话框,不手动点,车机桌面就无法启动了。 今天我就要带领大家玩更高级的功能了:调试模式入门之玩转应用安装、运行、及卸载。正题开始。 电脑版的教程后面出,首先今天来做手机版的教程,因为手机最方便。 首先要使用到remote adb shell 这个软件,安装到手机上。可以百度下载,也可以在官网上下载。 remote-adb-shell官网下载地址:https:///remote-adb-shell/download/ 安装好软件。 第一步:手机打开WIFI热点,车机打开WIFI连接到手机热点。 第二步:打开WIFI调试模式。 进入工程模式开启WIFI调试模式: 打开车机[设置] - [存储空间] ,在右下角空白处连续点击10次。此位置点对了,有滴滴声音,点到弹出密码输入界面为止。 输入密码 456258,请注意别输错。之前的教程因有车友看错输成258456,只能进入TBOX调试界面,不能进入工程调试界面。 先点击 [开启US-B调试] ,再点击[开启wifi调试] ,显示IP和调试模式为wifi,即开启成功。 第三步、手机打开remote adb shell软件连接车机。 输入车机上显示的IP,点[CONNECT]连接。 车机shell连接成功,并且默认具有root权限。到些为止,熟悉linux,熟悉安卓的同学,可以随便发挥了。至此已经无所不能。 对于一脸懵的同学,我门就来学几个命令,完成我们今天的任务。 今天要用到的命令: 1、df //查看挂载的磁盘U盘挂载情况 2、ls //查看文件列表 3、pm //软件安装、卸载、查看已安装应用列表 4、am //用这个命令启动我们安装的APP df命令太简单了,就是查看信息而已,就不说明了。直接在命令输入栏输入df,按回车。 这张图片是我执行了再次df命令。第一次是把U盘插在下面的US-B口,上面红框最下上行就是U盘。此时的路径是: /mnt/media_rw/udisk2 第二次是把U盘插在上面的US-B口,此时的路径是: /mnt/media_rw/udisk 如果没有特殊情况,大家的U盘路径就上面这样了。但是还是有必要查看确认一下。因为后面操作我用要用U盘,所以得把U盘路径找出来。 APP安装包准备: 下载XUI桌面APP的apk包放在U盘根目录,最好改名简单。例如:xui.apk 为什么要这么改名呢?等下我们要在命令行里输入这个名字,很长也是没问题的,只是输得很累,还容易错。错了是执行不了的。 把U盘插入上面US-B口,然后可以执行查看命令,看U盘里的文件: ls /mnt/media_rw/udisk 不出意外,可以看到我们的uxi.apk 文件。 安装APP: 首先大致了解下pm安装命令: 命令格式: pm install [选项] <安装名文件路径> 选项: -l 锁定应用程序 -r 重新安装应用,且保留应用数据 -t 允许测试apk被安装 -i <INSTALLER_PACKAGE_NAME> 指定安装包的包名 -s 安装到sd卡 -f 安装到系统内置存储中(默认安装位置) -d 允许降级安装(同一应用低级换高级) -g 授予应用程序清单中列出的所有权限(只有6.0系统可用) 安装名文件路径:就是apk包的路径了,我们的xui.apk放在U盘根目录,于是路径就是: /mnt/media_rw/udisk/xui.apk 下载是我们安装xui的命令: pm install /mnt/media_rw/udisk/xui.apk 我们直接安装,不回选项就可以。如果遇到问题安装不成功,可以加入相应的选项。例如: pm install -r -d /mnt/media_rw/udisk/xui.apk 执行成功,就完成xui软件安装了,同理可以安装其它软件,把命令的xui.apk换成其它软件的apk文件名就可以。 接着我们讲软件卸载命令: pm uninstall [选项] <包名> 选项: -k 卸载应用且保留数据与缓存(如果不加-k则全部删除) 包名:这个东西就有点难找了,我们要通过查询,得到名。下面一段讲如何查询包名。这里先给出我们卸载xul的命令: pm uninstall com.studio.xlauncher 执行成功,xui软件就从我们的车机消失了。com.studio.xlauncher 这一串就是xui这个app的包名。这个包名还是蛮短的,有的app简直变态,像中国移动的com.greenpoint.android.mc10086.activity 有点变太。 查看安装的应用列表命令,包名信息查询: pm list packages [选项] [过滤规则] 选项: -f 显示每个包的文件位置 -d 使用过滤器,只显示禁用的应用的包名 -e 使用过滤器,只显示可用的应用的包名 -s 使用过滤器,只显示系统应用的包名 -3 使用过滤器,只显示第三方应用的包名 -i 查看应用的安装者 过滤规则:一般用的是linux命令,不是本命令自带的。 我们要查询我们安装的应用可以执行这条命令: pm list packages -3 pm list packages - 3 命令执行到的结果,要这结果里找到我们应用的包名。 我们可以添加条件筛选。比如,我要找淘宝的,可以加过滤规则 | grep taobao pm list packages | grep taobao 有些应用比较变态,包名中不含有我们能理解的关键字,反正就要想各种办法找到它。 像xui的这包名com.studio.xlauncher,也许launcher能成为关键字来过滤,不过也太难了。下面我还会给大家讲可以通过运行软件,抓取软件信息的办法。 抓取当前运行软件包名及启动位置命令: dumpsys window windows | grep Current 通过执行 dumpsys window windows | grep Current 命令,我们就可以得到,当前运行软件的包名和启动位置。这个启动位置也很重要,我们知道这软件的启动位置了,才能通过命令启动它。 启动位置由两部分组成: 包名/启动入口 com.cgutman.androidremotedebugger/com.cgutman.androidremotedebugger.ConnectActivity ---------------包名-----------------------|-----------------启动入口---------------------------------- 启动软件命令am start :
命令格式 am start <包名>/<启动入口> 这个包名和启动入口除了上面方法获得,还可以从apk安装包的 AndroidManifest.xml 文件里找到,奈何不懂安卓,看不懂里面的参数。 直接上我们xui的启动命令: am start com.studio.xlauncher/com.studio.xlauncher.Launcher 安装完后执行这条命令,xui就启动起来了。 好了,入门教程就到这里了。电脑版本的已经做个工具箱了,做成选择式菜单操作,简单。基本制作完成,最近会发布出来。 如果你懂linux和安卓,都不用我说那么多了。早就尺起来了。 |
|