记一次修手机的过程

记一次修手机的过程,附Google Pixel2拆机过程,附按键修改设置-_-|||

0x01 手机坏了

前段时间,不知道怎么回事,手头测试机的开机键突然坏了,按压无反馈。幸好adb还能用,一直连着电脑用命令唤起屏幕倒也没什么不方便,这里放几条常用的命令:

  • 唤醒屏幕

    adb shell input keyevent 26
    
  • home键

    adb shell input keyevent 3
    
  • back键

    adb shell input keyevent 4
    

    完整的按键事件可以参考:https://developer.android.com/reference/android/view/KeyEvent

  • 输入(省得电脑手机切换)

    adb shell input text "XXX"
    
  • 点按

    adb shell input tap x y
    

    这里需要输入屏幕坐标,左上角是(0,0),向右向下增大,右下角是屏幕分辨率的值,比如我的屏幕分辨率是1080x1920,那么右下角就是(1080,1920),其余位置大概估一下就差不多

  • 查看屏幕分辨率

    adb shell wm size
    
  • 滑动

    adb shell input swipe x1 y1 x2 y2
    

    这里也是需要输入两个坐标,滑动的起始点(x1,y1)和终点(x2,y2),也是大概估一下就行

日子本来这样相安无事的过着,手机也就姑且这么用着,直到几周后的某一天,我忘了给手机充电…

然后就尴尬了,电源键按不动,按不动手机就开不开机,开不开机连着电脑adb就没法识别,没法识别我就没法把手机开机,死循环了。

0x02 拆手机

我的猜测是电源键卡住或者哪儿排线松了,上网搜了下拆机教程,嗯,屏幕外没有螺丝,屏内一圈胶,只有中间一根排线,里面是金属框,卸掉应该就可以看到电源键的排线了,应该是比较简单的。

于是下班后,找了个手机维修点,找师傅给我拆屏幕。

——“手机怎么了?”

——“电源键坏了,开不开机。”

——“什么型号啊?”

——“Google Pixel2。”

——“没听过,我这儿没配件,怕是修不了。”

——“不用您修,手机没坏,您就给我把屏幕拆下来就行了。”

——“这手机没拆过啊…”

——“很简单,你看我给你找拆机视频。”

——“…那咱们可事先说好,我给你拆,不收钱,但是要是拆坏了你也别找我赔。”

——“好…(你小心点)”

于是师傅开始放手干了,过程很快,先把手机稍微烤一下,然后拿撬棒沿着边缘一点点把屏幕剥开。因为很多胶,师傅拿着刀片来回划。

——“你小心点。”

——“我小心点手,还是小心手机?”

——“手…(其实手机也还很贵)”

屏幕的排线有两个螺丝固定,屏幕下来之后,开始拆中框,一共有12颗螺丝,顶部中间有一颗隐藏螺丝,中框下来之后就可以看到电源的排线了。果然不是排线的问题,是电源按键的脚断了,所以陷进去卡住。

——“这个配件国内换不了。”

——“那有什么办法修吗?”

——“可以拿个东西粘一下,但是估计按几次还是会坏。”

——“那师傅您别给我装回去了,我就这样用吧。”

——“…”

——“可以开机就能用。”

——“…那你小心别再磕着了”

——“嗯!”

——“下次再关机,直接重新装下电源排线就行。”

——“好勒!”

于是,我就拎了一袋螺丝,一个手机里面拆下来的板,和一个屏幕机身分离的手机开开心心回家了。

师傅拆手机的时候没有拍照,发一个最后的图吧。

记一次修手机的过程_第1张图片

附一个拆机教程:https://3g.163.com/v/video/VX0OTG5GL.html

0x03 换按键

因为开机键毕竟是坏了,总是把屏幕拆啊拆的也不是个事儿,还总担心把屏幕的排线弄断了,搜了一下果然可以自己设置各个按键功能,参考谷歌的官方文档按键布局文件。

按键布局文件由 USB 供应商、产品(可能还包括版本)ID 或输入设备名称来确定位置。

系统会依次查询指定目录确定各按键的功能,而我们要改的常规按键布局文件位于/system/usr/keylayout/目录下,名为Generic.kl,是一个纯文本文件,每一行是一句声明,包含关键字key,然后一个按键代码编号,和具体的按键代码名称。

修改操作非常简单,找到开关机键POWER,然后跟音量加键换个位置就好了,如图

记一次修手机的过程_第2张图片
注意因为涉及到系统配置文件,需要root权限,然后重新挂载一下系统路径修改读写权限,命令是

// 挂载为可写
mount -o remount,rw /system
// 恢复为只读
mount -o remount,ro /system

测试一下,果然没问题了!


今天是七夕,非常开心,因为———不用赔公司钱啦!

你可能感兴趣的:(android逆向,Pixel2拆机,adb命令,按键设置)