AOSP沙盒android 11

这里介绍一下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  之后就是继续等待

开始刷机

下一章节介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/466910.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git提交冲突的原因及解决方案

一、场景一 1.冲突原因 提交者的版本库 < 远程库 要保障提交者的版本库信息和远程仓库是一致的 2.解决方案 实现本地同步git pull,再提交代码&#xff08;最好每次git push之前都git pull一下&#xff0c;防止这种情况的出现&#xff09; 场景二 1.冲突原因 别人跟你…

第十五届蓝桥杯C/C++B组题解——数字接龙

题目描述 小蓝最近迷上了一款名为《数字接龙》的迷宫游戏&#xff0c;游戏在一个大小为N N 的格子棋盘上展开&#xff0c;其中每一个格子处都有着一个 0 . . . K − 1 之间的整数。游戏规则如下&#xff1a; 从左上角 (0, 0) 处出发&#xff0c;目标是到达右下角 (N − 1, N …

得物多模态大模型在重复商品识别上的应用和架构演进

重复商品治理介绍 根据得物的平台特性&#xff0c;同一个商品在平台上不能出现多个链接&#xff0c;原因是平台需要保证一品一链的特点&#xff0c;以保障商品的集中竞价&#xff0c;所以说一个商品在整个得物平台上只能有一个商详链接&#xff0c;因此我们需要对一品多链的情…

盘点2024年惊艳的10款录屏工具!!

你是否经常需要捕捉电脑屏幕上的精彩瞬间&#xff1f;或者想要记录自己操作某个应用程序的流程&#xff1f;这时候你就需要一款录屏工具啦&#xff01;在学习、工作和娱乐中&#xff0c;录屏工具都能成为你的得力助手。无论你是做教学视频、游戏解说还是分享精彩瞬间&#xff0…

vue+websocket实现即时聊天平台

目录 1 什么是websocket 2 实现步骤 2.1 导入依赖 2.2 编写代码 1 什么是websocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它主要用于在客户端和服务器之间建立持久的连接&#xff0c;允许实时数据交换。WebSocket 的设计目的是为了提高 Web 应用程序的…

软件设计师-上午题-15 计算机网络(5分)

计算机网络题号一般为66-70题&#xff0c;分值一般为5分。 目录 1 网络设备 1.1 真题 2 协议簇 2.1 真题 3 TCP和UDP 3.1 真题 4 SMTP和POP3 4.1 真题 5 ARP 5.1 真题 6 DHCP 6.1 真题 7 URL 7.1 真题 8 浏览器 8.1 真题 9 IP地址和子网掩码 9.1 真题 10 I…

C++:map 和 set 的使用

前言 平衡二叉搜索树 ( AVL树 ) 由于二叉搜索树在特殊情况下&#xff0c;其增删查的效率会降低到 O ( N )&#xff0c;因此对二叉搜索树进行改良&#xff0c;通过旋转等方式将其转换为一个左右均衡的二叉树&#xff0c;这样的树就称为平衡二叉搜索树&#xff0c;又称 AVL树。…

Vue 自定义icon组件封装SVG图标

通过自定义子组件CustomIcon.vue使用SVG图标&#xff0c;相比iconfont下载文件、重新替换更节省时间。 子组件包括&#xff1a; 1. Icons.vue 存放所有SVG图标的path 2. CustomIcon.vue 通过icon的id索引对应的图标 使用的时候需要将 <Icons></Icons> 引到使用的…

