这里介绍一下aosp装系统
什么是aosp
AOSP(Android Open Source Project)是Android操作系统的开源版本。
它由Google主导,提供了Android的源代码和相关工具,供开发者使用和修改。
AOSP包含了Android的核心组件和API,使得开发者能够创建自己的Android版本或在现有的Android设备上进行自定义开发。
由于其开源性质,AOSP可以被用于各种设备,包括智能手机、平板电脑、电视和其他嵌入式设备。
根据上面总结的来说 你可一将AOSP置放于各种硬件上来达到安卓系统的目的
先说一下环境
ubantu 20.04版本 硬盘必须不能低于500G 并且分配四核心四线程
修改好 ubantu的源
这里需要的第三方软件
sudo apt-get install libncurses5sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-
multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev
lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig libncurses5 配置git
git config --global user.email 11111111@qq.com
git config --global user.name "jiuweiyaohu"上面的那个git需要配置你自己的邮箱地址以及名称 可以随便写也可以正确
下载源码
北方用清华镜像源
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/南方用中科大镜像源
http://mirrors.ustc.edu.cn/help/aosp.html如下图 用第一个办法就行 有时候会提示连接量过大 用清华镜像第二个下载也行
开始修改Python
刚开始的python是2.xx 需要修改到3.xx
sudo apt install python3
python3 --version
sudo apt install python3-pip
sudo ln -s /usr/bin/x<这里是 python3 --version 这个命令得到的结果> /usr/bin/python
开始创建AOSP目录
mkdir ~/bin
cd ~/bin然后将下载的安装包转移到ubantu的 ~/bin目录下
tar vxf <转移的那个zpi包>
开始下载repo
repo 是一个管理多个 Git 仓库的工具,主要用于 Android 开发。
它是 Google 为 Android 开源项目(AOSP)开发的,旨在简化和协调多个 Git 仓库的下载和管理。
repo 的主要特点:
简化管理:repo 提供了一种统一的方式来管理多个 Git 仓库,避免了手动处理每个仓库的复杂性。
Manifest 文件:repo 使用一个称为“manifest”的 XML 文件,描述了项目中各个 Git 仓库的配置、分支和路径等信息。
同步仓库:通过 repo sync 命令,可以一次性同步所有相关的 Git 仓库。
版本控制:repo 支持处理项目中不同版本和分支的切换。echo "PATH=~/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install curl
curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' | base64 -d > ~/bin/repo
chmod a+x ~/bin/repo
export REPO_URL='https://gerrit-googlesource.proxy.ustclug.org/git-repo'
cd aosp到此为止! 一定要镜像进行快照 方便以后同步其他版本的Android
开始进行同步指定版本源码
# 在这个网址 找到你手机拥有的驱动
https://developers.google.com/android/drivers#redfinrd1a.200810.020在下面这个地址中找到你所需要的版本
https://source.android.com/docs/setup/about/build-numbers?hl=zh-cn
比如我这个用的手机是Pixel5 那么就找最低的哪个版本
也就是 android-11.0.0_r7
中科大
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r7
谷歌原生
repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r7然后开始 记住了 如果要执行下面的命令一定要在aosp目录 要不然他会复制到你所在的终端目录下
repo sync接下来就是时间教长了 需要等待 完成之后需要进行快照方便下次编译其他版本使用会出现错误如果在aosp目录
warning: repo is not tracking a remote branch, so it will not receive updates
================================================================================
Repo command failed: RepoUnhandledExceptionErrorGitCommandError: 'reset --keep v2.48^0' on repo failed
stderr: error: Entry 'error.py' not uptodate. Cannot merge.
fatal: 不能重置索引文件至版本 'v2.48^0'。cd ~/bin/aosp/.repo/repo
git pull
cd ~/bin/aosp这次就会很快了因为以前有同步过
安装编译环境
如果你已经安装了 java环境 那么就不需要安装了
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk -y
下载驱动
下载下来然后放入到aosp目录中
并且进行解压
tar -zxvf google_devices-redfin-rd1a.200810.020-3940ace1.tgz
tar -zxvf qcom-redfin-rd1a.200810.020-e99cf7f8.tgz
运行这个文件./extract-google_devices-redfin.sh会让你阅读信息 按回车就好 注意到8.几就别一直按了 一直到 8.e 会让你输入 I ACCEPT./extract-qcom-redfin.sh 会让你阅读信息 按回车就好 注意到8.几就别一直按了 一直到 8.e 会让你输入 I ACCEPT完成之后可以删除那两个压缩包节省空间
接下来就可以进行编译版本 需要查看
在这里查看自己的机型进行编译
https://source.android.google.cn/setup/build/building-kernels#id-versio
查看下面实例进行编译
https://source.android.com/setup/build/building接下来执行命令
source build/envsetup.sh
lounch其中有好多 userdebug 这是用于开发和测试的版本,包含调试信息。允许更多的调试功能和开发者选项,适合开发者进行应用程序的调试和系统开发。默认情况下,eng 版本允许 root 权限。eng这是介于 user 和 eng 之间的版本,适合开发者和测试人员。该版本具有某些调试功能,但通常比 eng 更加稳定。默认情况下,userdebug 版本也允许 root 权限,但相比 eng,它限制了一些调试功能,适合进行较为稳定的测试。user这是面向最终用户的版本,通常是发布给普通用户的版本。该版本经过优化,具有更好的性能和稳定性,去掉了大部分调试信息和开发者选项。默认情况下,user 版本没有 root 权限,用户无法通过常规方式获取超级用户权限。此版本旨在提供最佳的用户体验,通常不适合开发和调试。
按照自己的代号去找
到这个目录 (最后一个值按照你自己的去替换)/aosp/device/google/redfin增加编译选项 mkdir AndroidProducts.mk下面是我自己的机型 自己复制的#
# Copyright 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#PRODUCT_MAKEFILES := \$(LOCAL_DIR)/aosp_redfin.mk \$(LOCAL_DIR)/aosp_redfin_user.mk \$(LOCAL_DIR)/aosp_redfin_eng.mk \COMMON_LUNCH_CHOICES := \aosp_redfin-userdebug \aosp_redfin-user \aosp_redfin-eng然后 wq保存创建新的编译条件
vi aosp_redfin_user.mk
PRODUCT_NAME := aosp_redfin
PRODUCT_DEVICE := redfin
PRODUCT_BRAND := Google
PRODUCT_MODEL := Pixel 5
PRODUCT_MANUFACTURER := Google
PRODUCT_DEFAULT_LANGUAGE := en-US
PRODUCT_BUILD_TYPE := user
wq 保存vi aosp_redfin_eng.mk
PRODUCT_NAME := aosp_redfin
PRODUCT_DEVICE := redfin
PRODUCT_BRAND := Google
PRODUCT_MODEL := Pixel 5
PRODUCT_MANUFACTURER := Google
PRODUCT_DEFAULT_LANGUAGE := en-US
PRODUCT_BUILD_TYPE := eng回到aosp目录 从新添加环境
source build/envsetup.sh
开始编译
完成了之后就可以开始选择编译了 一般是选择user版本是最好的 这样很多软件都不会去检测了
我分配的比较少内核 就j4 最靠谱 你可以 j8|16
make -j4 之后就是继续等待
开始刷机
下一章节介绍