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 之后就是继续等待
开始刷机
下一章节介绍
相关文章:

AOSP沙盒android 11
这里介绍一下aosp装系统 什么是aosp AOSP(Android Open Source Project)是Android操作系统的开源版本。 它由Google主导,提供了Android的源代码和相关工具,供开发者使用和修改。 AOSP包含了Android的核心组件和API,使…...

【JWT】Asp.Net Core中JWT刷新Token解决方案
Asp.Net Core中JWT刷新Token解决方案 前言方案一:当我们操作某个需要token作为请求头的接口时,返回的数据错误error.response.status === 401,说明我们的token已经过期了。方案二:实现用户无感知的刷新token值,我们希望当响应返回的数据是401身份过期时,响应阻拦器自动帮我…...

AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和工作学习方法 AJ-Report是一个基于Java的开源报表工具,它集成了ECharts、Ant Design Vue等前端技术,致力于为企业提供一站式的数据可视化解决方案…...

stm32不小心把SWD和JTAG都给关了,程序下载不进去,怎么办?
因为想用STM32F103的PA15引脚,调试程序的时候不小心把SWD和JTAD接口都给关了,先看下罪魁祸首 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SWGPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//关掉SW&am…...

【UE5】在材质中实现球形法线技术,常用于改善植物等表面的渲染效果
在材质中实现球形法线,这种技术常用于植被渲染等场景。通过应用球形法线可以显著提升植物再低几何体情况下的光照效果。 三二一上截图! 当然也可以用于任何你希望模型圆润的地方,下图中做了一个Cube倒角...

【MATLAB源码-第210期】基于matlab的OFDM电力线系统仿真,不同梳状导频间隔对比。三种信道估计,三种插值误码率对比
操作环境: MATLAB 2022a 1、算法描述 OFDM电力线通信系统(PLC)是一种通过电力线传输数据的通信技术,利用了OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)技术的优势来提高…...

基于SpringBoot的城镇保障性住房管理策略
3系统分析 3.1可行性分析 通过对本城镇保障性住房管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本城镇保障性住房管理系统采用SSM框架,JA…...

支持高性能结构化数据提取的 Embedding 模型——NuExtract-v1.5
NuExtract 是一个用户友好型模型,设计用于从长文档中提取信息。它可以处理长达 20,000 个标记的输入,是合同、报告和其他商业通信的理想选择。NuExtract 的与众不同之处在于它能够处理和理解文档的整个上下文。这意味着它可以捕捉到可能分散在长文本不同…...

【C#】设计一个选购计算机配置的应用程序
文章目录 1. 创建新的 Windows Forms 应用程序项目2. 设计界面2.1 添加控件和设置属性 3. 编写事件处理代码4. 运行和测试应用程序 1. 创建新的 Windows Forms 应用程序项目 打开 Visual Studio。选择“创建新项目”。在项目类型中选择“Windows Forms 应用程序”(…...

solo博客源码使用idea编译运行
solo博客源码使用idea编译运行 solo博客开源地址本地运行IDEA 编译执行默认直接编译jar 包编译 solo博客开源地址 项目地址:GitHub - 88250/solo: 🎸 B3log 分布式社区的 Java 博客端节点系统,欢迎加入下一代社区网络。B3log distributed co…...

VBA07-方法
一、方法的定义 方法指对象所能执行的动作,它是一个动词。 二、方法的表达方式 三、关于工作簿的方法操作 3-1、新增一个工作簿 示例1: 此时,新增的工作簿的名字是系统默认的。 示例2: 【注意】: 当你尝试将工作簿…...

spring boot 统一异常处理
在 Spring Boot 应用中实现统一异常处理是非常重要的,它可以帮助我们更好地管理和响应应用程序中的错误。通过使用 ControllerAdvice 和 ExceptionHandler 注解,我们可以创建一个全局的异常处理器来捕获并处理不同类型的异常。 步骤 1: 创建一个异常处理…...

跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)
文章目录 一、model介绍二、Module三、张量3.1 定义3.2 用法 一、model介绍 容器 Containers 卷积层 Convolution Layers 池化层 Pooling layers 填…...

数字化落地过程中的研发效能治理如何开展?
数字化落地过程中,针对数字化识别到的问题和短板进行专项治理,是通过数字化手段持续提升研发效能非常重要的一环。组织级的数字化专项治理需要组织级团队和技术团队共同配合协同来完成。其中组织级团队负责制定整体的治理目标、流程和策略,根…...

Windows安装配置node.js
下载安装 下载 访问下载 | Node.js 中文网,下载 推荐使用长期支持版本,但是此次是学习用的,使用最新版本试一下 安装 其实一路next基本就可以了,注意调整下安装目录 查看版本 C:\Users\PC>node -v v22.11.0 C:\Users\PC>…...

