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