adb remount 失败:remount failed: Operation not permitted

时间:2023-03-08 17:48:48
adb remount 失败:remount failed: Operation not permitted

adb remount 失败:remount failed: Operation not permitted

关于ADB的使用,这里再说明下:经常使用命令

adb shell - 登录设备shell,后面也可直接跟执行命令。如:adb shell rm -r /system/sd/app

adb pull - 从手机中下载文件到电脑上。如:adb pull /data/app_s/Stock.apk C:\\Stock.apk

adb push - 从电脑中上传文件到手机上。

如:adb push C:\\Stock.apk /data/app_s/Stock.apk

adb install - 安装软件到手机上。

如:adb install C:\\apps2sd.apk

adb uninstall - 卸载手机上的软件。

如:adb uninstall linda.apk

抓取系统Log信息:

adb  logcat    >  d:\log.txt  这样就将系统信息下载到本地D盘文件夹下

假设是调试3G 模块,就须要这样组合用

adb logcat  -b radio -b main -b system  -v time  d:/log.txt 来抓取log信息

等待adb 设备

adb wait-for-device          - block until device is online

使用adb  root 权限

adb root                     - restarts adb with root permissions

使用
adb  push  pc中桌面驱动文件*.ko  /vendor/modules/
之后强制文件系统回写到nandflash中,以免断电掉失
adb  sync
 
在使用adb remount  又一次打开android 设备写模式。即刷机模式时,遇到问题:remount failed: Operation not permitted
 
使用了以下文章的方法,还是没实用,最后发现问题的根源所在: 编译的系统是user版本号,故不能使用该命令,make clean 之后编译release版本号就OK了
在进行android源代码调试的时候,假设仅仅是更改了某个文件夹下的某个文件的话。那么没有必要又一次编译整个系统,仅仅须要看看你改动的文件文件夹下的Android.mk,

看其生成的是什么so库,那么利用android的mm命令就能够模块编译了。

在mm之前。须要导入env

$ source build/envsetup.sh

$ lunch

$ mm

那么自然会在out的对应文件夹下生成指定的so库,接着须要将其push到系统的/system/lib文件夹。假设你的板子能够adb remount的话,自然没有问题,那么,假设出现

remount failed: Operation not permitted ,怎么办呢?


1. 确定是否正确连接手机了

$ adb devices

2. 进入shell

$ adb shell

3. shell中输入命令(命令最前面的$和#号不用输入)

$ su 

# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system 

# chmod 777 /system

# chmod 777 /system/lib 

# exit

4. 然后你就有系统system文件夹的读写权限了,比如你就能够使用adb push 把文件push到系统文件夹中去了。或者删除系统文件。

注意,假设你将so库push到/system/lib文件夹下,你是须要重新启动才干生效的,此外,假设是断电重新启动的话。则最好执行一下sync的命令,强制文件系统回写到nand
flash设备,否则有可能导致数据丢失。