爲了發佈我的Android應用程序,我必須從開發過程中使用的com.example.project更改軟件包名稱。 儘管在更改包名後,我無法再訪問sqlite數據庫。我嘗試通過.adb訪問它,它適用於舊的軟件包名稱,但不適用於新的軟件包名稱。如何在Android中更改包名後訪問我的Sqlite數據庫?
如何訪問數據庫爲了把它放在新的包下?我有一箇舊的未改變的項目文件的副本。
非常感謝! AK
爲了發佈我的Android應用程序,我必須從開發過程中使用的com.example.project更改軟件包名稱。 儘管在更改包名後,我無法再訪問sqlite數據庫。我嘗試通過.adb訪問它,它適用於舊的軟件包名稱,但不適用於新的軟件包名稱。如何在Android中更改包名後訪問我的Sqlite數據庫?
如何訪問數據庫爲了把它放在新的包下?我有一箇舊的未改變的項目文件的副本。
非常感謝! AK
這是模擬器還是手機?如果您在手機上的發展,並已建立了一個數據庫,你想:
如果手機根植 - 使用文件資源管理器(或DDMS查看文件瀏覽器),並從/data/data/com.example.prackage/databases
得到它,並把它放在你的新的包文件夾。
如果手機沒有固定 - 如果您有原始軟件包代碼,請創建備份腳本以複製文件夾/data/data/com.example.prackage/databases
中的sqlite文件 - 您還需要知道數據庫文件名。然後在新軟件包中創建代碼的反轉,將文件從SDCard複製到新軟件包DB文件夾。
如果在模擬器上 - 使用DDMS視圖文件資源管理器從數據庫文件夾中獲取文件。
此鏈接可以幫助備份和恢復:
Backup/Restore Sqlite to SDCard
UPDATE
一種方法,使用DDMS文件資源管理器
這應該將數據庫複製到新包中,以便您可以像以前那樣使用它。
以上是使用從命令提示符亞行的DB文件從舊的包複製到新包的GUI,像這樣:
adb pull /data/data/com.example.package/databases C:\tempdb
這應該使的副本舊的數據庫,那麼:
adb push C:\tempdb /data/data/com.example.package/databases
你創建從代碼數據庫?或者你已經有了sqlite文件? – Cristian 2010-12-01 17:39:43
我在項目中使用了它,我唯一做的是更改軟件包名稱。當我從命令提示符訪問它時,它在它的舊包名下。有沒有辦法移動它,或複製它? – kakka47 2010-12-01 18:00:36