如何通过USB电缆将sqlite数据库推送到Android应用程序?

时间:2016-01-18 16:47:37

标签: android adb

我正在我的桌面系统上生成一个sqlite数据库,这个数据库(带.db扩展名的文件)应该通过USB线推送到我的Android应用程序。 可能吗? 如果是,怎么样?

2 个答案:

答案 0 :(得分:1)

您的问题的简短回答是是和否

- 如果您的设备是使用Android版本4.3及更低版本,并且在每种情况下,如果您的设备已植根。 (我将解释下面的程序为非rooted和android< = 4.3);
- 如果您的设备未植根且Android版本为4.4及更高版本。

假设你的设备没有root,并且android的版本是4.3和minor,你必须执行下一步操作:

更改当前数据库的权限:

adb shell
$ run-as your.package.name
$ cd ./databases/
$ chmod 666 ./dbname.db
$ exit
$ exit

备份原始数据库:

adb pull /data/data/your.package.name/databases/dbname.db /your/path/to/file/on/computer

用新数据库替换当前:

adb push /your/path/to/file/on/computer/dbname.db /data/data/your.package.name/databases/dbname.db

恢复原始权限:

adb shell
$ run-as package.name
$ chmod 660 ./databases/dbname.db #Restore original permissions
$ exit
$ exit

另请注意,您必须根据当前情况调整路径和文件名。

如果你有root电话,那么你必须更改su用户的权限。如果你需要这个程序,我也可以发布它。

答案 1 :(得分:0)

试一试:使用DDMS(Dalvik Debug Monitor Server)

enter image description here