2017-08-03 48 views
0

如何將SQLite數據庫從我的Mac推回到覆蓋舊數據庫的應用程序?如何將SQLite數據庫從Mac推送到非根設備?

我想最簡單的和最新的答案:

  • 上有沒有像素SD卡 - 所以沒有SD卡解決方案。
  • 該設備沒有根,不會。沒有根解決方案。
  • 如果可能的資源管理器/命令行的方式先做到這一點,
  • 作爲最後的手段以編程的方式把它拉

任何想法?

+0

在無根設備上,您將無權覆蓋舊數據庫。您可以將文件推送到您有權使用adb(mac版本)的地方。然後以編程方式打開文件並將數據複製到舊數據庫中。 –

+0

你會推薦什麼地方?以及關於abd命令行示例的任何想法? – Xarsiss

回答

0

我回答了我自己的問題。此解決方案適用於非根設備(即使沒有SD卡)!您的應用中無需使用任何代碼。無論是從終端:

從你的App拉SQLite數據庫到Mac

首先是你想要的數據庫中,然後打開了目錄:

adb -d shell "run-as your.package.name cat databases/source_database_name" > target_database_name 

把你的從Mac新的/修改的SQLite數據庫回到您的應用程序

adb push database_name /sdcard/database_name 
adb shell 
run-as your.package.name 
cat /sdcard/database_name > databases/database_name 

Th對於像我這樣的開發人員來說,解決方案似乎更具可持續性和可重複性,他們希望在Mac上快速創建/編輯SQLite數據庫並輕鬆地將其發送出去。

相關問題