Android SQLite 学习1

Windows 10 / Android Studio 2.3.3

ADB路径:C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools 。

需要配置环境变量。路径可以在Sdk Manager配置中看到路径。也可以打开android studio初始窗口,关闭所有项目(不是点击右上角的叉叉,而是File中的close project),点击configure→project defaults→project structure 找到路径。


 【遇到问题】

adb shell 看不到数据库文件。。。

cd  /data/data/com.example.databasetest/databases: Permission denied 

【解决方案】

用了很多时间,终于看到数据库了。

adb提示符是$时候,貌似有问题,后来运行 su,变成了#号,就可以用了。。。

输入命令:su。(切换成root用户,修改data权限)

Ref:http://blog.csdn.net/xiaonadiandian/article/details/45501551

C:\Users\Administrator>adb shell
generic_x86:/ $ cd data/data/com.example.databasetest/databases
/system/bin/sh: cd: /data/data/com.example.databasetest/databases: Permission denied
2|generic_x86:/ $ su
generic_x86:/ # cd data/data/com.example.databasetest/databases
generic_x86:/data/data/com.example.databasetest/databases # ls
BookStore.db BookStore.db-journal BookStore1.db BookStore1.db-journal BookStore2.db BookStore2.db-journal
generic_x86:/data/data/com.example.databasetest/databases #

 【思索】

为什么别人都直接是#号,而我的是$号? 是adb.exe在隐藏文件夹的原因么?SDK路径问题?

SDK重新设置,进行测试。新路径:E:\app\platform-tools

测试结果:

Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>adb shell
generic_x86:/ $ su
generic_x86:/ # cd data
generic_x86:/data # cd data
generic_x86:/data/data # cd com.example.databasetest
generic_x86:/data/data/com.example.databasetest # cd databases
generic_x86:/data/data/com.example.databasetest/databases # ls
BookStore.db BookStore.db-journal BookStore1.db BookStore1.db-journal BookStore2.db BookStore2.db-journal
generic_x86:/data/data/com.example.databasetest/databases #

实验结果证明,与SDK安装路径无关,仍旧需要通过su修改权限。

难道是Windows 10 ,或是 Android 2.3.3 的问题?

需要进一步探索。。。

 


 用模拟器测试,在Android studio中点击Tools——>android——>Android Device Monitor 即可看到DDMS——>File Explorer——>data——>data——>对应包下——>databases就能看到数据库文件了,然后导出到桌面,用SQLite Expert查看即可。

【实测情况】在DDMS 的 File Explorer看不到数据库文件,data始终为空。


 

以上内容均为使用模拟器测试。 改为使用手机测试后,su命令无法执行。

Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>adb shell
gemini:/ $ su
/system/bin/sh: su: not found
127|gemini:/ $ cd data
gemini:/data $ cd data
gemini:/data/data $ cd com.example.databasetest
/system/bin/sh: cd: /data/data/com.example.databasetest: Permission denied
2|gemini:/data/data $

仍旧显示$号,无法运行。网上搜了搜,需要root手机。太麻烦,作罢。

手机测试,data文件夹依旧为空,无法再File Explorer 中看到数据库。


Ref:

http://blog.csdn.net/JiangWeiHu/article/details/71155581?locationNum=13&fps=1

http://www.cnblogs.com/woider/p/5143930.html


 

SQLite客户端可视化管理工具:SQLite Expert Professional 4.x (trial version) http://www.sqliteexpert.com/download.html

 

 

posted on 2017-06-17 23:07  HBU_DAVID  阅读(441)  评论(0编辑  收藏  举报

导航