【问题标题】:How to push sqlite databse to android app by usb cable? [duplicate]如何通过 USB 电缆将 sqlite 数据库推送到 android 应用程序? [复制]
【发布时间】:2016-04-23 22:19:45
【问题描述】:

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

【问题讨论】:

  • 除非您的设备已root,否则您无法将数据库推送到应用的私有数据文件夹中
  • 对于您的问题是关于将数据库推送到已安装的应用程序还是将数据库放入 apk 中似乎存在一些混淆。由于将 db 放入 apk 可以解决任何一种情况,请帮自己一个忙并使用 SQLiteAssetHelper 库:github.com/jgilfelt/android-sqlite-asset-helper

标签: android adb


【解决方案1】:

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

- 如果您的设备配备 android 4.3 及更低版本,并且在任何情况下您的设备都已植根。 (我将在下面解释非 root 和 android - 如果您的设备没有 root 并且 android 版本是 4.4 或更高版本。

假设您的设备未植根且 android 版本为 4.3 和次要版本,您必须执行下一步操作:

更改当前数据库的权限:

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用户的权限。如果您需要该程序,我也可以发布。

【讨论】:

    【解决方案2】:

    试试这个:使用 DDMS(Dalvik Debug Monitor Server)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2011-06-01
      相关资源
      最近更新 更多