首页
/
每日頭條
/
生活
/
createpatch命令
createpatch命令
更新时间:2024-11-30 19:16:02

createpatch命令?平常在進入Android系統獲取root權限的方式是使用ADB shell的方式,但是某個應用或功能需要root權限,那麼在每次開機後還需要連接ADB獲取root權限是十分麻煩且不符合需求的,按照以下方式修改可以使系統上電後默認獲取root權限,現在小編就來說說關于createpatch命令?下面内容希望能幫助到你,我們來一起看看吧!

createpatch命令(打開root權限和patch制作)1

createpatch命令

打開root權限

平常在進入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站:貓貓俠的正義

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved