adb操作命令详解ADB命令详解.docx
《adb操作命令详解ADB命令详解.docx》由会员分享,可在线阅读,更多相关《adb操作命令详解ADB命令详解.docx(34页珍藏版)》请在冰点文库上搜索。
adb操作命令详解ADB命令详解
[adb操作命令详解]ADB命令详解
[adb操作命令详解]ADB命令详解篇一:
ADB命令详解
ADB命令详解
导读:
ADB命令详解1版本号:
AndroidDebugBridgeversion
1.0.292更新日期:
3.2012.10.073说明:
由于目前一些命令未使用过,此博文将会持续更新ADB全称AndroidDebugBridge,是androidsdk里的一个工具,用...
ADB命令详解
1版本号:
AndroidDebugBridgeversion1.0.29
2更新日期:
3.2012.10.07
3说明:
由于目前一些命令未使用过,此博文将会持续更新
ADB全称AndroidDebugBridge,是androidsdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备.
它的主要功能有:
*运行设备的shell
*管理模拟器或设备的端口映射
*计算机和设备之间上传/下载文件
*将本地apk软件安装至模拟器或android设备
ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备..先说安装方法,电脑上需要安装客
户端.客户端包含在sdk里.设备上不需要安装,只需要在手机上打开选项设置-应用程序-USB调试
adb有各个系统的版本的,Liunx,Mac,Windows,根据你自己的操作系统来选择要下载的AndroidSDK就可以使用adb命令了.
如下解释下ADB常用的几个命令
1.查看设备
1adbdevices
这个命令是查看当前连接的设备,连接到计算机的android设备或者模拟器将会列出显示
2.安装软件
1adbinstall[-r][-s]
这个命令将指定的apk文件安装到设备上.
-r强制安装
-s将apk文件安装在SD-Card
3.卸载软件
1adbuninstall[-k]
如果加-k参数,为卸载软件但是保留配置和缓存文件.
4.从电脑上发送文件到设备
1adbpush
用push命令可以把本机电脑上的文件或者文件夹复制到设备
例:
传送文件到手机中,如:
1adbpushrecovery.img/sdcard/recovery.img
将本地目录中的recovery.img文件传送手机的SD卡中并取同样的文件名.
5.从设备上下载文件到电脑
1adbpull
用pull命令可以把设备上的文件或者文件夹复制到本机电脑
6.显示帮助信息
1adbhelp
--这个命令将显示帮助信息
7.显示ADB命令版本号
1adbversion
8.启动计算机adb服务进程
1adbstart-server
当然你可以直接使用adbdevices命令时自动开启
9.关闭计算机adb服务进程
1adbkill-server
这样可以关闭adb服务进程,有时在正在使用的adb,然后想删除adb,那这时你得先关闭进程才了删除,就要用到它了
10.重启设备
1adbreboot[bootloader|recovery]
2adbreboot-bootloader
重启有三种方式,1)直接重启设备回到使用界面adbreboot即可;
2)重启设备到bootloader引导模式:
adbreboot-bootloader或adbrebootbootloader
3)重启到recovery刷机模式:
adbrebootrecovery
11.返回设备状态
1adbget-state
返回设备状态,有三种结果:
关机,引导模式,设备在线
12.返回设备序列号
1adbget-serialno
返回设备序列号SN值
13.获取设备的ROOT权限
1adbremount
通过这个命令就可以获取设备的ROOT权限一样的通adb操作/system等目录的,如adbpushxx.app/system/app即可将app应用直接放入系统目录。
这个操作必须机子已解锁并ROOT过。
篇二:
sqlite3命令方式操作大全
SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。
本文档提供一个样使用sqlite3的简要说明.
一.qlite3一些常用Sql语句操作
创建表:
删除表:
插入数据:
创建索引:
删除索引:
删除数据:
更新数据:
增加一个列:
选择查询:
createtable表名;droptable表名;insertinto表名values;create[unique]index索引名on表名;dropindex索引名deletefrom表名;update表名set字段=’修改后的内容’where条件;Altertable表名addcolumn字段数据类型;select字段from表名where条件;
日期和时间:
Selectdatetime
日期:
selectdate;
时间:
selecttime;
总数:
selectcountfromtable1;
求和:
selectsumfromtable1;
平均:
selectavgfromtable1;
最大:
selectmaxfromtable1;
最小:
selectminfromtable1;
排序:
select字段fromtable1orderby字段;
分组:
select字段fromtable1groupby字段,字段…;
限制输出:
select字段fromtable1limitxoffsety;
=select字段fromtable1limity,x;
…
SQLite支持哪些数据类型些,
NULL值为NULL
INTEGER值为带符号的整型,根据类别用1,2,3,4,6,8字节存储
REAL值为浮点型,8字节存储
TEXT值为text字符串,使用数据库编码存储
BLOB值为二进制数据,具体看实际输入
但实际上,sqlite3也接受如下的数据类型:
smallint16位元的整数
interger32位元的整数
decimalp精确值和s大小的十进位整数,精确值p是指全部有几个数大小值,s是指小数点後有几位数。
如果没有特别指定,则系统会设为p=5;s=0。
float32位元的实数。
double64位元的实数。
charn长度的字串,n不能超过254。
varchar长度不固定且其最大长度为n的字串,n不能超过4000。
graphic和char一样,不过其单位是两个字元double-bytes,n不能超过127。
这个形态是为了支援两个字元长度的字体,例如中文
字。
vargraphic可变长度且其最大长度为n的双字元字串,n不能超过2000。
date包含了年份、月份、日期。
time包含了小时、分钟、秒。
timestamp包含了年、月、日、时、分、秒、千分之一秒。
如果将声明表的一列设置为INTEGERPRIMARYKEY,则具有:
1(每当你在该列上插入一NULL值时,NULL自动被转换为一个比该列中最大值大1的一个整数;
2(如果表是空的,将会是1;
算术函数
abs返回给定数字表达式的绝对值。
max返回表达式的最大值。
min返回表达式的最小值。
random返回随机数。
round返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length返回给定字符串表达式的字符个数。
lower将大写字符数据转换为小写字符数据后返回字符表达式。
upper返回将小写字符数据转换为大写的字符表达式。
substr返回表达式的一部分。
randstr
quote
like
确定给定的字符串是否与指定的模式匹配。
glob
条件判断函数
coalesce
ifnull
nullif
集合函数
avg返回组中值的平均值。
count返回组中项目的数量。
max返回组中值的最大值。
min返回组中值的最小值。
sum返回表达式中所有值的和。
其他函数
typeof返回数据的类型。
last_insert_rowid返回最后插入的数据的ID。
sqlite_version返回SQLite的版本。
change_count返回受上一语句影响的行数。
last_statement_change_count
二.有关事务的操作
开始事物处理
BEGINTRANSACTION;
…………..
进行对数据库操作
…………..
事物提交
COMMIT;
具体事例如下:
假设有一个t1表,其中有“a”,“b”,“c”三列,如果要删除列c,以下过程描述如何做:
BEGINTRANSACTION;
CREATETEMPORARYTABLEt1_backup;
INSERTINTOt1_backupSELECTa,bFROMt1;
DROPTABLEt1;
CREATETABLEt1;
INSERTINTOt1SELECTa,bFROMt1_backup;
DROPTABLEt1_backup;
COMMIT;
三.启动sqlite3程序
仅仅需要敲入带有SQLite数据库名字的”sqlite3”命令即可。
如果文件不存在,则创建一个新的文件。
然后sqlite3程序将提示你输
入SQL。
敲入SQL语句,敲回车键之后,SQL语句就会执行。
例如,创建一个包含一个表”tb11”名字为”ex1”的SQLite数据
库,你可以这样做:
数据库、表的建立,记录的添加、查询、修改
和删除
F:
\>sqlite3database.db
sqlite>createtableadmin;
sqlite>insertintoadminvalues;
sqlite>select*fromadmin;
sqlite>updateadminsetusername=„kk‟,age=24whereusername=„kuang‟andage=25;sqlite>deletefromadminwhere
username=„kk‟;
注:
每条sql语句后必须以”;”号结尾~
$sqlite3ex1
SQLiteversion3.3.17
Enter“.help”forinstructions
sqlite>createtabletbl1,twosmallint);
sqlite>insertintotbl1values;
sqlite>insertintotbl1values;
sqlite>select*fromtbl1;
hello!
|10
goodbye|20
sqlite>
你可以通过敲你所用系统的文件结束符或者中断字符。
来终止sqlite3程序。
确定你在每个SQL语句结束敲入分号~sqlite3程序通过查找分号来决定一个SQL语句的结束。
如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字。
这个特点让你输入多行的多个SQL语句,例如:
sqlite>create
tabletbl2primarykey,
...>f2text,
...>f3real
...>);
sqlite>
四.题外话:
查询SQLITE_MASTER表
SQLite数据库的框架被保存在一个名叫”sqlite_master”的特殊的表中。
你可以像查询其它表一样通过执行“SELECT”查询这个特殊的表。
例如:
$sqlite3ex1
SQlitevresion3.3.10
Enter“.help”forinstructions
sqlite>select*fromsqlite_master;
type=table
name=tbl1
tbl_name=tbl1
rootpage=3
sql=createtabletbl1,twosmallint)
sqlite>
但你不能在sqlite_master表中执行诸如DROPTABLE,
UPDATE,INSERT或者DELETE命令。
sqlite_master表在你创建、删
除和索引数据库时自动更新这个表。
你不能手工更改sqlite_master表。
TEMPORARY表的结构没有存储在”sqlite_master”表中,由于
TEMPORARY表对应用是不可见的,而不是应用程序创建这个表。
TEMPORARY表结构被存储在另外一个名叫”sqlite_temp_master”的
特定的表中。
”sqlite_temp_master”表是临时表自身。
五.sqlite3的特殊命令
大多数候,sqlite3读入输入行,并把它们传递到SQLite库中去
运行。
但是如果输入行以一个点开始,那么这行将被sqlite3程序自己
截取并解释。
这些“点命令”通常被用来改变查询输出的格式,或者执
行鞭个预封包的查询语句。
你可以在任何时候输入“.help”,列出可
用的点命令。
例如
sqlite>.help
.bailON|OFF
Stopafterhittinganerror.DefaultOFF
.databases
Listnamesandfilesofattacheddatabases
.dump?
TABLE?
...
DumpthedatabaseinanSQLtextformat
.echoON|OFF
Turncommandechoonoroff
.exit
Exitthisprogram
.explainON|OFF
TurnoutputmodesuitableforEXPLAINonoroff..header
ON|OFF
Turndisplayofheadersonoroff.help
Showthismessage
.importFILETABLE
ImportdatafromFILEintoTABLE
.indicesTABLE
ShownamesofallindicesonTABLE
.loadFILE?
ENTRY?
Loadanextensionlibrary
.modeMODE?
TABLE?
SetoutputmodewhereMODEisoneof:
:
csvComma-separatedvaluescolumnLeft-alignedcolumns.)html
HTMLcodeinsertSQLinsertstatementsforTABLElineOnevalueper
line
listValuesdelimitedbyseparatorstring
tabsTab-separatedvaluestclTCLlistelements.nullvalueSTRING
PrintSTRINGinplaceofNULLvalues.outputFILENAME
SendoutputtoFILENAME.outputstdout
Sendoutputtothescreen
.promptMAINCONTINUE
Replacethestandardprompts.quit
Exitthisprogram
.readFILENAME
ExecuteSQLinFILENAME.schema?
TABLE?
ShowtheCREATEstatements.separatorSTRING
Changeseparatorusedbyoutputmodeand.import.show
Showthecurrentvaluesforvarioussettings
.tables?
PATTERN?
ListnamesoftablesmatchingaLIKEpattern
.timeoutMS
TryopeninglockedtablesforMSmilliseconds.widthNUMNUM...
Setcolumnwidthsfor“column”mode
.timerON|OFF
.vfsname?
AUX?
.restore?
DB?
FILE
sqlite>
六.改变输出格式
sqlite3程序可以以八种不同的格式显示一个查询的结果:
”csv”,“列”,“html”,“插入”,“行”,“制表”和”tcl”。
你可以用”.mode”点命令在这些输出格式之间切换。
默认的输出格式是“列表”。
在列表模式下,每条查询结果记录被写在一行中并且每列之间以一个字符串分割符隔开。
默认的分隔符是一个管道符号。
列表符号在当你输出查询结果到另外一个符加处理的程序中去是尤为有用。
sqlite>.modelist
sqlite>select*fromtbl1;
hello|10
goodbye|20
sqlite>
你可以用“.separator”点命令来改变分界符。
例如,为了把分割符改为一个逗号和一个
空格,你可以这样做:
sqlite>.separator“,“
sqlite>select*fromtbl1;
hello,10
goodbye,20
sqlite>
在“line”模式下,每一个位于条记录中的列在它自己那行显示。
每行由列名、一个等号和列数据组成。
下一条记录以一个空行隔开。
这是一个行模式输出的例子:
sqlite>.modeline
sqlite>select*fromtbl1;
one=hello
two=10
one=goodbye
two=20
sqlite>
在列模式下,每条记录在一个单独的行中以数据列对齐的方式显示。
列如:
sqlite>.modecolumn
sqlite>select*fromtbl1;
onetwo
--------------------
hello10
goodbye20
sqlite>
在默认的情况下,每列至少10个字符宽。
太宽的数据将被截
取。
你可以用“.width”命令来调整列宽。
如下所示:
sqlite>.width126
sqlite>select*fromtbl1;
onetwo
------------------
hello10
goodbye20
sqlite>
上面例子中”.width”命令设置第一列宽为12第二列宽为6。
其它的列宽不变。
你可以指定与你查询结果需要的列数一样多的“.width”参数。
如果你指定一列宽为0,那么这个列宽将自动以下面三个数字中的最大值做为列宽:
10、表头宽度和最宽的数据列的宽度。
这可以让列自动调整宽度。
每列的默认设置为自动调整的0值。
出现在输出开头两行的列标示可以用”.header”点命令关闭。
在上面的例子中,列标示是打开的。
可以用下面的方法关闭列标示:
sqlite>.headeroff
sqlite>select*fromtbl1;
hello10
goodbye20
sqlite>
另外一个有用的输出模式是”insert”。
在插入模式下,被子格式
化为看起来像SQLINSERT语句的样式。
你可以用插入模式来产生文件以后用于不同数据库的输入。
当指定插入模式时,你必须给定一个特定参数就是要插入的表名。
例如:
sqlite>.modeinsertnew_table
sqlite>select*fromtbl1;
INSERTINTO„new_table‟VALUES;
INSERTINTO„new_table‟VALUES;
sqlite>
最新的输出格式是“html”。
在这种模式下,sqlite3把查询的结果写做XHTML表。
开始的和结束的没有写出,但有、和等分界符。
html输出对CGI来说是相当有用地。
把结果写到文件中
七.查询数据库结构
sqlite3程序提供几个有用的用于查询数据库结构的快捷命令。
这些不是不可以用别的方式来实现。
这些命令仅仅是一个快捷方式而已。
例如,为了查看数据库的表列表,你可以敲入“.tables”。
sqlite>.tables
tbl1
tbl2
sqlite>
“.tables”命令相似于设置列表模式然后执行接下来的查询:
SELECTnameFROMsqlite_masterWHEREtypeINAND
nameNOTLIKE„sqlite_%‟UNIONALLSELECTnameFROM
sqlite_temp_masterWHEREtypeINORDERBY1sqlite>.schema
createtabletbl1,twosmallint)
CREATETABLEtbl2primarykey,
f2text,
f3real
)
sqlite>.schematbl2
CREATETABLEtbl2primarykey,
f2text,
f3real
)
sqlite>
八.事实上
你可以查看sqlite3的源代码,你可找到上面的具体的查询。
“.indices”命令作用类似的方式是列出特定表的所有的索引。
“.indics”命令须一个参数即所要索引表的表名。
最后,但不是至少,
是“.schema”命令。
不带任何参数,“.schema”命令显示原始的用于创
建当前数据库的CREATETABLE和CREATEINDEX语句。
如果你
给”