xiongyihui / notes

Notes
https://xiongyihui.github.io/notes/
3 stars 0 forks source link

拯救屏幕触摸坏了的Android手机 #11

Open xiongyihui opened 6 years ago

xiongyihui commented 6 years ago

几年前二手买了Nexus 4,本来用来折腾Ubuntu Touch,如今Ubuntu Touch已经挂掉,这个Nexus 4的屏幕也碎了并且触摸坏了,而Nexus 4还不完整支持USB OTG。Nexus 4的USB不支持给USB外设供电,OTG功能也需要内核打补丁才能开启。

如果能开启USB OTG功能,那通过USB外接个鼠标,手机也就可以用了,但XDA论坛上文档中的内核补丁更新包尝试了好几次都没有下载下来。

于是尝试用ADB控制手机。由于Android在4.4(?)之后,开启USB调试需要在手机上确认,触摸屏坏了也就没法确认了,需要想办法绕过这一点。

还好Android可以替换recovery,而TWRP刚好是个功能很强大的recovery,可以不用触摸屏幕完成文件拷贝、刷机等功能。在TWRP上下载Nexus 4的recovery,然后通过TWRP的Commandline把Android的ADB开启,并且把PC上的~/.android/adbkey.pub上传到Android上。 TWRP支持ADB,运行TWRP命令如下:

adb shell twrp remountrw
adb push file.zip /sdcard
adb shell twrp install /sdcard/file.zip

配置ADB,可以参考 https://gist.github.com/varhub/7b9555cdd1e5ad785ffde2300fcfd0bd

ADB正常工作后,可以把Android屏幕投射到电脑端,可以借助Android Screen Monitorscreen copy.

image

也可以用ADB完成一些自动化任务,比如自动手机签到,下面是一些ADB控制命令:

adb shell input keyevent KEYCODE_WAKEUP           # 唤醒屏幕
adb shell input touchscreen swipe 930 880 930 380  # 模拟上滑解锁,从(930, 880)滑到(930, 380)

# get current activity name
# adb shell dumpsys window windows | grep 'mCurrentFocus'
sleep 1
adb shell am start -n xyz.activity.name

# kill app
adb shell am force-stop xyz.package.name

adb shell input tap 739 2000          # 模拟屏幕点击

adb shell input keyevent POWER  # 模拟按电源键熄灭屏幕
zacliuc commented 5 years ago

请问OPPO r7s的recovery要去哪里下载?我这架手机屏幕坏了但是我想取出里面的照片。

xiongyihui commented 5 years ago

你看看 https://twrp.me/Devices/Oppo/ 上面的 r7sf 是不是

如果只是触摸坏了,还可以显示的话,可以用usb otg外接鼠标操作

zacliuc commented 5 years ago

你看看 https://twrp.me/Devices/Oppo/ 上面的 r7sf 是不是

如果只是触摸坏了,还可以显示的话,可以用usb otg外接鼠标操作

显示也坏了哈哈

youngfisher commented 4 years ago

你看看 https://twrp.me/Devices/Oppo/ 上面的 r7sf 是不是

如果只是触摸坏了,还可以显示的话,可以用usb otg外接鼠标操作

了解一下恶心的华为手机,默认关闭otg

楼主的内容正好符合我的问题,试试能不能成功

super-keys commented 3 years ago

手机屏幕坏了, adb无法授权.. 悲剧了. 还有救吗? adb devices List of devices attached FA71L0304234 unauthorized