如何讀取第三方應用的資料庫?(PART 1)

2021-10-24 11:47:46 字數 1159 閱讀 8865

怎麼辦呢?要不要去告訴經理該需求難以實現呢?

哈哈,咱們回顧下開頭的那段對話,裡面有我們的解決方案!

沒錯,我們可以root嘛,雖然安卓並不是很喜歡root這個東西,但是針對這個需求,它卻是乙個好東西呢。

至於如何root,網上有太多太多的方案,這裡就不再贅述,只是給大家分享一下我參考的一種方式:

root方案

root之後,我們通過file的listfile去遍歷檔案試試,如果不出意外的話會報乙個no such file錯誤。可以我們通過device file explorer是可以看到對應檔案的,難道是root之後還是沒法訪問到data目錄嗎?

或許是沒有root成功?我們用adb shell來認證一下:

首先,我們開啟cmd視窗,輸入adb shell命令執行,結果如下圖:

輸入su之後執行

我們看到$變成了#,這說明手機是root成功了的。

既然我們已經開啟了cmd,不如通過命令的方式去檢視下資料庫所在的目錄?剛才提到過,我們借助device file explorer是能夠看到對應的目錄的,我們直接通過cd命令訪問某目錄,並ls列印列表看一下。

神奇不神奇?

通過命令我們竟然能夠訪問到資料庫所在的目錄,那麼在安卓**中是不是也可以通過命令來訪問呢?

答案顯然是可以的。

我們寫乙個方法來獲取資料庫列表,**如下:

private  listgetdblistbypkg(string pkgname)}}

in.close();

out.close();

proc.destroy();

} catch (exception e)

return dbs;

}

如何讀取第三方應用的資料庫?(PART 2)

public static void move string oldpath,string newpath catch exception e finally process.destroy catch exception ee 將db檔案複製到公有空間 如外部儲存 之後,我們就可以通過sqlite...

IOS第三方資料庫 FMDB

ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...

IOS第三方資料庫 FMDB

ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...