Android adb remount failed处理及Read-only file system处理(Android O)

我们在调试工作中,常常会使用adb pull/push来获取或替换设备中的一些文件。

1. 在使用pull/push前需要先执行:

# adb root
# adb remount

在Android N及之前的版本,是ok的,但是在Android O上会提示remount失败:

# adb remount
remount of / failed: Permission denied
remount failed

2. 为处理remount failed,需要执行:

# adb disable-verity
Verity disabled on /
Now reboot your device for settings to take effect

# adb reboot

如果你的adb版本没有disable-verity命令怎么办?你想到可能是更新adb版本,除此之外,你可以看下代码的out目录:out/host/linux-x86/bin/下是不是有adb,用它就行了~

然后在执行1中命令就行了。

3. 在调试wifi射频时,常常需要替换firmware,比如wifi的firmware是/firmware/image/bdwlan.bin,我们在执行了1,2步骤后,进行替换时,提示:

adb push bdwlan.bin /firmware/image/
failed to copy 'bdwlan.bin' to '/firmware/image//bdwlan.bin': couldn't create file: Read-only file system

只读文件系统,操作失败。

怎么办,替换不了,难道要编译个版本吗?太耗时了吧!!

不要着急,我们重新挂载一下该分区,并赋予读写权限

# adb shell mount /firmware -o rw,remount

就OK啦。

在替换时

adb push bdwlan.bin /firmware/image/
245 KB/s (19152 bytes in 0.076s)

成功。

所以,替换firmware文件,完整的操作:

# adb root
# adb disable-verity
# adb reboot
# adb root
# adb remount
# adb shell mount /firmware -o rw,remount
# adb push ...

猜你喜欢

转载自blog.csdn.net/h784707460/article/details/79938160