AOSP刷机笔记

news2024/12/26 20:54:11

下载官方镜像,下载对应AOSP,编译出的*.img替换到官方镜像对应的文件, 刷入

把证书放到aosp源码的system/ca-certificates/files文件夹里,lunch aosp_sailfish-user编译可以实现无root抓包

mkdir ~/bin
PATH=~/bin:$PATH
curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' | base64 -d > ~/bin/repo

mkdir AOSP
cd AOSP
mkdir android-10.0.0_r17
cd android-10.0.0_r17
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-10.0.0_r17
repo sync
# 下载需数个小时 nohup repo sync > ../log 2>&1 &

查看Android系统版本号、对应BuildID和支持的设备关系

https://source.android.com/docs/setup/about/build-numbers#source-code-tags-and-builds

AOSP官网 https://android.googlesource.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/git/AOSP
中科大源:https://mirrors.ustc.edu.cn/aosp/

Driver Binaries for Nexus and Pixel

需要添加设备驱动
https://developer.google.com/android/drivers

官方镜像

https://developers.google.com/android/images
也可以查看设备代号,例如Pixel的代号为sailfish

gsi镜像

https://developer.android.com/topic/generic-system-image/releases

ubuntu安装依赖库

sudo apt update
sudo apt install bison tree
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 libxml2-utils

需要切换到java1.8
sudo apt install openjdk-8-jdk
sudo update-alternatives --config java

使用bash编译

chsh -s /bin/bash
bash

cd AOSP/android-10.0.0_r17/
source build/envsetup.sh
lunch # 选择Pixel对应的代号sailfish
#(编译user版本的话是 lunch aosp_sailfish-user)
make -j4
# 编译需数个小时 nohup make -j4 > ../log 2>&1 &

# 下载原官方镜像,替换img
unzip image-sailfish-qp1a.190711.020.zip
#
# 讲解压得到的img文件都替换成编译出来的img文件
#
# 重新压缩
zip image-sailfish-qp1a.190711.020.zip android-info.txt boot.img system.img system_other.img vendor.img
rm android-info.txt boot.img system.img system_other.img vendor.img
# 刷入
./flash-all.sh

我第一个编译的系统
在这里插入图片描述

官方编译GSI步骤

https://source.android.com/docs/setup/create/gsi#building-gsis

查看手机是否Treblized

支持Treblized才能刷GSI
https://play.google.com/store/apps/details?id=com.kevintresuelo.treble&hl=en&gl=US

将编译的GSI刷入

把编译出来的system.img刷入,详看教程
https://www.thecustomdroid.com/install-generic-system-image-on-project-treble-devices/

OEM解锁、关锁

fastboot oem lock
fastboot oem unlock

🤔以后改机把AOSP的特征去掉!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是集中采购 集中采购管理软件介绍

什么是集中采购? 集中采购是指企业总部某特定部门对企业所有采购进行管控,他们负责获取整个组织需要的物资。这个部门负责与供应商联络、供应商寻源、合同管理、风险分析,以及从供应商那里获得所需物资的每项工作。 企业采用集中采购管理模…

什么叫joinquant量化策略?

joinquant量化主要是在数据挖掘上有特别的意义,不像平时我们在执行各个量化选股策略时,还要一个一个去输入去查询。而joinquant量化策略在开发方面就简便了很多,joinquant量化策略是运用到个股量化交易中能够针对各个股票数据都能快速挖掘出来…

mongodb安装和部署,并整合到Springboot

mongodb安装和部署,并整合到Springboot 1.linux上docker安装mongodb docker pull mongo:4.4.18使用docker命令启动: docker run -p 27017:27017 --name mongo \ -v /mydata/mongo/db:/data/db \ -d mongo:4.4.18运行容器 docker exec -it mongo /bin/bash# 进入…

C进阶_字符串查找库函数

strstr 查找strstr的文档,可知它的原型为: char *strstr( const char *string, const char *strCharSet ); 它的返回值,根据文档是这样的: Return Value Each of these functions returns a pointer to the first occurrence …

使用 YonBuilder 进行报表分析 - 扩展篇

使用 YonBuilder 进行报表分析 - 扩展篇 在上一篇文章中,我们讲解了如何构建简单的报表以及交叉表的基础配置。本篇文章通过对主子表、树型表以及数据穿透的创建来对 YonBuilder 的报表配置进行扩展介绍。 创建报表 首先,要先创建一个员工信息实体&…

CSS选择器整理学习(中)

书接上回,在前端项目开发中,有时候需要对特殊的元素进行特殊的处理,但有时候元素的位置不确定、层级不确定、数量不确定等问题,导致我们没办法进行元素的选择,这个时候我们就需要用到元素选择器了。 一、CSS选择器 1…

