完美解决android /system目录中无法写入文件的问题(adb remount)

本文档详细介绍了如何在Android系统中解决system目录无法写入文件及执行文件的问题。首先,需要解锁DM-verity以允许修改system分区,然后通过ADB命令进行权限调整。在过程中可能遇到文件权限问题,解决方法是删除文件后重新推送,并赋予可执行权限。最终通过adb shell chmod命令确保文件具有执行权限,成功解决了运行模型时的权限错误。
摘要由CSDN通过智能技术生成

#完美解决android /system目录中无法写入文件的问题
##实验环境I.Mix8MP
首先system/:android系统镜像目录,用于生成system.img。
编译android镜像并烧录至I.Mix8MP板子之后。
##1.首先需要连接鼠标,进入system打开开发者模式,之后进入开发者选项后发现oem选项没有打开,说明手机是有锁的。
2. 解锁DM-verity
DM-verity 是Android 系统安全的重要部分,它能保证Android 的 vendor 和 system 镜像文件中的内容是真实可靠的。所以如果打开了DM-verity功能那么如果我们通过fastboot修改android系统的system分区或者vendor分区,那么DM-verity校验时就会出错,因此在fastboot之前需要先将DM-verity解锁。
adb-root
adb reboot bootloader
fastboot devices
fastboot flashing unlock
fastboot reboot(稍等系统重启完毕)
此时发现oem选项已经变灰色了。
adb-root
adb disable-verity
adb reboot
adb root
adb remount可以成功remount /system为读写模式

注意:fastboot 需要安装对应的驱动才可以使用。
2. 这一套命令完成之后之前的所有文件会被清空,所以需要重新拷贝。此外,需要重新操作开启管理员模式。

更新问题,新烧录的安卓系统,oem键位是灰色的。所以直接 执行adb disbale-verity 之后 adb remount 但是system还是显示只读,模式。所以导致模型运行不起来,报错:
C:\Users\nxf76091\Desktop\bitbucket>adb shell /data/local/tmp/benchmark_model-devinjiao --graph=/data/local/tmp/glint360k_cosface_r18_fp16_0_toco_quant.tflite --use_nnapi=true
/system/bin/sh: /data/local/tmp/benchmark_model-devinjiao: can’t execute: Permission denied

解决:尝试 fastboot解锁一下。
还是不行,
解决方法,不是这个问题。真正的原因是没有给benchmark_model-devinjiao相应的可执行权限。
但其实真正坑的地方在于,已经在链接板子的终端里面加了可执行权限,但是不行。
解决方法,删除benchmark_model-devinjiao文件,重新adb push。之后通过adb adb shell chmod +x /data/local/tmp/benchmark_model-devinjiao 来增加可执行权限。。。。。问题解决
所有命令尽量通过adb shll 解决,不然的话,各种奇怪的错误,深坑。。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值