首页 > 代码库 > adb remount 失败:remount failed: Operation not permitted

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了
 
 
参考文章http://blog.sina.com.cn/s/blog_4ba5b45e0102ek4k.html
在进行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设备,否则有可能导致数据丢失。
 
 
 
 

 

 


 
 

adb remount 失败:remount failed: Operation not permitted