安卓adb调试命令常见的问题
首先本人使用的是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调试命令常见的问题的更多相关文章
- adb调试命令详解-2016.02.01
adb(Android Debug Bridge),调试桥可以让设备的调试监测过程在远端进行,而不必在运行实际运行应用的设备上,方便调试的输出. 1 命令详解 a 查看帮助信息 adb ...
- adb 调试命令
一.抓log 1. cat /proc/kmsg:抓kernel log(串口log) 2. 进入工程模式:adb shell am start -n com.mediatek.engineermo ...
- 【安卓手机通用】android adb shell 命令大全
浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...
- 通过ADB调试安卓程序
ADB,即 Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具. 1.下载ADB后,将以下四个文件放到某个文件夹下即可.因为打开Cmd默认路径是 C:\Use ...
- Android 调试桥 (adb) 是 命令行命令--官方拷贝过来的,留作自己查看
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令 ...
- 安卓动态调试七种武器之孔雀翎 – Ida Pro
安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是 ...
- adb常用命令(转)
1.Android Debug Bridge -adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文件 ...
- 「Android」adb调试源码(针对dumpsys SurfceFlinger、trace.txt获取)
首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看.以及ANR问题如何获取trace文件并简单分析. -×*********** ...
- adb常用命令教程
1.Android Debug Bridge - adb常用命令 1.1简介 Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-tools文 ...
随机推荐
- Spinner 通过XML形式绑定数据时 无法从String.xml中读取数组
在android应用程序中,通过XML形式给Spinner绑定数据,如果把数组放在系统的string.xml文件里,那么就有可能在运行时无法找到,导致程序异常结束,解决方法是自建一个XML文件来存放数 ...
- UI线程中非安全操作与安全操作
------------------siwuxie095 工程名:SwingUIThreadSafeTest 包名:com.siwuxie095 ...
- 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- android开源项目:图片下载缓存库picasso
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能. picasso有如下特性: 在a ...
- Netty 线程模型与Reactor 模式
前言 Netty 的线程模型是基于NIO的Selector 构建的,使用了异步驱动的Reactor 模式来构建的线程模型,可以很好的支持成百上千的 SocketChannel 连接.由于 READ/W ...
- 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 如何写, ...
- Linux之shell备份数据库
功能概述: 使用shell脚本对服务器的数据库(全部或指定数据库)进行备份.对15天(固定天数)之前的数据库备份进行删除 命令实现: 待定
- vue -- 打包资源正确引用及背景图引入
一般情况下,通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的. 但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解 ...
- Linux查看系统位数
查看linux是多少位的几位方法 方法/步骤 方法一:getconf LONG_BIT 在linux终端输入getconf LONG_BIT命令 如果是32位机器,则结果为32 Linux ...
- uva10570(枚举基准,贪心)
uva10570(枚举基准,贪心) 输入一个1至n的排列(n<=500),每次可以交换两个整数,用最小的交换次数把排列变成1至n的一个环状排列. 首先用\(O(n)\)的时间枚举一个排列,接着问 ...