本章需掌握
1.连接真机的过程。
2.dx指令的作用
3.adb是什么?
4.adb有什么用(有什么好处)?
5.adb的一些常用命令
1.连接真机的过程.
需要:一部Android机.usb连接线,一台电脑
1.第一步 手机通过usb线连接了电脑之后电脑任务栏的系统托盘中会需要安装手机在电脑中的驱动设备
在很多博文中都提到了,adb是一个调试桥,可供ecplise进行调试的工具,其实也就是debug工具,更多的我们可以理解为adb是Android中提供给我们用于操作Android系统相关信息的一个调试工具.
有些手机卫士之类的软件会自动帮我们安装驱动,耐心等待驱动安装,失败的话拔掉usb重试
如果驱动安装成功
任务栏系统托盘中会有图标提示
我们也可以在计算机管理中看到
进入计算机管理界面中的设备管理器看到我们的设备驱动安装成功之后就表示我们的手机连接电脑成功了,此时我们在模拟器中做的也可以在真机中做了
2.dx.bat指令的作用
我们学习Android,知道使用ecplise工具可以做到使得我们的Android项目生成一个apk(Android Package的缩写,即Android安装包)为后缀的文件,这是用来安装在Android系统中软件安装包,使得我们的Android项目可以在Android系统之中运行,那么ecplise工具又是怎么生成这个apk安装包的呢?
Android sdk中提供了一个名为dx.bat的文件文件可以从sdk中的build-tools目录中寻找
ecplise通过jvm将我们的R.java文件之类的资源管理文件,以及src目录下的.java文件编译成.class结尾的文件
然后通过dx.bat将所有的文件编译成.dex结尾的能被Dalvik能够解释的文件,然后通过一个打包的过程把.dex文件以及我们的资源文件打包
生成了.apk结尾的文件,这就是我们的.apk文件生成的过程。
3.adb是什么?
adb是(Android Debug Bridge)的简称,是Android sdk中的一个工具,用这个工具可以直接管理Android模拟器和Android设备,起到调试桥的作用.
4.adb有什么用?
主要功能有
1.adb可用于管理多个设备端口
2.adb可用于模拟手机与pc端的文件上传下载
3.可用于在手机端运行shell命令
4.可用于Android设备的升级
5.adb中的一些常用命令
1.如何执行adb指令
1)找到adb指令所在路径
E:\学习\android\adt-bundle-windows-x86_64-20140702\sdk\platform-tools
这是博主sdk中adb.exe所在的路径
2)进入doc窗口执行adb指令
注意:我们adb的指令如果没有配置Android_Home的环境变量的话,需要寻找到adb.exe所在的路径来执行adb命令
2.下面我们就可以学习一些adb的命令了
1)adb devices:显示当前连接上电脑的Android设备
2)adb install <apk路径>安装apk文件到手机设备
注意,apk路径可以是绝对路径不需要把apk放置在sdk所在的目录
安装成功之后,手机上会显示apk安装后的软件
3)adb uninstall <软件包名> 从手机端中卸载软件
这里要注意的是我们使用卸载命令的时候,软件包名是通过项目中的包名来确定的
可以看到该项目中,包名是com.example.androidrelative 那么卸载命令就是 adb uninstall com.example.android.realative ,如果卸载其他软件,
我们就需要加入对应包名即可
4)adb push <本地路径(电脑路径)> <远程路径(手机路径)>
此时我的E盘testone目录下中有文件名为test.txt
我需要将其复制到android系统中的目录data/backup目录下
执行adb push 命令之前先执行adb remount命令,这样可以让Android系统进入可以读写的状态
,然后执行adb push 命令
整段命令是 adb push E:\testone\test.txt data/backup
这里E:\testone\test.txt 指的是PC端路径
data/backup指的是移动端路径
如果不按照格式写的话会报如下错误
这里面我们把移动端路径写错了,然后就报错了
复制成功之后我们到ecplise中的ddms中查看
5.adb pull <手机路径> <pc端路径>
顾名思义,这是把手机端的文件复制到pc端的一种方法
整段命令的结构是 adb pull data/backup/test.txt E:\testone\myfile.txt ,最好也是按照格式来
这里我们给之前名字为test.txt的文件改名为myfile.txt,说明在执行此命令的时候是可以由我们指定复制之后的名称的
我们看看计算机中的路径是否添加了一个文件,这里我们在之前执行adb push命令的时候只有test.txt,现在多了一个
myfile.txt文件,复制成功
6.adb shell 进入shell模式
在这种模式下我们可以理解为,现在我们可以执行一些命令,它们可以对我们的移动端进行操作,
直接的理解就是我们现在已经进入了手机的操作系统,现在是由我们输入对应的指令来对手机
可以进行譬如关机,开机,打开指定软件等指令
这里我们要涉及到手机权限的问题,手机用户用的多的人们可以知道,经常会有一个root的说法,意思是获得
对手机的最高权限,这样意味着我们可以对手机进行一些只有最高权限才能做得操作,譬如删除系统自带的一些
软件,这些都是家常便饭
那么在shell模式下体现没有获得最高权限的体现是如何呢?
从上面的图可以看到,之前的#变成了$符号,这代表着手机并没有root获取最高的权限
这个命令中 adb -s CEWS5LEEHMHYNZGY shell 指的是进入指定手机的shell模式
CEWS5LEEHMHYNZGY 通过adb devices获取设备的名称
exit命令退出shell模式
在shell模式下简单的开启和关闭WiFi命令
开启WiFi命令:svn wifi enable
关闭WiFi命令:svn wifi disable
大家可以自己在最高权限下试一下,手机最高权限怎么获取,可以在手机中下载对应的root工具就行了
7.sqlite3命令进入Android数据库
sqlite3 数据库路径 进入数据库中
这里面就是我们的数据库模式了,Android中使用的是sqlite数据库,该款数据库也遵循sql92标准,所以,大家可以放心的尝试,增删改查
建立一张表mytest
添加一条测试数据
查询数据
修改数据
删除数据
删除表
.quit命令退出sqlite模式
以上是sqlite数据中一些基本的操作,这里有个网址,希望深入了解sqlite数据库的朋友可以看一下
http://www.runoob.com/sqlite/sqlite-data-types.html
以上,就是我们本章基本讲解的一些内容了,希望对大家有所帮助