ADB工具篡改东南DX3默认导航
很多人说,有房有车有老婆孩儿才算人生圆满。2017年8月老婆孩子我都有了,房子也装修入住2个月有余。驾驶本已在手里捂2年多。汽车之家APP多次浏览外加岳父推荐,最终在8月22日提了辆东南的小型SUV---东南DX3。
前因
买完新车,自然是各种折腾,各种车载饰品配件。作为技术人员,车机系统肯定得研究研究啊。不倒腾还好,自带基本够用,但不能安装软件这硬伤我肯定不能忍啊。各种百度、各种Google,终于功夫不负有心人,网上果然有同道中人分享了解决办法:在安卓手机安卓悟空遥控APP并推送本地APK安装包到DX3的车机系统,关于东南DX3车载中控屏安装高德地图或者其他安卓软件方法。
按照网上的教程确实安装成功了,但离我心中的理想状态还差不少:方控、面板按键启动的还是原四维图新导航。不能root,安装软件不方便、悟空TV端不能卸载等都不理想。虽然后来我也各种折腾但一直都没篡改掉DX3的默认导航。
时至今日,高德导航车机版提示更新V3.2版本,心中发痒。再次Google,还真有一些收获---ADB大法。
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。老规矩先发一堆相关连接:一份超全超详细的 ADB 用法大全、Android 调试桥、Android 常用 adb 命令总结、adb 常用命令、ADB命令大全。
知道了ADB大法,自然是要实战一番,奈何我只有MBP,没有Windows本:东南DX3替换原车导航(支持主屏导航、面板NAVI或方向盘启动),还好我在ADB官方下载连接里发现有Mac版本的adb。
后实践
开始动手,原理请参阅完美替换原车导航的方法。下载platform-tools_r28.0.1-darwin.zip后解压并进入目录
cd Downloads/
mv platform-tools p-tools
cd p-tools
# evan @ EvanVivian in ~/Downloads/p-tools [9:44:28]
$ ./adb connect 172.20.10.2
connected to 172.20.10.2:5555
ps -ef|grep adb #查询adb进程
lsof -i:5037 #查询adb进程端口号
./adb devices #查看在线设备
./adb disconnect #断开连接
./adb root #获取root权限
./adb remount #将/system挂载为可读写
./adb push Tools/APK/guanwangV3.2.0.2359_1BB19983DE.apk /sdcard/Download/
./adb shell #进入shell环境
root@wing-k70:/ # cd /sdcard/Download/
root@wing-k70:/sdcard/Download # pm install -r guanwangV3.2.0.2359_1BB19983DE.apk
pkg: guanwangV3.2.0.2359_1BB19983DE.apk
Success
#修改数据库配置
root@wing-k70:/ # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> update system set value='com.autonavi.amapauto' where name='navigation_packagename';
sqlite> update system set value='com.autonavi.auto.MainMapActivity' where name='navigation_classname';
sqlite> update system set value='高德导航' where name='navigation_appname';
sqlite> select * from system where name like 'navi%';
63|navigation_packagename|com.autonavi.amapauto
65|navigation_classname|com.autonavi.auto.MainMapActivity
67|navigation_appname|高德导航
sqlite> .exit
#卸载自带四维图新导航 失败(暂无解决办法)
root@wing-k70:/sdcard # pm uninstall com.mapbar.android.carnavi
Failure
#重启
root@wing-k70:/ # reboot
Done
遇到的问题
# evan @ EvanVivian in ~/Downloads/p-tools [8:53:37]
$ ./adb connect 172.20.10.2
failed to connect to 172.20.10.2:5555
# evan @ EvanVivian in ~/Downloads/p-tools [8:54:40]
$ ./adb shell
error: no devices/emulators found
连接不成功 原因是ADB进程存在
# evan @ EvanVivian in ~ [8:55:39]
$ ps -ef|grep adb
501 61169 1 0 9:31上午 ?? 0:10.80 adb -L tcp:5037 fork-server server --reply-fd 4
501 65115 64841 0 10:51上午 ttys002 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn adb
# evan @ EvanVivian in ~ [8:55:47]
$ cd Downloads/p-tools
# evan @ EvanVivian in ~/Downloads/p-tools [8:56:07]
$ ./adb kill-server
# evan @ EvanVivian in ~/Downloads/p-tools [8:56:12]
$ ps -ef|grep adb
501 65258 64841 0 10:52上午 ttys002 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn adb
如果还不行就重置车机系统