Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说利用Git工具,实现Android开发版本管理丨Android系统级开发教程[亲测有效],希望能够帮助你!!!。
欢迎关注燚智能头条号↗
燚智能硬件开发网
讲讲物联网和智能硬件开发的那些事!
在手机、智能硬件和物联网设备中,需要对Android系统的驱动层、框架层进行大量修改。
不同于APP软件开发,Android系统级软件源代码非常庞大,动辄上10G,还有很多人合作修改。
我们可以自建Git服务器,对Android系统级源码开发做好代码上传和改动管理。
1. 先由用户提供一个*.pub文件, 可以使用下面方法生成, pubname是用户名.
ssh-keygen -f ~/.ssh/pubname
2. 在上述生成的 ~/.ssh/目录下创建一个config文件,pubname是用户名
3. 将用户生成的pubname.pub 拷贝到gitolite服务器,
scp pubname.pub user@IP
4.切换到gitolite服务器,可以看到gitolite-admin目录,
ssh pub user@IP
5. 将pubname.pub 移动到gitolite-admin/keydir
6. 进入/gitolite-admin/conf目录,使用vim打开gitolite.conf, 如需打开modem的权限,在如下位置,将pubname名字添加就可以.
7. 保存退出后,我们使用git status 查看,有两个文件有改动, 使用下面命令提交修改, 和我们代码的修改方式一样.
- git add gitolite.conf
- git add ../keydir/pubname.pub
-git status
查看是否所有文件都提交暂存区
- git commit -m "add pubname.pub"
8. 将我们的修改上传到服务器.
- git push
9. 如果已经有pub文件,需要打开某个用户的权限,只需要修改/gitolite-admin/conf/gitolite.conf
1. 我们使用vim gitolite.conf进入编辑界面后,发现有很多@TEAM的信息, 这里是为了方便,将用户的一些权限分组
哪些用户具有哪些权限。
2. 在代码的版本库中我们就可以直接使用这个组,而不需要每个人单独再添加.
3. 在代码的版本库中我们看到有RW+ , RW, R字样,这个代表权限,按照下面方式分配
R(只读权限):软件部释放此权限
RW(读写权限): 驱动部工作人员权限
RW+(超级读写权限): 管理员权限,具有纠错上传的能力,即如果驱动部有人错误上传,可使用此权限用户进行回溯上传,如:
branch_name: 分支名字
commit_id: 正常提交的commit id
git reset --hard commit_id
git push -f origin branch_name:branch_name
欢迎关注燚智能头条号↗
燚智能硬件开发网
智能硬件开发实战派!
精彩内容回顾
以Sensor Hub为例,讲解Android平台驱动移植的过程
Android平台,触摸屏驱动,兼容设计方案