2012-04-21 70 views

回答

1

,有沒有辦法將數據庫裝載到從實際應用的環境之外的sqliteDatabase連接器?

是的,如果試圖打開數據庫的代碼具有對數據庫文件的讀寫權限。在這種情況下,只需在SQLiteDatabase上使用open()即可。

因此,以root身份運行的應用程序可以執行此操作,但普通的其他應用程序無法執行此操作,這是出於明顯的安全原因。

即使我試圖從內核訪問?

由於內核不運行Dalvik,因此您將無法以上述方式打開數據庫。

+0

由於我要從操作系統中進行操作,因此我可以對數據庫文件進行chmod並將其加載到SQLiteDatabase中。 – 2012-04-21 21:14:18

0

我不認爲這是可能的。這是Android的安全模式 的基礎。 http://developer.android.com/intl/de/guide/topics/security/security.html

其他數據庫必須有一個已發佈的ContentProvider,其上實現了 ,以便您能夠訪問其數據。 那麼你可以嘗試但這個http://androidforums.com/application-development/65082-accessing-database-another-application-using-content-provider.html

+0

嗯,即使我試圖從內核訪問? – 2012-04-21 08:13:55

+0

我真的不認爲這是可能的,除非其他應用程序已使用內容提供商或具有相同的簽名或已將其數據庫存儲在SD卡上。 – 2012-04-21 08:26:06

相關問題