1.首先要有一个patch文件,通过commitID生成
git show 318f6288b25a0e1d64c078ddd5531b06ae9a090a /codes/SPRD_A15/packages/apps/Settings > /home/huangxiaofeng/diff/diff
PS:commitID要找对,以如下SHA1 ID为准,commitID应该是:34ad4fb1172312d0cac58b83d01d3f46cba6699e

2.打入patch:
patch -p0 < /home/huangxiaofeng/diff/diff
命令很简单,但-p后面的数字确定很重要,否则打的不对
说的太多都显得苍白,直接看例子:
patch如下:
进入到源码路径:
!](https://i-blog.csdnimg.cn/direct/2afda608794f4fb49c291a920dffe441.png#pic_center)
在该目录下打开命令行:
执行:patch -p5 < /home/huangxiaofeng/Downloads/0001-.patch
这里参数-p为什么是5就很重要,取一个patch路径:
sys/vendor/blackview/openSource/DK_Settings/dkSettingsCore/res_bv/drawable/incar_icon_battery_health.xml,这里我们所在的当前目录是openSource,往前数(当前也算)到sys,就是4级,但实际上patch生成的路径,一般都会带一级a/…,也就是其实patch的路径应该是a/sys/vendor/blackview/openSource/DK_Settings/dkSettingsCore/res_bv/drawable/incar_icon_battery_health.xml,所以这里一共是5级,p后面的参数就是5. 如果这个数字不对,会提示找不到xxx文件,导致patch打入失败。
-----------------------------20251125--------------------------
补充个例子,加深印象,这次打systemui的patch
patch如下:
进入到SystemUI的源码目录下:/codes/chinoe_t_mtk_dev/vendor/blackview/packages/DK_SystemUI
在该目录下打开终端,并执行以下命令:
此处-p接的参数为什么是5,一样的原理:
patch的路径为:a/vendor/blackview/packages/DK_SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
我们当前在DK_SystemUI,往前数5级,刚好到根a,所以这里是5,以上截图表示patch全部正确打入,没有错误。
3273

被折叠的 条评论
为什么被折叠?