加油站视频监控智能分析盒基于yolov5

加油站视频监控智能分析盒基于yolov5人工智能视觉技术,对现场画面中明火和烟雾以及人员抽烟、打电话等违规行为进行识别。除此之外,还可以对现场画面中卸油时灭火器未按要求正确摆放以及静电释放时间不足和人员离岗等不规范行为进行自动预警。YOLOv5在YO…

【云原生】k8s图形化管理攻击之rancher

内容预知 前言 1. Rancher的相关知识 1.1 Rancher的简介 1.2 Rancher与k8s的关系及区别 1.3 Rancher具有的优势 2. Rancher的安装部署 2.1 实验环境与部署图分配 2.2 具体的部署操作 (1)在 rancher 节点下载 rancher 镜像 (2&#xff…

程序员同事每天准点下班,原来是用了这6个开发工具

工欲善其事必先利其器,要想更加高效的做事情,就得先将工具变得锋利。那么对于程序员来说同样也是如此,如果要想每天早点下班,就必须借助于一些开发工具来提高自己的工作效率,今天就给大家总结一些工作中常用到的工具。…

【算法题解】11. 判断链表是否有环,并返回入环节点

文章目录题目解法一:循环标记Java代码实现Go 代码实现复杂度分析解法二:快慢指针Java 代码实现Go 代码实现复杂度分析这是一道 中等难度 的题,是 判断链表是否有环 的扩展,在有环的情况下返回入环节点, 依然是两种解法…

Disney 流媒体广告 Flink 的应用实践

摘要:本文整理自 Disney 广告智能执行总监郝又超、Disney 广告智能实时计算负责人李丁哲,在 FFA 主会场的分享。本篇内容主要分为四个部分:Disney 流媒体广告与实时应用业务场景实现实时平台构建未来展望Tips:点击「阅读原文」查看…

kafka.2 集群搭建

文章目录1.启动kakfa自带的zk2.启动kafka集群3.查看zookeeper的kafka节点信息启停kafka集群脚本创建主题增加分区模拟生产消费模拟消费组消费主题,查看offset1.启动kakfa自带的zk 参考:https://blog.csdn.net/justlpf/article/details/127261664?utm_m…

通俗易懂的java设计模式(7)-原型模式

1.什么是原型模式? 原型模式提供了一种创建对象的模式,它是指用原型实例创建对象的种类,并且通过拷贝这些原型,创建新的对象。用一个很生动形象的例子:孙悟空拔出一根猴毛,变出其他和自己一模一样的小孙悟…

Linux三剑客之Sed

目录 一、认识sed 二、使用sed 命令格式 常用选项options 地址定界 编辑命令command sed用法 常用选项: 地址界定演示 编辑命令command演示 sed高级编辑命令 一、认识sed sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行…

《Linux Shell脚本攻略》学习笔记-第九章

9.1 简介 计算机系统是由一组硬件及控制这些硬件的软件组成的。 Linux既提供了能够检查这些系统当前性能的交互式程序,也提供了用于记录一段时间内系统性能表现的模块。 9.2 监视磁盘使用情况 磁盘空间是一种有限的资源。 du和df命令可以报告磁盘使用情况&#xff0…

消息中间件如何选型 图解 Kafka vs RabbitMQ vs RocketMQ 的差异

综述 Kafka 采用拉取 ( Pull) 方式消费消息,吞吐量相对更高,适合海量数据收集与传递场景,例如日志采集和集中分析缺点 Kafka 单机超过 64 个队列/分区,Load 会发生明显的飙高现象,队列越多,load 越高&#…

linux基本功系列之chage命令实战

文章目录前言一. chage命令的介绍二. 常用案例示范1. 查看用户密码的有效期2. 设置密码的过期时间3. 设置账号的失效时间总结前言 前言🚀🚀🚀 想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管…

2023牛客寒假算法基础集训营1

题解 | #2023牛客寒假算法基础集训营1#_牛客博客 (nowcoder.net) //本人能力有限,以下只附上本人get到的题,其他参考以上链接或其他 A World Final? World Cup! (I) 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 …

【自学Docker 】Docker top命令

Docker top命令 大纲 docker top教程 使用 docker top 命令可以用来查看 Docker 中运行的进程信息。docker top 命令后面的 CONTAINER 可以是容器 ID,或者是容器名。 docker top语法 haicoder(www.haicoder.net)# docker top [OPTIONS] CONTAINER [ps OPTIONS]案…

说话的三重复杂性

从0开始首先要有一个说话者,这个说话者说出来的话有三重有意。说话者想要表达的东西。文字本身的意义。倾听者所理解的意义。例子:说话者问:有女朋友吗?我们假设说话者要表达,如果还没,那么一起加班。文字本…