Android(安卓)adb的权限问题(可以不通过adb,而直接访问.db文件)
问题描述
自学Android SQLite的时候,在配置好环境变量之后,打开cmd,输入adb shell
,会出现如下代码:
generic_x86:/ $
这表示当前为普通用户,这时使用cd
命令,将提示:
Permission denied
然后如果输入sqlite3 BookStore.db
打开数据库,并键入.table
,将有如下错误:
Error: unable to open database “BookStore.db”: unable to open database file
这表示没有root权限,不能打开数据库文件
解决办法
网上有很多获取root权限的办法,但不是特别方便。我下面说的是不用root的方法
这种方法不使用adb工具,而是直接使用同样在platform-tools目录下的sqlite3工具(使用该工具也需要配置环境变量)
具体操作步骤如下:
在Device File Explorer中找到需要打开的数据库文件,右键后选择Save As…,然后选择一个目录并保存(建议将文件放在D盘根目录),操作如下图:
打开cmd,cd到你刚才文件的存放位置(如果你也将文件放在D盘根目录,只需输入
D:
即可)输入sqlite3,后面加上数据库名,比如我这里输入
sqlite3 BookStore.db
输入
.table
查看表,输入.schema
查看建表语句,操作如下图所示:
升级数据库后:
如果刚才的cmd没有关掉的话,要先输入
.open
关闭掉之前打开的数据库。(因为数据库打开状态将无法用新的文件替换掉).open 加上数据库名 表示打开一个数据库
.open 表示关闭刚才打开的数据库用新的数据库文件替换掉之前的文件(步骤类似之前的第1条,但是在Save As…之前,要先点Synchronize进行同步)
在cmd中输入
.open BookStore.db
(如果cmd已经关过,参考之前的4条步骤)
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- android 6.0指纹模块学习 1
- Android(安卓)通过API获取数据库中的图片文件方式
- Android(安卓)Studio报错:unable to find valid certification pa
- Android(安卓)实现微信,QQ文件在其他应用打开并获取到路径
- 扣丁学堂——SQLite
- IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:
- android数据库事务!!!!!!!!!!!!!!!!!!!!!!!!!!
- GreenDao 问题集合