createpatch命令?平常在進入Android系統獲取root權限的方式是使用ADB shell的方式,但是某個應用或功能需要root權限,那麼在每次開機後還需要連接ADB獲取root權限是十分麻煩且不符合需求的,按照以下方式修改可以使系統上電後默認獲取root權限,現在小編就來說說關于createpatch命令?下面内容希望能幫助到你,我們來一起看看吧!
平常在進入Android系統獲取root權限的方式是使用ADB shell的方式,但是某個應用或功能需要root權限,那麼在每次開機後還需要連接ADB獲取root權限是十分麻煩且不符合需求的,按照以下方式修改可以使系統上電後默認獲取root權限。
以RK3399的Android7.1為例:
1. 修改build/core/main.mk
ifneq (,$(user_variant))
## Target is secure in user builds.
ADDITIONAL_DEFAULT_PROPERTIES = ro.secure=0 改為0 默認是1
ifeq (true,$(strip $(enable_target_debugging)))
\# Target is more debuggable and adbd is on by default
ADDITIONAL_DEFAULT_PROPERTIES = ro.debuggable=1 改為1 默認是0
ADDITIONAL_DEFAULT_PROPERTIES = ro.secure=0 (或者按第2條改)
2. 修改:/device/rockchip/rk3399/system.prop
如果需要将“允許USB調試嗎?...這台計算機的RSA密鑰”提示去掉,可以解壓修改system.img中build.prop
将ro.adb.secure=0(0為不顯示信任此電腦對話框,1為顯示信任此電腦對話框)
ro.adb.secure=0 \ 改為0 默認是1
Patch制作之前我們大多數的開發方式都是直接在源碼中增删改查,然後使用git去進行版本管理,這種方式對于一個純淨的項目一般不會有問題。假設有如下場景,A客戶同一個系列産品有3個型号,除了共有功能外,各個型号還有自身定制的功能,這種情景下适合使用patch的方式來做了,将客戶的所有需求都制成單一功能的patch,按照客戶型号需求在編譯前打上patch即可,源碼一直保持在最純淨的狀态。
實現步驟
獲取到源碼後在合适的位置建立如下路徑:patch->客戶名->型号(01,02,03),common,将共有的功能放在common下,各型号文件夾下放定制功能,最後在各文件夾下新建腳本文件,common文件夾下的腳本應該被其它定制型号文件夾的腳本調用。
patch
patch最好遵從單一功能原則,即一個功能一個patch。開發某個功能前,先保證之前的内容已經全部add了,不然會混入到patch,開發完成後使用如下命令制作patch
git diff filename >> *.patch
制作完成後,将其add起來,開始進行下一功能的開發。制作好的patch放到對應的文件夾,在腳本中新增打patch的語句如下:
cd kernel/ #跳轉到要打patch的目錄
pwd
patch -p1 -i ../a.patch #打上patch
patch -Rp1 -i ../a.patch #撤銷patch
cd ../ #退回到根目錄
這裡主要注意路徑的問題,patch要打在哪裡和patch的位置以及當前執行腳本位置的相對路徑關系。
另外腳本的編寫順序最好和自己開發步驟的順序一緻,不然容易出現沖突問題。開發完成後就隻需要提交這些patch到服務器即可,源碼中的内容就不需要提交了。
頭條号:懷揣夢想的自由開發者
公衆号:風宇軟件
B站:貓貓俠的正義
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!