分享

汽车之家|车机高级玩法

 mactel 2024-02-20
之前出了个系统升级软件安装的教程,但是没办法启动和卸载已安装的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和安卓,都不用我说那么多了。早就尺起来了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多