ubunt20.4 LineageOS 编译环境搭建

2023-11-20 19:20

本文主要是介绍ubunt20.4 LineageOS 编译环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、服务器准备

建议 ubunt 20.4,有物理机最好,或者用自己电脑的虚拟机。


二、下载repo工具

mkdir -p ~/binmkdir Androidcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

三、将~/bin添加到用户执行路径下

vim ~/.profile

#以下内容添加至.profile文件中

# set PATH so it includes user's private bin if it existsif [ -d "$HOME/bin" ] ; thenPATH="$HOME/bin:$PATH"fi

保存后运行

source ~/.profile

四、安装依赖项

sudo apt update

先更新下软件包列表

sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

有报错解决掉再进行下一步!

lineageOS版本不同所需要的jdk版本也不一样

根据你的设备确认要安装的lineageOS版本https://wiki.lineageos.org/devices/

LineageOS 18.1+:OpenJDK 11

LineageOS 16.0-17.1:OpenJDK 1.9

LineageOS 14.1-15.1:OpenJDK 1.8

LineageOS 11.0-13.0:OpenJDK 1.7


五、配置git

git config --global user.email "you@example.com"git config --global user.name "Your Name"

六、开启缓存加速构建

export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccacheccache -M 50G

七、设置lineageOS版本 

cd Androidrepo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b cm-14.1


八、修改官方源为清华源

 ~/Android/.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"

~/bin/repo 文件中 

if not REPO_URL:REPO_URL = 'https://gerrit.googlesource.com/git-repo'

改成

if not REPO_URL:REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

修改完后给虚拟机做个快照!


九、开始下载源码

repo sync -j16

-j 按照自己虚拟机配置来,如果遇到错误尝试降低线程。

下载需要一段时间。现在已经完成了第一部分,还需要获取设备独有的二进制文件,后续文档会讲。 


报错处理

CA证书相关

Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
fatal: 无法访问 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/':server certificate verification failed. CAfile: none CRLfile: none
repo: error: "git" failed with exit status 128

设置lineageOS版本时可能会遇到,将https 替换为hppt 配置文件以及 repo init时都需要换。

如果是下载repo工具时遇到,curl 后面加 -k 跳过验证即可。

Python 相关

因为在repo工具中,根据不同的lineageOS版本,也会使用不同版本的python,建议在ubunt中同时安装python2跟python3,sudo apt install 即可,repo会自己调用。如果碰到python语法问题下载完再试一下。

依赖项报错

安装依赖前需要更新下软件包列表。可以使用国内源。出现异常如果解决不了建议全部卸载,更换国内源,update以后重新安装。

编译过程中的依赖报错先不在这里叙述。


这篇关于ubunt20.4 LineageOS 编译环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/396850

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow