android 源码编译android 12

一、python安装

python2

sudo apt-get install python

python3

sudo apt-get install python3

二、repo管理多个git

repo因为Android源码由多个git组成,故安装repo利于管理git工程.

repo安装步骤

a.第一步, 新建一个空白文件夹保存repo引导文件,并包含你的路径

复制代码
  mkdir ~/bin
  PATH=~/bin:$PATH    //配置环境变量

b.下载启动器

注意

如果提示 curl: command not found ,那是因为没装 Curl

执行 :sudo apt-get install curl -y

复制代码
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
或
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo

chmod a+x ~/bin/repo

我采用的是另外一种方法

首先

复制代码
sudo snap install git-repo

其次

复制代码
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo


下载repo
    git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo

c.将git-repo中的repo文件复制到 1 创建的.bin目录中

复制代码
cd git-repo/
cp repo ~/bin/

d.修改权限

复制代码
chmod a+x ~/bin/repo

e. 执行版本检查

复制代码
repo -version 


如果报错
 File "/bin/repo", line 51
    def print(self, *args, **kwargs):
            ^
    SyntaxError: invalid syntax

发现是python链接的不对,我的ubuntu装了两个版本的python,分别是python2.7和python3.8,输入python后提示是python2.7,因为python软链接到python2上面了:

/usr/bin/python

-> /usr/bin/python2*

repo需要的是python3,所以需要修改一下上面的软链接:

复制代码
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

三、初始化工程

a.执行创建文件夹命令,创建android10文件夹

复制代码
mkdir android10

b.切换到android12目录下

复制代码
cd android12/

c.初始化android12

复制代码
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-security-12.0.0_r47

注意如果被拒绝

repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc

复制代码
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

初始化git

复制代码
git config --global user.email "450561200@qq.com"
git config --global user.name "mogutou"

再执行

复制代码
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-security-12.0.0_r47

d.同步下载android源代码

复制代码
repo sync -j4
相关推荐
iCan_qi17 分钟前
【Mac】【Minecraft】关于如何在Mac上搭建基岩版MC服务器的方法
运维·服务器·macos·minecraft
ezreal_pan2 小时前
Kubernetes 负载均衡现象解析:为何同一批次请求集中于单个 Pod
运维·云原生·k8s·traefik
朱皮皮呀3 小时前
Spring Cloud——服务注册与服务发现原理与实现
运维·spring cloud·eureka·服务发现·php
yuanpan4 小时前
ubuntu系统上的conda虚拟环境导出方便下次安装
linux·ubuntu·conda
云边云科技4 小时前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
城管不管4 小时前
Docker核心---数据卷(堵门秘籍)
运维·docker·容器
AOwhisky5 小时前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
Gavin_9155 小时前
从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
linux·ruby on rails·开源·debian·ruby·redmine
xuanerya5 小时前
使用 SSH 方式克隆 GitHub 仓库没有权限解决办法
运维·ssh·github
花小璇学linux5 小时前
imx6ull-驱动开发篇31——Linux异步通知
linux·驱动开发·嵌入式软件