我的Android第四章
本章需掌握
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
以上,就是我们本章基本讲解的一些内容了,希望对大家有所帮助
我的Android第四章的更多相关文章
- 我的Android第四章:Android的adb命令使用以及SQlite数据库运用
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用. adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作, ...
- [Learn Android Studio 汉化教程]第四章 : Refactoring Code
[Learn Android Studio 汉化教程]第四章 : Refactoring Code 第四章 Refactoring Code 重构代码 在Android Studio中开发,解决 ...
- 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析
第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...
- Android系统移植与驱动开发--第四章
第四章 源代码的下载和编译 一个android内核相当于4G,而一个Linux内个只有几百M,Linux内核相对于android内核来说实在是小巫见大巫.了解android源代码不一定要详细了解,只去 ...
- Android艺术开发探索第四章——View的工作原理(下)
Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...
- Android群英传笔记——第四章:ListView使用技巧
Android群英传笔记--第四章:ListView使用技巧 最近也是比较迷茫,但是有一点点还是要坚持的,就是学习了,最近离职了,今天也是继续温习第四章ListView,也拖了其实也挺久的了,list ...
- 第四章Android移植环境搭建
第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...
- 第四章:重构代码[学习Android Studio汉化教程]
第四章 Refactoring Code The solutions you develop in Android Studio will not always follow a straight p ...
- Android深度探索-卷1第四章心得体会
这一章的和三章的git用法有联系,so,吧上一章的git基本用法搞好了再来,具体的方法就是看书上网查,这里就不做详细步骤介绍了.这章就有点意思了,是源码的下载和编译,有能看的,能自己鼓捣的,本章介绍的 ...
随机推荐
- selenium项目的实战经验
以前学习selenium,最接近项目的经验就是写了百度首页和自己开发的一个小网站的脚本,当时觉得差不多可以了.然而这次项目实战才发现还是学到不少知识,毕竟这个网站的专业程度远超过我自己写的,而且复杂程 ...
- spring_异常提示1
nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource ------- 缺少j ...
- sparksql udf的运用----scala及python版(2016年7月17日前完成)
问:udf在sparksql 里面的作用是什么呢? 答:oracle的存储过程会有用到定义函数,那么现在udf就相当于一个在sparksql用到的函数定义: 第二个问题udf是怎么实现的呢? regi ...
- jvm性能参数与调优
本文中的参数并齐全,看了http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html的相关文章写得很好,可以看一看 1.jvm堆内存简 ...
- equals == 比较
public class Equals{ public static void main(String[] args){ Interger n1=new Interger(47); Interger ...
- SQL Server 不清空数据,修改数据库字段、结构,阻止保存要求重新创建表的更改
当数据库有数据修改数据库字段时,默认是阻止的! 工具---选项---设计器---阻止保存要求重新创建表的更改(取消钩)
- Object转数组
int length = Array.getLength(value);String[] newarray = new String[length];for (int i = 0; i < le ...
- 樹的DFS和BFS
菜鸟心得.... 不对请指出....... /*BFS,广度优先搜索树,用最简单的2叉树来举例, 树的结构如下: A B C D E F GH I J K L M N O广度优先搜索树, 顺序应该是A ...
- PostgreSQL installations
[root@test02 init.d]# ll /etc/init.d/postgresql-9.5 -rwxr-xr-x. 1 root root 10072 May 15 06:34 /etc/ ...
- git基本配置
用户信息 你个人的用户名称和电子邮件地址,用户名可随意修改,git 用于记录是谁提交了更新,以及更新人的联系方式. $ git config --global user.name "Donl ...