安卓adb调试命令常见的问题
2015-07-02 10:11
330 查看
首先本人使用的是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并查看当前挂在情况
这个时刻可以看到当前的挂载情况:
我们感兴趣的就是代码中下划线的部分,可以看到system是以只读权挂载的
2)重新挂载需要修改权限的目录:
修改完成之后最后还是将其改成只读权限,只需要将上面的rw改成ro即可。
3)查看修改后的结果
这样就可以尽情的使用push、pull命令。
但是在实际中我的还是提示failed to copy *****,operation denied。具体的原因我不太清除,但是我做了一个折中的解决办法,先将文件push到SD卡上,然后进入shell环境下使用root权限移动到你需要的目录,里面的操作命令和Linux下的shell命令是一样的。
2.使用chmod修改权限提示bad mode,解决办法是使用数字形式的权限:
3. 在执行mv命令时提示“-cross-device link”
这种情况下,可以使用cat将文件重定向到指定位置,然后根据需要,修改权限即可。
而像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=755) devpts on /dev/pts type devpts (rw,relatime,mode=600) 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=755,gid=1000) tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000) 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=1,data=ordered,noauto_da_alloc) /dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered) /dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=1,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/179:65 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/vold/179:65 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)
我们感兴趣的就是代码中下划线的部分,可以看到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=755) devpts on /dev/pts type devpts (rw,relatime,mode=600) 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=755,gid=1000) tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000) 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=1,data=ordered,noauto_da_alloc) /dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered) /dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=1,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/179:65 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/vold/179:65 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000) #
这样就可以尽情的使用push、pull命令。
但是在实际中我的还是提示failed to copy *****,operation denied。具体的原因我不太清除,但是我做了一个折中的解决办法,先将文件push到SD卡上,然后进入shell环境下使用root权限移动到你需要的目录,里面的操作命令和Linux下的shell命令是一样的。
2.使用chmod修改权限提示bad mode,解决办法是使用数字形式的权限:
chmod 755 build.prop
3. 在执行mv命令时提示“-cross-device link”
这种情况下,可以使用cat将文件重定向到指定位置,然后根据需要,修改权限即可。
cat /mnt/sdcard/test.apk > /system/app/test.apk
相关文章推荐
- 重踏学习Java路上_Day15(对象数组,集合类,列表)
- 正则表达式
- mvc表单Form提交 --实体
- java总结之 : ++i和i++的区别
- 6月国内操作系统市场份额:XP份额跌破40% 降幅增大
- 基于本体的自动问答系统
- 微信团队禁了朋友圈的测试帖
- Android Studio插件之Android Layout ID Converter教程
- C语言中关于错误输出的函数
- VK Cup 2012 Qualification Round 1 C. Cd and pwd commands 模拟
- Android百度地图导航部分报JNI相关错误
- 40 个超棒的免费 Bootstrap HTML5 网站模板
- 【c语言】模拟实现库函数strcpy函数
- zendframework源码浅析之Zend_Loader
- ASP.NET MVC 基础入门
- LintCode 用递归打印数字
- linux内核 asmlinkage宏
- 【c语言】实现一个函数,求字符串的长度,不允许创建第三方变量
- Android Studio 快捷键
- JavaScript实现动态添加,删除行的方法实例详解