我的Android第四章:Android的adb命令使用以及SQlite数据库运用
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。
adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。
发布Android程序
安装程序指令
安装应用程序的指令:adb install <.apk存放路径>
卸载应用程序的指令:adb uninstall <Android程序的包名>
注:在该卸载操作时不是指定程序名,而是包名,可以打开文件查询程序的包名
查看那行连接设备 :adb devices
进入模拟器的shell模式: adb shell
获取管理员权限:adb root
用adb指令实现文件上传和读写操作
假如你要将Windows下E根目录下的test.xls文件拷贝到机器(手机或者平板)的/system/目录下;可以使用命令如下:
从电脑上发送文件到设备
adb push <本地路径> <远程路径>
adb push E:\test.xls system/
你会发现执行上传命令操作时它会提示如下信息
这时候你要输入命令adb remount来操作 ,意思是将设备改为可读可写;
显示remount succeeded就代表命令执行成功;
注:但是当你有时执行remount succeeded命令操作时则会报如下信息:报你没有操作权限,这时候你着需要获取该系统下最高权限级别了
你则需要执行 adb shell进来操作系统获取最高权限
这时候你则需要该手机系统下新建一个文件夹来存放一个写入的文件
然后在执行文件读写操作
这样就可以了,只是这一步需要繁琐先,不过主要给系统生成一个文件夹即可,因为有些设备系统中文件不支持读写操作
如果你连接的支持读写操作那恭喜你将执行下面操作着会成功了
输入命令adb remount ,意思是将设备改为可读可写;
显示remount succeeded就代表命令执行成功;
然后查询你的设备目录
从设备上下载文件到电脑中
adb pull <远程路径> <本地路径>
找到一个设备文件build.prop文件
执行你的adb pull命令
查看E:目录
使用adb实现刷机操作
adb shell mount -a
adb push recovery-RAv1.0G.img /system/recovery.img
adb push recovery-RAv1.0G.img /sdcard/recovery-RAv1.0G.img
adb shell flash_image recovery /sdcard/recovery-RAv1.0G.img reboot
重新挂载文件系统 :adb remount
重启手机: adb reboot
使用adb指令操作数据库
1.首先获取你设备中最高操作权限,但是不获取最高权限也是可以操作数据库的
执行adb shell操作进入到你Android操作系统中
执行以下命令:sqlite3
可以通过输入<.help命令查询帮助>
查询sqlite下的数据文件
进入到控制台中,输入adb shell,进入到命令模式的环境中
输入:cd /data/data/ :注意要有个空格
选择你所在的数据库文件,比如我的com.android.dialer, 输入命令:cd com.android.dialer
4, 可以使用ls -l 命令查看当前目录中的文件
5,输入: cd databases 进入到数据库文件中
6, ls -l 显示你数据库中你建立的数据库
7, sqlite3 info.db 进入到你选择的数据库中
8, .tables :查看你建的表
9, select * from properties; 可以查看整个表的信息
如果想查看这些表的结构:通过.schema来查看
有关SQLite基本语法学习可以去到菜鸟教材中心进行学习 http://www.runoob.com/sqlite/sqlite-syntax.html
拷贝该数据库文件
我们可以拷贝该数据库文件来当作我们的数据库文件使用,这样该数据库文件就成为我们自己的数据库了,是不是很好玩呢?哈哈
1.拷贝
我们执行文件读写命令操作 adb pull <设备文件路径> <电脑文件路径>
查看F:目录下找到dialer.db
2.编辑自己的数据操作
直接执行进入该数据
3.创建数据库表
4.给表添加数据
如果想查看自己创建的表结果,那就使用.schema命令查看吧。
我的Android第四章:Android的adb命令使用以及SQlite数据库运用的更多相关文章
- 第四章Android移植环境搭建
第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...
- Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令
Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...
- Android Studio(四):Android Studio集成Genymotion
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- 我的Android第四章
本章需掌握 1.连接真机的过程. 2.dx指令的作用 3.adb是什么? 4.adb有什么用(有什么好处)? 5.adb的一些常用命令 1.连接真机的过程. 需要:一部Android机.usb连接线, ...
- 【ALearning】第四章 Android Layout组件布局(一)
在本章中,我们将Android学习组件布局.在前面的章节,我们也开始使用LinearLayout布局.然后我们在布局文件更加具体的学习和理解,会. Android的界面是有布局和组件协同完毕的,布局好 ...
- 第四章 android 命名规范和编码规范
书里面讲的比较常见,单个人也是有不同的观点: 因为android绝大部分使用java开发的,因此java相关规范适用于android: Google Style: 英文地址:http://google ...
- 【ALearning】第四章 Android Layout组件布局(二)
前面我们分别介绍和学习了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoluteLayout(绝对布局).这次我们要进行RelativeLayout(相对布局)和Ta ...
- Android 使用存放在存assets文件夹下的SQLite数据库
因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机 ...
- Android学习四、Android中的Adapter
一.Adapter的介绍 An Adapter object acts as a bridge between an AdapterView and the underlying data for t ...
随机推荐
- JVM Tomcat性能实战
本节只是介绍实战部分,具体的理论参数,请自行百度. 所需工具:linux服务器 Jmeter测试工具 xshell 一个web应用 Tomcat的JVM参数可以配置在catalina.sh,如 ...
- laravel中的错误与日志
日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...
- JS魔法堂:判断节点位置关系
一.前言 在polyfill querySelectorAll 和写弹出窗时都需要判断两个节点间的位置关系,通过jQuery我们可以轻松搞定,但原生JS呢?下面我将整理各种判断方法,以供日后查阅. 二 ...
- MYSQL 函数 字符串到整数
SELECT CAST('002' AS signed) 结果为2 SELECT CAST('125e342.83' as signed) 结果为 125
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...
- Android的px、dp和sp
Android的px.dp和sppx: 即像素,1px代表屏幕上一个物理的像素点:偶尔用到px的情况,是需要画1像素表格线或阴影线的时候. dp: 这个是最常用但也最难理解的尺寸单位.它与“像素密度” ...
- iOS阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- object references an unsaved transient instance - save the transient instance before flushing错误
异常1:not-null property references a null or transient value解决方法:将“一对多”关系中的“一”方,not-null设置为false(参考资料: ...
- Scalaz(24)- 泛函数据结构: Tree-数据游览及维护
上节我们讨论了Zipper-串形不可变集合(immutable sequential collection)游标,在串形集合中左右游走及元素维护操作.这篇我们谈谈Tree.在电子商务应用中对于xml, ...
- 通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
TCP建立连接时,为什么要进行三次挥手? 每一次TCP连接都需要三个阶段:连接建立.数据传送和连接释放.三次握手就发生在连接建立阶段. 在谢希仁著<计算机网络>第四版中讲三次握手的目的是为 ...