前言
在android程序開發(fā)中揭北,一般開發(fā)者都喜歡root手機(jī)圃庭,因?yàn)閞oot過(guò)后的手機(jī),你對(duì)于這個(gè)手機(jī)歼冰,就是一個(gè)真正的上帝了靡狞。你可以查看任何數(shù)據(jù)的私有目錄,特別是data/data/packageName/files,隨意的篡改目錄下內(nèi)容隔嫡。
ok甸怕,一般我們作為開發(fā),都會(huì)做一些"云控"更新數(shù)據(jù)的事情腮恩,比較喜歡把數(shù)據(jù)放到私有目錄下梢杭,因?yàn)椴还苁瞧胀ㄊ褂谜呋蛘呤瞧渌麘?yīng)用,都是無(wú)法來(lái)侵犯 我們這個(gè)“神圣的領(lǐng)域的”秸滴。
接著武契,我們來(lái)切入正題,有這樣一個(gè)場(chǎng)景:我們要“云控”來(lái)決定一個(gè)activity展示的內(nèi)容,數(shù)據(jù)呢咒唆,自然是通過(guò)http 下發(fā)到私有目錄 files下面届垫,但是呢,我們這個(gè)功能還在開發(fā)階段全释,沒有部署服務(wù)端接口装处,然后呢,反正我的手機(jī)root了浸船,干脆直接把要“云控”的資源copy到files下就行啦妄迁,哈哈哈,好聰明李命。
進(jìn)展
聰明如我登淘,開始執(zhí)行,然后项戴,就會(huì)看到這個(gè):

令人惡心的權(quán)限問(wèn)題
解決
接著就該找解決方法了形帮,我們先來(lái)看看資源的權(quán)限:
令人暖心的命令行
先要說(shuō)明下:aq 是程序內(nèi)部自己創(chuàng)建的,aq_root是我擁有root權(quán)限后在該files目錄下手動(dòng)創(chuàng)建的周叮,aq_root_other是我在別的地方創(chuàng)建,然后拷貝到該目錄下的界斜。ok仿耽,文件所屬用戶組以及讀寫權(quán)限一目了然。然后我們?cè)賮?lái)看第一張圖片各薇,報(bào)錯(cuò)的位置 :
libcore.io.Posix,open
项贺,C層權(quán)限問(wèn)題啊,所以我們要看看這部分是什么樣的邏輯啦