我正在嘗試創建一個能夠訪問和修改/data/data/
中的受保護數據庫的應用程序。這個過程顯然需要root權限,我正在根設備上測試它。訪問SQLite數據庫的一般代碼是完整的,並且針對位於其他地方的測試數據庫(在/sdcard/
上)工作。使用root訪問和修改Android上的受保護數據庫
但是,當我希望應用程序訪問/data/data/
內的數據庫時,它顯然失敗,因爲我試圖以普通用戶的身份訪問它。我已經閱讀了關於在Android上使用su
二進制文件的主題,並且據我瞭解,它通常只用於執行shell命令。
因此,我最初的想法是在應用程序啓動時更改文件的權限,並在退出時將其更改回來。所以在實際上在應用程序本身中實現它之前,我使用我的文件瀏覽器將權限更改爲rw-rw-rw-
。但是我的應用程序仍然無法打開數據庫。
我的下一個想法是直接從外殼使用sqlite3
程序,但我發現,我的ROM不來的,所以我將不得不發佈它自己(鈦備份似乎這樣做) 。
但是有些東西讓我懷疑是否有更好的方法:我使用Root Explorer作爲我的文件瀏覽器,它有一個內置的方式來瀏覽任何 SQLite數據庫。鑑於它似乎沒有附帶自定義的sqlite3
二進制文件,並且我的手機本身沒有,訪問似乎使用普通的Java工具進行。但是,應用程序如何獲得root權利呢?
有沒有辦法讓Android應用程序以root身份運行?還是我忘記設置一些權限以防止我訪問它?或者有沒有人知道如何根目錄瀏覽器呢?