
adb root 获取 root 权限。
adb sideload
adb shell ps 打印进程状态。
adb shell top 展现上层 CPU 进程信息。
adb shell getprop 获取 Android 系统服务属性
adb shell setprop 设置服务属性。
adb shell dumpsys 获取系统数据。
adb logcat 打印日志文件
adb shell ip 主要用于显示一些数据
adb shell netstat 主要用于网络统计。
adb shell ping 没啥好说的,和 PC 的 ping 命令一样的。
adb shell netcfg 通过配置文件配置和管理网络连接。
adb shell cp 字面意思,很好理解,复制。
adb shell pwd 定位当前的 *** 作位置
adb shell mv 移动或者更名文件
adb shell mkdir 创建一个文件夹
adb shell rm 删除文件或者目录
adb shell ls 列出目录内容。
adb shell pm clear 清除应用缓存。
adb shell pm path 打印 apk 的路径。
adb usb 设置设备以 USB 形式连接 PC
adb kill-server 终止 adb 进程。
adb forward 端口映射,将 PC 端的某端口数据重定向到手机端的一个端口。
adb devices 主要是用于打印当前连接的所有模拟器或者设备。
shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes &按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
第一步:启动开发板,进入android系统后,在linux终端输入lsusb命令查询USB总线上的设备,第二步:下载最新的android SDK并解压到某目录,第三步:修改~/.android/adb_usb.ini文件,注意,这时为root模式下的路径,在普通权限下,是不存在该目录的,第四步:创建一个新的udev规则的文件,在/etc/udev/rules.d路径下,新建名为imx-android.rules的文件,第五步在/etc/bash.bashrc中声明adb的路径,重启,然后查找Ubuntu下adb的使用及常见问题处理 方案一:使用ubuntu系统自带的安装包 sudo apt-get install android-tools-adb 或者 sudo apt-get install adb 方案二:使用Android源码编译生成的adb文件 Android源码编译完成之后,会在编译过的项目目录下./out/host/linux-x86/bin/生成adb文件,需要将其拷贝到系统的/usr/bin目录下,并更改权限。 sudo cp /home/apuser/code/out/host/linux-x86/bin/adb /usr/bin sudo chmod a+x /usr/bin/adb 说明:这个adb文件也可以在android-sdk-linux下的platform-tools目录下找到。 在终端运行 adb help或者adb查看adb是否安装成功。 adb help 或者 adb 正常情况下,可看到adb的版本信息,以及adb支持的相关指令和说明。 mkdir~/.android echo 0x1782 >~/.android/adb_usb.ini 可以查看/home/apuser/.android/adb_usb.ini是否生成成功,且内容为0x1782 这个0x1782是设备的VID号,可以使用lsusb指令查询自己设备的VID号是多少,如果是调试多个设备,可依次将设备的VID号添加到adb_usb.ini中 备注:展讯为0x1782,MTK为0x0e8d,高通为0x056c 到:/etc/udev/rules.d/51-android.rules命令: cd /etc/udev/rules.d sudo gedit/etc/udev/rules.d/51-android.rules 添加 SUBSYSTEM=="usb",SYSFS{idVendor}=="1782", MODE="0666",GROUP="plugdev" 其中 1782 为展讯设备号,也可以通过lsusb 来查看所有 usb 设备。 说明: 1、展讯的设备号是1782,MTK的设备号是0e8d,高通660的设备号是056c, 其他平台的可查找确认后,填写到这里。 2、如果没有/etc/udev/rules.d/51-android.rules 文件,需要自己创建一下。 3、修改/etc/udev/rules.d/51-android.rules不需要重启Linux机器,重新插拔一下设备就可以了。再次运行adb devices就可以看到你的设备已经连接。 在命令窗口执行adb shelladb devices 可以shell登录手机,也可以出 log, logcate 具体命令还需要学习。 使用上文的步骤 *** 作之后,大多数系统里adb都可以使用,但在有些版本的adb或者系统中仍会报如下问题: apuser@ubuntu2:~/adbtools$ adb devices List of devices attached faf80ac1 no permissions (user in plugdev groupareyour udev rules wrong?)see [http://developer.android.com/tools/device.html] 可使用一下解决方案,进行解决 解决方案:setp 1: lsusb 找到你手机的usb 地址apuser@ ubuntu2:~/adbtools$ lsusb Bus 002 Device 002: ID 1f75:0621 Innostor Technology Corporation Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 0bda:58db Realtek Semiconductor Corp. Bus 001 Device 005: ID 8087:0a2b Intel Corp. Bus 001 Device 004: ID 138a:0097 Validity Sensors, Inc. Bus 001 Device 003: ID18f8:0f99 Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMA Technologies MSM Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 他会列出来所有的usb 设备。如果试下找不到,那么拔掉设备看下,哪了没有了就是哪个。setp2: 配置规则文件apuser@ ubuntu2:~/adbtools$ sudo gedit /etc/udev/rules.d/51-android.rules [sudo] password for apuser: 之后把这些文本copy 到编辑器里面: ATTR{idProduct}=="ffb0",SYMLINK+="android_adb", MODE="0660",GROUP="plugdev", TAG+="uaccess", SYMLINK+="android" 注意:ffb0 是查找到的手机设备的usb 的地址。 Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMATechnologies MSM 改成你的地址。 如果没有/etc/udev/rules.d/51-android.rules 文件,麻烦自己创建一下。setp3: 之后执行命令:apuser@ ubuntu2:~/adbtools$ sudo usermod -a -G plugdev $(id -u -n) apuser@ ubuntu2:~/adbtools$ sudo udevadm control --reload-rules apuser@ ubuntu2:~/adbtools$ sudo service udev restart apuser@ ubuntu2:~/adbtools$ sudo udevadm triggersetp4: 之后重启adbapuser@ ubuntu2:~/adbtools$ adb kill-server apuser@ ubuntu2:~/adbtools$ adb start-server apuser@ ubuntu2:~/adbtools$ adb devices List of devices attached faf80ac1 unauthorized apuser @ ubuntu2:~$adb devices List of devices attached ???????????? no permissions 提示很明确,就是adb权限有问题,而且 ???????????? no permissions 这样的提示,说明使用的adb版本较低,最好使用高版本的adb,安装Ubuntu系统自带的adb可能会出现这种现象。如果adb版本比较高,就会出现如下提示: faf80ac1no permissions…… 使用adb shell 也会提示权限error apuser@ ubuntu2:~$adb shell error:insufficient permissions for device根本原因是: adb server 需要以 root 的权限启动 临时方法 如下: apuser@ubuntu2:~$sudo -s [sudo]password for apuser: root@ ubuntu2:~#adb kill-serveradb start-server * daemon not running. starting it now * * daemon started successfully * apuser@ ubuntu2:~# exit apuser @ ubuntu2:~$ 再次执行adb shell就可以了。 该权限问题,可使用sudo启动adb来解决,但不是根本解决之道,因为每次都要sudo来提高权限,太麻烦,而且如果使用的eclpse,或者idle来调试时还是要面对该该问题。 最好按本文第一部分的方法安装adb。如果按本文第一部分安装了adb,但还出现改问题,可使用which adb查看,当前使用的adb那个路径下的adb.以确保使用正确的adb 3、如果需要调试多个设备,以下的添加方法可能更为合适 这个方案对于不出现user in plugdev groupare your udev rules wrong?问题的系统来说是可行,的,如果出现user in plugdev groupare your udev rules wrong?问题,就不用考虑了。 清空51-android.rules,添加如下一行,一劳永逸(需要测试好几种设备,每次都添加一个会很麻烦)。SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666", GROUP="plugdev" 我并不是很清楚具体的含义,只是模仿10-vboxdrv.rules来写的,这个是virtualbox的udev规则文件,因为名字开头数字大文件中记录的规则会覆盖名字开头数字小的文件中的规则,所以你需要尽可能设置的文件名大一些,51已经够用了(我原来想写在10-vboxdrv.rules,让他们用一个文件,但是失败了) adb kill-server sudo udevadmcontrol --reload-rules sudo service udevrestart sudo udevadmtrigger lsusb 可将这些指令写入一个sh脚本中,配置完规则,或者要检查USB设备时,直接执行该脚本,以提高效率。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)