Javaweb梳理9——JDBC
Javaweb梳理9——JDBC 1.JDBC概述1.1 JDBC概念1.2 JDBC本质1.3 JDBC好处 2.JDBC快速入门2.1 编写代码步骤2.2 具体操作 3 JDBC API详解3.1 DriverManager3.2 Connection3.2.1 获取执行对象3.2.2 事务管理 3.3 Statement3.3.1 概述3.3.2 代码实现 3.4 ResultSet3.4.1 概述3.4.2 …...

逆向CTF入门(如何找main)
Hello, world of reverse! start函数它在执行一些初始化操作,如获取命令行参数、获取环境变量值、初始化全局变量等,一切准备工作完成之后,再调用main函数 快速定位关键函数: 长驱直入法:当程序功能非常明确时,从程序…...

c语言归并排序
归并排序思想: 归并排序可以解释为是将放在数组里的一串数字进行拆分,拆分之后再判断大小合并的过程,每次都是从中间位置拆分,例如有七个数,第一次拆分就将它们分成前三个数为一个数组,后四个数为一个数组&…...

碳化硅陶瓷膜的特性
无机膜包括金属膜、陶瓷膜、玻璃膜等等,其中在水处理领域里出镜最多、应用最广的当属陶瓷膜。比起高分子有机膜,陶瓷膜硬度更高、通量更大、寿命更长,然其性能优越,成本也很“高昂”,故其生存空间自然是受到高分子有机…...

机器学习(三)——决策树(附核心思想、重要算法、概念(信息熵、基尼指数、剪枝处理)及Python源码)
目录 关于1 基本流程2 划分属性的选择2.1 方法一:依据信息增益选择2.2 方法二:依据增益率选择2.3 方法三:依据基尼指数选择 3 剪枝处理:防止过拟合3.1 预剪枝3.2 后剪枝 4 连续与缺失值4.1 连续值处理4.2 缺失值处理 5 多变量决策…...

良心无广,这五款电脑软件堪称必备,最后一个比快播都猛
来吧,直接上狠货! 哔哔音乐 这是一个基于哔哩哔哩开发的电脑听歌软件,众所周知!B站其实就是一个巨大的曲库,啥歌各种版本都能在这里找到。 所以如果依托B站开发听歌软件,那就是真的香,而且软件…...

Vue3中实现原生CSS完成圆形按钮点击粒子效果和定点旋转动画
效果: 源码: <script setup> import { ElMessage } from "element-plus"; const isClick () > {ElMessage.success(Clicked); }; </script><template><button click"isClick" class"button">…...

百度网盘 服务器开小差了
有会员,新上传文件到百度网盘,分享链接, 别人打开链接,显示【服务器开小差了,请稍后重试~】,保存不了 试了几个都不行,文件是视频MP4 可行的方法是百度网盘加好友,然后在聊天页面单…...

数据分析师招聘要求
在当今数据驱动的世界中,数据分析师的角色变得愈发重要,他们被赋予从海量数据中提炼洞察的关键任务。数据分析师的招聘要求反映了这个职位多方面的需求,从教育背景到技能,再到软技能和行业特有的知识。本文将详细探讨这些要求&…...

【C语言】实战-力扣题库:回文链表
题目描述 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 提示: 链表中节点数目在范围[1, 105] 内0 < Node.val < 9 进阶:你能否用 O(n) 时间…...

Centos安装Minio
文章目录 1 远程下载二进制文件2 创建目录:文件存储、日志3 授权执行4 启动5 创建配置文件6 注册服务并开机自启7 创建key附录参考文档 1 远程下载二进制文件 [rootlocalhost bin]# cd /opt/package [rootlocalhost package]# wget https://dl.min.io/server/minio…...

二叉树的基本概念和底层实现
1. 树型结构 1.1 认识树 在学习二叉树之前我们需要了解一下树型结构 树是一种非线性的数据结构,它是由n个结点组成的一个有层次关系的集合,看起来像个倒挂的树,也就是根朝上,枝叶朝下. 特点: 1. 根结点没有前驱结点 2. 除了根结点外其他的结点被分为互不相交的集合,每个集合又…...

GIF图片格式详解(三)
gif历史部分介绍请参考上一篇《GIF图片格式详解(一)》, 格式部分详解参考 《GIF图片格式详解(二)》 或直接访问博客地址:https://blog.whatsroot.xyz/2023/12/16/all-about-gif/ 本篇介绍下用于处理gif图…...

类和对象相关题
文章目录 1. 求123...n2. 计算是这一年的第几天3. 求两个日期之间的天数4. 算出第n天是几月几号5. 计算一个日期加上若干天后是什么日期 1. 求123…n 求123…n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C&a…...

Word大珩助手:超大数字怎么读?35位数字?69位数字?
俄罗斯日前对谷歌开出了20000000000000000000000000000000000(35位数字)美元的罚款 这一数字远超全球GDP总和,消息一出很快就登上热搜。 面对这样一个庞大的数字,人们不禁好奇,这样的数字该如何读出来? …...