首先本人使用的是ubuntu系统,在Eclipse下开发的时候使用无线调试,在终端直接输入adb connect 114.114.114.114没有问题,给手机安装软件用adb install  ***.apk也没有问题,可能是之前我在终端安装过adb-tools的原因,但是对于其他的命令比如push pull命令一直不能使用总是出现error:device not found。后来查询了些资料,说的是应该使用SDK目录下的platform-tools文件夹里面的adb,相关的使用命令如下:

而像push、pull的命令不需要在shell环境中进行,比如我将/system/build.prop文件复制到PC上:

这样就成功的将build.prop文件复制到我的下载文件夹里面了,当使用push命令将PC上的文件复制到android设备上,你可能需要的问题:

1.提示read-only file system

当使用adb shell时,向/system目录及其子目录写文件时经常提示“read-only file system”。其实产生该提示的原因很简单:/system是以ro模式挂载的,因此我们所要做的就是以读写模式(rw)重新挂载需要修改的目录(本例中为/system),具体流程如下:

1). 进入adb shell并查看当前挂在情况

命令号下输入:adb shell
#mount

这个时刻可以看到当前的挂载情况:

rootfs on / type rootfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=)
devpts on /dev/pts type devpts (rw,relatime,mode=)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=,gid=)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=,gid=)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk0p25 on /system type ext4 (ro,relatime,barrier=1,data=ordered)
/dev/block/mmcblk0p26 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered)
/dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered)
/data/d on /data/d type debugfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
/dev/block/vold/: on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=,gid=,fmask=,dmask=,allow_utime=,codepage=cp437,iocharset=iso8859-,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/: on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=,gid=,fmask=,dmask=,allow_utime=,codepage=cp437,iocharset=iso8859-,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=)

我们感兴趣的就是代码中下划线的部分,可以看到system是以只读权挂载的

2)重新挂载需要修改权限的目录:

#mount -o remount -o rw /system

修改完成之后最后还是将其改成只读权限,只需要将上面的rw改成ro即可。

3)查看修改后的结果

# mount
rootfs on / type rootfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=)
devpts on /dev/pts type devpts (rw,relatime,mode=)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=,gid=)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=,gid=)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk0p25 on /system type ext4 (rw,relatime,barrier=1,data=ordered)
/dev/block/mmcblk0p26 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered)
/dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=,data=ordered)
/data/d on /data/d type debugfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
/dev/block/vold/: on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=,gid=,fmask=,dmask=,allow_utime=,codepage=cp437,iocharset=iso8859-,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/: on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=,gid=,fmask=,dmask=,allow_utime=,codepage=cp437,iocharset=iso8859-,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=)
#

这样就可以尽情的使用push、pull命令。

但是在实际中我的还是提示failed to copy *****,operation denied。具体的原因我不太清除,但是我做了一个折中的解决办法,先将文件push到SD卡上,然后进入shell环境下使用root权限移动到你需要的目录,里面的操作命令和Linux下的shell命令是一样的。

2.使用chmod修改权限提示bad mode,解决办法是使用数字形式的权限:

chmod  build.prop

 3. 在执行mv命令时提示“-cross-device link”

这种情况下,可以使用cat将文件重定向到指定位置,然后根据需要,修改权限即可。

cat /mnt/sdcard/test.apk > /system/app/test.apk

安卓adb调试命令常见的问题的更多相关文章

  1. adb调试命令详解-2016.02.01

    adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息         adb ...

  2. adb 调试命令

    一.抓log 1. cat /proc/kmsg:抓kernel log(串口log) 2. 进入工程模式:adb shell am start -n  com.mediatek.engineermo ...

  3. 【安卓手机通用】android adb shell 命令大全

    浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...

  4. 通过ADB调试安卓程序

    ADB,即 Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具. 1.下载ADB后,将以下四个文件放到某个文件夹下即可.因为打开Cmd默认路径是 C:\Use ...

  5. Android 调试桥 (adb) 是 命令行命令--官方拷贝过来的,留作自己查看

    Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令 ...

  6. 安卓动态调试七种武器之孔雀翎 – Ida Pro

    安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是 ...

  7. adb常用命令(转)

    1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...

  8. 「Android」adb调试源码(针对dumpsys SurfceFlinger、trace.txt获取)

    首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看.以及ANR问题如何获取trace文件并简单分析. -×*********** ...

  9. adb常用命令教程

    1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...

随机推荐

  1. Spinner 通过XML形式绑定数据时 无法从String.xml中读取数组

    在android应用程序中,通过XML形式给Spinner绑定数据,如果把数组放在系统的string.xml文件里,那么就有可能在运行时无法找到,导致程序异常结束,解决方法是自建一个XML文件来存放数 ...

  2. UI线程中非安全操作与安全操作

    ------------------siwuxie095                             工程名:SwingUIThreadSafeTest 包名:com.siwuxie095 ...

  3. 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示

    本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...

  4. android开源项目:图片下载缓存库picasso

    picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能. picasso有如下特性: 在a ...

  5. Netty 线程模型与Reactor 模式

    前言 Netty 的线程模型是基于NIO的Selector 构建的,使用了异步驱动的Reactor 模式来构建的线程模型,可以很好的支持成百上千的 SocketChannel 连接.由于 READ/W ...

  6. MATLAB求解非线性方程组

    matlab中有专门的solve函数来解决方程组的(a-x)^2+(b-y)^2=e^2(C-x)^2+(D-y)^2=v^2已知a,b,c,d,e,v 值求解 X,Y 请问用 matlab 如何写, ...

  7. Linux之shell备份数据库

    功能概述: 使用shell脚本对服务器的数据库(全部或指定数据库)进行备份.对15天(固定天数)之前的数据库备份进行删除 命令实现: 待定

  8. vue -- 打包资源正确引用及背景图引入

    一般情况下,通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的. 但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解 ...

  9. Linux查看系统位数

    查看linux是多少位的几位方法   方法/步骤     方法一:getconf LONG_BIT 在linux终端输入getconf LONG_BIT命令 如果是32位机器,则结果为32 Linux ...

  10. uva10570(枚举基准,贪心)

    uva10570(枚举基准,贪心) 输入一个1至n的排列(n<=500),每次可以交换两个整数,用最小的交换次数把排列变成1至n的一个环状排列. 首先用\(O(n)\)的时间枚举一个排列,接着问 ...