当前位置: 首页 > news >正文

ubuntu 22下android 源码编译/烧录-2

接上一篇

初始化LineageOS

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-21.0 --git-lfs

打开.repo/manifests/default.xml,将

<remote name="github" fetch=".." review="review.lineageos.org" />

改成

<remote name="github" fetch="https://github.com/" /> <remote name="lineage" fetch="https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/" review="review.lineageos.org" />

<remote name="aosp"

fetch="https://android.googlesource.com"

..../>

改成

<remote name="aosp"

fetch="https://mirrors.tuna.tsinghua.edu.cn/git/AOSP"

... />

<default revision="..." remote="github"

改成

<default revision="..." remote="lineage"

开始同步

repo sync

异常处理

  1. 部分仓库例如Lineage_framework_base同步的时候会出现 bundle 错误,这时候可以使用命令repo sync --no-clone-bundle进行同步。

下载指定设备

代码同步需要额外配置才能下载 比如小米手机的配置。 更多设备查看 Devices | LineageOS Wiki

1.在 LineageOS 源码的根目录下创建或编辑.repo/local_manifests文件夹中的 XML 文件,例如dipper.xml

2.在dipper.xml中添加以下内容:

<manifest>
<!-- 添加设备树 -->
<project name="LineageOS/android_device_xiaomi_dipper" path="device/xiaomi/dipper" remote="github" revision="lineage-20.0" />

<!-- 添加公共配置 -->
<project name="LineageOS/android_device_xiaomi_sdm845-common" path="device/xiaomi/sdm845-common" remote="github" revision="lineage-20.0" />

<!-- 添加内核 -->
<project name="LineageOS/android_kernel_xiaomi_sdm845" path="kernel/xiaomi/sdm845" remote="github" revision="lineage-20.0" />

<!-- 添加厂商文件 --> 这个需要自己下载,版权问题不能镜像
<project

name="TheMuppets/proprietary_vendor_xiaomi" path="vendor/xiaomi" remote="github" revision="lineage-20.0" />

<!--添加硬件配置-->

<project

name="LineageOS/android_hardware_xiaomi" path="hardware/xiaomi" remote="github" revision="lineage-20.0" />

</manifest>

注意国内github可能连接不上或者连接很慢导致超时。可以使用之前配置的lineage

  • name:Git 仓库的名称。
  • path:本地存储路径。
  • remote:仓库的远程源,github表示源自 GitHub。
  • revision:分支版本,例如lineage-20.0lineage-21.0

3.repo sync 开始同步

4.开始编译

依次执行

source build/envsetup.sh

breakfast dipper

croot

brunch dipper

编译成功

http://www.jsqmd.com/news/472611/

相关文章:

  • DeepMotion实战:用Python调用API实现抖音风格特效动画(附GitHub源码)
  • SHT11温湿度传感器实战:从硬件连接到数据读取的完整指南(附代码)
  • Tkinter Canvas高阶技巧:用数学函数绘制动态五角星和自定义图形
  • 【人工智能】Mixture of Experts(MoE,混合专家模型/系统):大模型时代的智能分工架构,是一种通过动态分配子网络(专家)处理不同输入特征的机器学习技术,旨在提升模型效率与性能。
  • YUV420 vs YUV422 vs RGB565:移动端图像处理中的格式选择与性能优化
  • Kafka 如何保证消息可靠性?
  • 5分钟搞定RealSense D435i手部追踪:MediaPipe实战教程(附完整代码)
  • 避坑指南:uniapp中scroll-view滚动定位的那些坑(商品分类案例详解)
  • QT定时器避坑指南:为什么我的timerEvent事件不触发?(附解决方案)
  • Kafka 如何保证消息有序性?
  • 手把手教你用Python实现深度自动编码器(附完整代码)
  • Word文档中快速输入对号和对号加方框的3种实用方法(附详细步骤图)
  • # 第一章 旧城新雪
  • Synology NAS如何用AD域账号管理共享文件夹?5步搞定权限分配
  • Yolov8从安装到实战:手把手教你用Anaconda+Pycharm搭建目标检测环境
  • 电脑蓝屏dmp文件分析实战:从开机崩溃到游戏闪退的完整诊断手册
  • 用Multisim仿真8种经典运放电路:手把手教你搭建比例/微分/积分放大器
  • 【Iced】Beacon 错误处理模块分析
  • 信号链芯片选型避坑指南:如何根据应用场景选择ADC类型(Σ-Δ vs SAR vs Pipeline)
  • SHEIN怎么上架产品?SHEIN上架流程一览!附工具推荐! - 跨境小媛
  • ARM64缓存一致性全解析:从dma_alloc_attrs看Linux DMA底层设计
  • Infineon AURIX TC3xx时钟系统配置实战:从外部晶振到PLL调频全流程解析
  • 从沙箱到生产环境:Alipay Global API完整对接指南(含常见配置错误修正)
  • 从实战出发:如何利用Kill Chain模型提升企业网络安全防御能力(附7步拆解)
  • 树莓派5 RTC模块实战:从电池选型到低功耗定时唤醒全攻略
  • PyCharm闪退终极指南:从虚拟内存到多进程调优的完整解决方案
  • Panoply保姆级教程:零基础玩转CryoSat-2数据可视化(含Java环境配置避坑指南)
  • Jenkins中文显示不全?三步搞定Locale插件+汉化包的正确安装姿势
  • MX25L12835F Flash存储结构详解:从页到块的全方位解析
  • Godot 4.3+HarmonyOS 5避坑指南:从环境搭建到多设备协同开发的完整流程