面相小白的php反序列化漏洞原理剖析

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理反序列化漏洞的一些成因原理 建议学习反序列化之前 先对php基础语法与面向对象有个大体的了解 (我觉得我整理的比较细致&#xff0c;了解这俩是个啥就行) 漏洞实战情况 这个漏洞黑盒几乎不会被发现&am…

ReactPress:深入解析技术方案设计与源码

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议&#xff0c;欢迎一起共建&#xff0c;感谢Star。 ReactPress是一个基于React框架开发的开源发布平台&#xff0c;它不仅仅是一个简单的博客系统&#xff0c;更是一个功能全…

canal1.1.7使用canal-adapter进行mysql同步数据

重要的事情说前面&#xff0c;canal1.1.8需要jdk11以上&#xff0c;大家自行选择&#xff0c;我这由于项目原因只能使用1.1.7兼容版的 文章参考地址&#xff1a; canal 使用详解_canal使用-CSDN博客 使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步_mysql更…

SpringBoot之定时任务

1. 前言 本篇博客是个人的经验之谈&#xff0c;不是普适的解决方案。阅读本篇博客的朋友&#xff0c;可以参考这里的写法&#xff0c;如有不同的见解和想法&#xff0c;欢迎评论区交流。如果此篇博客对你有帮助&#xff0c;感谢点个赞~ 2. 场景 我们讨论在单体项目&#xff0c…

绿色能源发展关键:优化风电运维体系

根据QYResearch调研团队最新发布的《全球风电运维市场报告2023-2029》显示&#xff0c;预计到2029年&#xff0c;全球风电运维市场的规模将攀升至307.8亿美元&#xff0c;并且在接下来的几年里&#xff0c;其年复合增长率&#xff08;CAGR&#xff09;将达到12.5%。 上述图表及…

前端 Canvas 绘画 总结

目录 一、使用案例 1、基础使用案例 2、基本案例改为直接JS实现 二、相关资料 1、API教程文档 2、炫酷案例 一、使用案例 1、基础使用案例 使用Canvas的基本步骤&#xff1a; 1、需要一个canvas标签 2、需要获取 画笔 对象 3、使用canvas提供的api进行绘图 <!--…

力扣排序455题(分发饼干)

假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。 但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i],这是能 让孩子们满足胃口的饼干的最小尺寸;并且每块饼 干j&#xff0c;都有一个尺寸 s[j]。如果 s[j]> g[i]&…

C语言 | Leetcode C语言题解之第537题复数乘法

题目&#xff1a; 题解&#xff1a; bool parseComplexNumber(const char * num, int * real, int * image) {char *token strtok(num, "");*real atoi(token);token strtok(NULL, "i");*image atoi(token);return true; };char * complexNumberMulti…

Android使用scheme方式唤醒处于后台时的App场景

场景&#xff1a;甲App唤醒处于后台时的乙App的目标界面Activity&#xff0c;且乙App的目标界面Activity处于最上层&#xff0c;即已经打开状态&#xff0c;要求甲App使用scheme唤醒乙App时&#xff0c;达到跟从桌面icon拉起App效果一致&#xff0c;不能出现只拉起了乙App的目标…

如何对接低价折扣相对稳定电影票渠道?

对接低价折扣电影票渠道需要经过一系列步骤&#xff0c;以确保能够为用户提供优惠且可靠的购票体验。以下是一个基本的对接流程&#xff1a; 1.市场调研&#xff1a; 调研市场上的电影票销售渠道&#xff0c;了解主要的电影票批发商和分销商。分析竞争对手的折扣电影票服务&a…

【上云拼团Go】如何在腾讯云双十一活动中省钱

1. 前言 双十一已经成为了全球最大的购物狂欢节&#xff0c;除了电商平台的优惠&#xff0c;云计算服务商也纷纷在这个期间推出了诱人的促销活动。腾讯云作为中国云计算的领军企业之一&#xff0c;每年双十一的活动都吸引了大量开发者、企业和个人用户参与。那么&#xff0c;在…

新能源企业在精益变革过程中可能会遇到哪些困难?

在绿色转型的浪潮中&#xff0c;新能源企业作为推动社会可持续发展的先锋力量&#xff0c;正加速迈向精益化管理的新阶段。然而&#xff0c;这条变革之路并非坦途&#xff0c;而是布满了未知与挑战。本文&#xff0c;天行健王春城老师将深入探讨新能源企业在精益变革过程中可能…