前言
在android程序開發(fā)中,一般開發(fā)者都喜歡root手機,因為root過后的手機,你對于這個手機,就是一個真正的上帝了。你可以查看任何數據的私有目錄,特別是data/data/packageName/files,隨意的篡改目錄下內容。
ok,一般我們作為開發(fā),都會做一些"云控"更新數據的事情,比較喜歡把數據放到私有目錄下,因為不管是普通使用者或者是其他應用,都是無法來侵犯 我們這個“神圣的領域的”。
接著,我們來切入正題,有這樣一個場景:我們要“云控”來決定一個activity展示的內容,數據呢,自然是通過http 下發(fā)到私有目錄 files下面,但是呢,我們這個功能還在開發(fā)階段,沒有部署服務端接口,然后呢,反正我的手機root了,干脆直接把要“云控”的資源copy到files下就行啦,哈哈哈,好聰明。
進展
聰明如我,開始執(zhí)行,然后,就會看到這個:

令人惡心的權限問題
解決
接著就該找解決方法了,我們先來看看資源的權限:

令人暖心的命令行
先要說明下:aq 是程序內部自己創(chuàng)建的,aq_root是我擁有root權限后在該files目錄下手動創(chuàng)建的,aq_root_other是我在別的地方創(chuàng)建,然后拷貝到該目錄下的。ok,文件所屬用戶組以及讀寫權限一目了然。然后我們再來看第一張圖片,報錯的位置 :
libcore.io.Posix,open ,C層權限問題啊,所以我們要看看這部分是什么樣的邏輯啦