Android 的独特shell命令
Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了,
主要介绍几个Android特有的。
getprop 返回Android的所有系统属性。
getevent 打印所有的键盘和触摸事件
logcat 输出日志
printenv 系统环境变量
am 运行start/broadcast/instrument(instrument可以运行自动化测试代码,其它的还没有试过)
# Android模拟器启动命令模式
在android-sdk-windows-1.1 ools执行emulator以执行模拟器
加上-skin参数,指定显示模式HVGA-L,即可改为横向
emulator - skin HVGA-L (480*320,水平显示)
emulator - skin HVGA-L (320*480,垂直显示,模拟器预设模式)
emulator - skin HVGA-L (320*240,水平显示)
emulator - skin HVGA-L (240*320,垂直显示)
# 使用mksdcard指令模拟1GB的记忆卡
mksdcard 1024M sacard.img
# 模拟插入sd卡的模拟器
emulator - sdcard sdcard.img
# 使用 adb+push 上传文件SD记忆卡
adb push 001.jpg /sdcard (复制文件到/sdcard目录下)
adb push pictures /sdcard
adb push mp3 /sdcard
adb shell (Android 模拟器启动命令模式)
#cd /sdcard (进入 /sdcard 目录)
#ls (查看 SD 记忆卡中的档案)
# 使用 adb+pull 从sdcard卡下载文件
adb pull /sdcard/001.jpg . (下载 /sdcard 目录下的档案)
adb pull /sdcard/pictures . (下载 sdcard 目录下的 pictures 目录)
# 删除 SD 卡里面的档案
adb shell
#cd /sdcard
#rm 001.jpg (删除 SD 记忆卡里的档案)
#rm -r * (删除 SD 记忆卡里所有档案与目录)
# Android仿真器影片播放方法
mksdcard 4096M video.img (制作一个图像文件的 SD 记忆卡)
adb push video.avi /sdcard (从计算机复制图像文件到 SD 卡中)
emulator -sdcard video.img (启动模拟器并载入SD卡)
adb install iiivpa.apk (安装Meridian Video Player)
接下来就可以用装上去的player播放.mp4、3gp与.wmv三种文件格式
# 安装 APK 应用程序
adb install filename.apk (安装filename.apk)
adb install -r filename.apk (保留已设定数据,重新安装filename.apk)
adb -s emulator-5554 install filename.apk (指定安装 APK 套件在 5554 的 Android 仿真器中)
# 移除 APK 应用程序
adb uninstall package
adb uninstall -k package (移除程序时,保留数据)
此package名称不是安装APK套装时的文件名或显示在仿真器中的应用程序名称
可以先到/data/data或data/app目录下,查询想移除的package名称
adb shell
ls /data/data 或 /data/app (查询package名称)
exit
adb uninstall package (移除查询到的 Package)
$adb devices (显示目前有多少个仿真器正在执行)
$adb -s (指定模拟器来操作操作)
adb -s emulator-5554 install email.apk
$adb install apkfile (安装 APK 应用程序)
adb install email.apk
$adb uninstall package (移除 APK 应用程序)
adb uninstall com.android.email
$adb shell (进入android shell命令模式)
$ls
$dmesg (查看 Android Linux Kernel 运行信息)
ls - 显示文件目录
cd - 进入目录
rm - 删除文件
mv - 移动文件
mkdir - 产生目录
rmdir - 删除目录
$adb push (复制文件到 SD 卡)
adb push mp3 /sdcard
$adb pull . (从Android 系统下载文件)
adb pull /data/app/com.android.email
$adb logcat (监控模拟器运作记录,以Ctrl + c离开监控模式)
$adb bugreport (产生adb出错报告)
$adb get-state (获得adb模拟器工作状态)
$adb start-server (启动adb服务器)
$adb kill-server (关掉adb服务器)
$adb forward tcp:6100 tcp:7100 (更改模拟器通讯网路)
$adb shell ps -x (显示android模拟器上所有在执行的进程)
$adb version (显示 adb 版本)
$adb help (显示 adb 指令参数)
5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
6、查看bug报告:
adb bugreport
7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
8、获取设备的ID和序列号:
adb get-product
adb get-serialno
9、访问数据库SQLite3
adb shell
sqlite3
# Emulator 命令行启动参数
emulator -timezone Asia/Taipei (指定时区)
emulator -no-boo-anim (省略开机小机器人启动画面)
emulator -scale auto (调整模拟器视窗大小)
emulator - scale factor (factor: 0.1-3.0)
emulator -dpi-device 300 (更改仿真器的分辨率,default为 165dpi)
emulator -skin (更改模拟器显示模式)
emulator -help-keys (显示键盘快速说明)
emulator -shell (相当于adb shell 功能)
emulator -data data.img (使 /data 目录使用 data.img 的文件空间)
emulator -sdcard sdcard.img (使 /sdcard 目录使用 sdcard.img 的文档空间)
emulator -cache cache.img (浏览器暂存空间)
emulator -wipe-data (使模拟器恢复到原始设置)
emulator -help (显示 emulator 指令参数)
Using SQLite from Shell in Android
命令模式下
#ls 查看即可
其他:
1. Android支持的linux command不多,在/system/bin下面可以找到,其中大部分都是Android的工具,只有一小部分是linux原有的命令
2. 一些常用的Android命令(这里只总结Android中特有的,其他的linux命令资料就很多了)
a)getprop/watchprops
getprop列出系统的属性,前面十名字,后面是值
# getprop
getprop
[ro.secure]: [0]
[ro.allow.mock.location]: [1]
[ro.debuggable]: [1]
[persist.service.adb.enable]: [1]
[ro.kernel.qemu]: [1]
[ro.kernel.console]: [ttyS0]
[ro.kernel.android.checkjni]: [1]
[ro.kernel.android.qemud]: [ttyS1]
[ro.kernel.android.ndns]: [1]
[ro.factorytest]: [0]
[ro.serialno]: []
watchprosp动态监视这些属性的变化,比如我修改系统的语言为中文,就会打印出:
# watchprops
watchprops
1269420653 persist.sys.language = 'zh'
1269420653 persist.sys.language = 'CN'
b) wipe <system|data|all>
wipe表示清除模拟器或者真机上的数据,比如你的模拟器用了很久,装了很多软件就可以用这个来清除
system表示清除 /system下的数据
data表述清除 /data 下的数据
c) am
usage: am [subcommand] [options]
start an Activity: am start [-D] <INTENT>
-D: enable debugging
send a broadcast Intent: am broadcast <INTENT>
start an Instrumentation: am instrument [flags] <COMPONENT>
-r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
-e <NAME> <VALUE>: set argument <NAME> to <VALUE>
-p <FILE>: write profiling data to <FILE>
-w: wait for instrumentation to finish before returning
start profiling: am profile <PROCESS> start <FILE>
stop profiling: am profile <PROCESS> stop
<INTENT> specifications include these flags:
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>] [-f <FLAGS>] [<URI>]
am是管理activity的工具,主要有4种用法
am start/stop <INTENT> 表示启动或者停止一个activity,INTENT的参数可以在AndroidManifest.xml中的intent-filter中找到
比如我要打开发送邮件的activity就可以这样写
# am start -a android.intent.action.SEND_MULTIPLE
am start和StartActivity方法是一个作用
am也可以发送一个broadcast,后面的INTENT和上面同
除此之外还可以 start profiling和Instrumentation,这两个还不知怎么用,欢迎大家补充
d)pm
pm就是package manager,可以带下面的参数,因为帮助都说的很清楚了,我就不作解释了
usage: pm [list|path|install|uninstall]
pm list packages [-f]
pm list permission-groups
pm list permissions [-g] [-f] [-d] [-u] [GROUP]
pm list instrumentation [-f] [TARGET-PACKAGE]
pm list features
pm path PACKAGE
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
pm uninstall [-k] PACKAGE
pm enable PACKAGE_OR_COMPONENT
pm disable PACKAGE_OR_COMPONENT
The list packages command prints all packages. Options:
-f: see their associated file.
The list permission-groups command prints all known
permission groups.
The list permissions command prints all known
permissions, optionally only those in GROUP. Options:
-g: organize by group.
-f: print all information.
-s: short summary.
-d: only list dangerous permissions.
-u: list only the permissions users will see.
The list instrumentation command prints all instrumentations,
or only those that target a specified package. Options:
-f: see their associated file.
The list features command prints all features of the system.
The path command prints the path to the .apk of a package.
The install command installs a package to the system. Options:
-l: install the package with FORWARD_LOCK.
-r: reinstall an exisiting app, keeping its data.
-t: allow test .apks to be installed.
-i: specify the installer package name.
The uninstall command removes a package from the system. Options:
-k: keep the data and cache directories around.
after the package removal.
The enable and disable commands change the enabled state of
a given package or component (written as "package/class").
e)svc
svc可硬用来管理wifi,power和data
svc [wifi|data|power] [option]
usage: svc wifi [enable|disable]
打开或者关闭wifi
usage: svc power stayon [true|false|usb|ac]
true电源一直保持stay on的状态,
usb插上usb才保持stay on
ac充电的时候
f)bootanimation
显示开机动画,在替换默认的开机动画的时候可以用这个来调试
g)getevent & sendevent
getevent监控当前的事件,鼠标事件,按键事件,拖动滑动等
# getevent
getevent
add device 1: /dev/input/event0
name: "qwerty2"
/dev/input/event0: 0001 001e 00000001
/dev/input/event0: 0001 001e 00000000
其中/dev/input/event0是device的名字 0001是type, 001e是键码, 最后一个根据type不同而不同
比如上面的倒数第二条就是按下a键的keydown,最后一个是按下a的keyup
具体的type,code,value的定义可以在源码/frameworks/base/core/java/android/view/KeyEvent.java中找到
sendevent发送时间,格式和上面的一样,需要注意的是在get中code显示的是十六进制,而send中需要用十进制,例如
# sendevent /dev/input/event0 1 5 1
这个命令就是发送数字4的keydown消息,所以在屏幕上就会一直打印出很多个4(因为没有发送keyup)
h)一项常用的print message命令
dumpsy
dumpstate
logcat
dmesg
这几条命令都集成在ddms里面了,所以一般用的很少
Android 的独特shell命令的更多相关文章
- Android 执行 adb shell 命令
Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 ...
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息 by:授客 QQ:1033553122 1. 查看内存信息 1)查看所有内存信息 命令: dumpsys mem ...
- Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...
- Android 常用adb shell 命令
原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...
- Android 常用adb shell 命令(转)
调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Androi ...
- 【Android】-- adb shell 命令探索
ADB是什么,做android开发的没有不知道的. window下执行cmd,输入adb help就会打印adb都可以做的事情,包含 adb push ..adb pull .. adb device ...
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
1. 查看内存信息 1)查看所有内存信息 命令: dumpsys meminfo 例: C:\Users\laiyu>adb shell shell@android:/ $ dumpsys m ...
- Android:adb shell 命令详解
安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令. 进入“/system/bin”该 ...
- Android中shell命令语句
最近学习了Android中碰到了shell命令,故收集终结了一下 Ccat zdd 浏览文件zdd的内容cat zdd1 zdd2 浏览多个文件的内容cat -n zdd浏览文件zdd的内容并显示行号 ...
随机推荐
- Jackson ObjectMapper类
ObjectMapper类是Jackson库的主要类.它提供一些功能将转换成Java对象匹配JSON结构,反之亦然.它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写 ...
- 如何使用springmvc的@requestbody 返回json数据
先配置 XXX_ servletxml <!-- 整合jackson 返回一个json格式 --><bean class="org.springframework.web. ...
- sql和shell注入测试
1.整数型参数,必须intval转义,用addslashes转义不行 <?php $test = $_REQUEST["test"]; $test = addslashe ...
- ubuntu 常用软件
terminator:任意分割控制台 Sublime Text:文本编辑器,也是轻量级的IDE Wireshark:抓包工具 Okular:PDF等文档编辑工具 yEd:流程图等制图软件 Shutte ...
- 6.MIL采集和实时显示
前面讲到的都是离线的图像获取方法,实际中我们做机器视觉都是在线采集图像和处理,处理结果决定了计算机要给出的控制信号如电机运动等,这样就实现了实时视觉反馈运动.MIL中的采集需要Matrox采集板卡的支 ...
- perl post 请求带参数
my $url='https://wenjinbao.winfae.com/business/dispatch_post.do?action=submitAdminLogin'; my $res ...
- 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制:
14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制: MySQL 复制工作对于InnoDB 表和对于MyISAM表. 它是可能使用复制的方式 存储引 ...
- 开发环境FAQ
问: Win7下VS2008无法识别WinCE5.0SDK 答:拷贝WinXP环境(安装过VS2008 + WinCE5.0SDK)下C:/Program Files/Microsoft Visual ...
- Python集成开发环境(Eclipse+Pydev)
刚開始学习python,就用Editplus, Notepad++来写小程序, 后来接触了Sublime Text2.认为很不错,没事写写代码.就用编辑器Sublime Text2,最好再配搭一个ap ...
- Effective C++_笔记_条款05_了解C++默认编写并调用哪些函数
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 直接上代码: 1: class Empty{}; 如果你写了这样 ...