root权限怎么开启(打开root权限和patch制作)

夏星
打开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 默认是1ifeq (true,$(strip $(enable_target_debugging)))\# Target is more debuggable and adbd is on by defaultADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 改为1 默认是0ADDITIONAL_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的目录pwdpatch -p1 -i ../a.patch #打上patchpatch -Rp1 -i ../a.patch #撤销patchcd ../ #退回到根目录

这里主要注意路径的问题,patch要打在哪里和patch的位置以及当前执行脚本位置的相对路径关系。

另外脚本的编写顺序最好和自己开发步骤的顺序一致,不然容易出现冲突问题。开发完成后就只需要提交这些patch到服务器即可,源码中的内容就不需要提交了。

头条号:怀揣梦想的自由开发者

公众号:风宇软件

B站:猫猫侠的正义

免责声明:本文来自王陇德,不代表浮光掠影知识网 - 专注有价值知识的生活内容平台的观点和立场,如有侵权请联系本平台处理。

相关阅读

发表评论

表情:
评论列表 (暂无评论,1960人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码