1、最近客戶提了一個需求,說要在user版本上面切分辨率,默認屏幕分辨率是2.5 k 執(zhí)行adb shell指令之后變成 4k 然后adb shell wm size可以查看
2、一開始我能想到就是在文件節(jié)點添加權(quán)限,這里不管是mtk還是qcom(高通平臺)或者其他的,我首先能想到在device/目錄下 init.xxx.rc文件中onboot添加對應文件節(jié)點權(quán)限
3、于是我懷著滿懷的信心,大哥這讓我怎么玩?完全不給活路嗎?
4、而且執(zhí)行完 之后都是下面這些日志?
?5、反正提示沒有權(quán)限,哪到底應該添加什么權(quán)限?根據(jù)某個網(wǎng)友回答你可能要拿userdebug去驗證下 avc一些相關(guān)權(quán)限,其實我也描述不是很清楚,反正就是需要添加類似于android一樣權(quán)限,比如像android 讀寫權(quán)限 等等,有需要了解可以自己百度去查下哈,這里不再贅述。
6、于是我又編譯一個userdebug版本 然后執(zhí)行我動態(tài)添加
7、 于是在adb 下面執(zhí)行 adb shell setprop debug.sys.display 3 /4?
8、好了現(xiàn)在userdebug可以了,于是我又自信滿滿的 編譯user版本。然后于是又出現(xiàn)下面一幕
?
?9、對于搞系統(tǒng)不久的我來說,我真心看的不是很懂,于是網(wǎng)上搜了下。然后請教了一下某aosp大佬,于是他們這個就是selinux權(quán)限問題,加上就ok,順著這個思路我去system/sepolicy/private/目前去找 這個里面有很多te文件比如nfcte,initte,于是我看著上面日志也有init,然后。嘗試在init.te文件中添加
allow init debugfs:file r file perms
allow init debugfs:file w file perms;
10、但是看起來不是很對勁,于是在public也找到了對應的。加上,在大佬鼓勵下我開始編譯,然后今天同事到公司 早上遠程驗證一把,結(jié)果如下。
11、大功告成 ,但是reboot那些因為目前是? ? ? ? Android8.1可能不支持通過system/bin目錄去執(zhí)行reboot重啟指令,考慮用代碼去實現(xiàn)。
總結(jié)一下:
1、對于linux文件節(jié)點讀寫權(quán)限了解
2、了解對于init.rc,init.qcom.rc,init.target.rc文件 等等 不知道可以自行百度一下
3、對于Selinux權(quán)限了解要看log 了解AVC相關(guān)一些selinux權(quán)限東西?
4、要有耐心調(diào)試
5、不知道可以請教大佬們說不定思路打開了。格局也打開了。
轉(zhuǎn)載請注明出處,謝謝!文章來源:http://www.zghlxwxcb.cn/news/detail-645913.html
Android高通8.1 Selinux問題_KdanMin的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-645913.html
到了這里,關(guān)于Android高通8.1 Selinux問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!