我的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基本用法搞好了再来,具体的方法就是看书上网查,这里就不做详细步骤介绍了.这章就有点意思了,是源码的下载和编译,有能看的,能自己鼓捣的,本章介绍的 ...
随机推荐
- [skill] C++ delete VS delete []
delete 用来删除 new 返回的对象. 先调用对象的析构,然后释放指针指向的内存. delete[] 用来删除 new [] 返回的对象. 先调用数组中每一个对象的析构,然后释放指针指向的内存.
- 关于sed用法
sed处理流程 sed的处理流程,简化后是这样的: 1.读入新的一行内容到缓存空间: 2.从指定的操作指令中取出第一条指令,判断是否匹配pattern: 3.如果不匹配,则忽略后续的编辑命令,回到第2 ...
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
- LeetCode Find All Duplicates in an Array
原题链接在这里:https://leetcode.com/problems/find-all-duplicates-in-an-array/ 题目: Given an array of integer ...
- insert into linksvr or insert into from linksvr
通过链接服务器将实例A上的数据写入实例B,通常有以下两种方式--方案1:在实例A上执行insert into LinkForB.B..TableB select * from TableA--方案2: ...
- Hibernate不能自动建表解决办法
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...
- C语言第三次作业
#include<stdio.h>//1.三角形 int main() { printf("*\n"); printf("**\n"); print ...
- Ubantu16.04一键部署Cacti监控服务器
Ubantu16.04一键部署Cacti监控服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入高级运维工程师之路:598432640 一.查看系统环境(关于该系统的安装 ...
- linux scp 远程复制文件
1.从本机复制文件到远程scp 文件名 远程计算机用户名@远程计算机的ip:远程计算机存放该文件的路径2.从远程复制文件到本机:scp 远程计算机用户名@远程计算机ip:文件名 存放该文件的本机路径3 ...
- CSS中position小解
我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循 ...