我们先来看看 Android 的概念:
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
既然 Android 基于 Linux,那么 Linux shell 命令在 Android 里大都也是适用的。所有以“adb shell”开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境,然后在目标设备的Linux Shell中再执行“adb shell”之后的命令。如adb shell dumpsys activity,可以先执行adb shell,然后再Linux Shell中再执行dumpsys activity。
Adb提供了shell来在模拟器或手机上运行各种各样的命令,这些命令的二进制形式存在于这个路径中:
/system/bin/...
无论是否进入 adb 远程shell,都可以使用 shell 命令来执。在未进入远程shell的情况下可以按下述格式执行单条命令:
adb [-d|-e|-s {<serialNumber>}] shell <shellCommand>
启动远程shell使用下面的格式:
adb [-d|-e|-s {<serialNumber>}] shell
退出远程shell时使用 CTRL+D 或 exit 终止会话。
一些比较常见的 shell 命令:
adb shell
这个命令将登录设备的shell。进入目标设备的Linux Shell环境,在该环境中可以执行一些Linux命令。如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程。在Linux Shell环境中执行exit可以退出Linux Shell环境。adb shell <command命令>
后面加<command命令>将是直接运行设备命令,相当于执行远程命令。ls
查看目录date
打印或设置当前系统时间cat /proc/meminfo
查看内存信息cat /proc/cpuinfo
查看CPU信息adb shell dumpsys activity
列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息。adb shell dumpsys packages
列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息都非常详细,包括Features,Activity Resolver Table等。adb shell pm list permissions
列出目标平台上的所有权限adb shell pm list packages
列出目标设备上安装的所有app的包名adb shell pm list features
列出目标设备上的所有featurels
查看目录ls
查看目录1. 删除应用
Android没有提供一个卸载应用的命令,需要自己手动删除:
cd /data/app rm nowamagic.apk
2. 删除Android系统Rom自带的软件
确定手机root了,取得了root权限才能删除系统文件。下载Android_db.rar,解压到%windir/%System32下。手机连接数据线,在电脑上打开cmd,然后输入命令:
adb remount adb shell su
执行完成之后,你会看到:
* daemon not running. starting it now * * daemon started successfully *
接着就是Linux命令行模式了,输入:
cd system/app
然后输入ls回车,这时候列表显示了system/app里面的所有文件,也就是Rom集成的一些软件了。
比如删除Youtube,他的文件名是Youtube.odex和Youtube.apk,我们要删除这2个文件,敲入以下命令:
rm Youtube.*
重启,Youtube已经删除掉了。
3. sqlite3 adb命令
进入数据库的两种方式:
第一种:sqlite3 nowamagic.db
第二种:
adb shell sqlite3
4. 使用adb命令启动一个Activity
adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY # example adb shell am start -n net.nowamagic.example/.MainActivity adb shell am start -n net.nowamagic.example/net.nowamagic.example.MainActivity
5. 屏幕截图, 并使用perl命令保存截图
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
6. 快速删除目录(文件夹)
如果程序在sd卡上创建了目录MyApp,在该目录中有数据库和一些其他文件,在将程序发布到手机上测试时, 需要删除原来创建的目录再重新创建.这时只需要执行以下命令:
adb shell cd /mnt/sdcard rm -r MyApp
这样的话就不必再在文件浏览器中寻找这个目录并删除它。
现代魔法 推荐于 2013-02-27 10:23