基于Ubuntu24.04,下载并编译Android12系统源码 (一)

1. 前言

1.1 编译源码可以干什么

  • 定制Android系统
  • 将最新版本的Android系统刷入到自己的Android设备中
  • 将整个系统源码导入到Android Studio中(可以不用编译源码来实现)。
    • 只要有对应的Android源码版本的android.iml和android.ipr文件,就可以将源码导入到Android Studio中。
  • 动态调试源码(不一定需要导入整个系统源码进行调试)
    • 导入部分源码也可以进行调试的

1.2 Android系统源码编译方式

  • 在Linux中直接进行系统源码编译 (Android官方支持)
  • 在Mac OS中直接进行系统源码编译 (Android官方支持)
  • 使用Docker编译,支持Mac OS和Windows

本文会基于Ubuntu24.04,来下载并编译Android12源码

2. 下载AOSP

2.1 更新源

sudo apt-get update

2.2 安装 Git

sudo apt-get install git

2.3 设置git身份,添加自己的邮箱和姓名

git config --global user.email "xxxx@qq.com"
git config --global user.name "xxxx"

2.4 创建bin,并加入到PATH中

mkdir ~/bin
PATH=~/bin:$PATH

在这里插入图片描述

2.5 安装curl库

sudo apt-get install curl

在这里插入图片描述

2.6 下载repo并设置权限

Android源码包含数百个git库,光是下载这么多的git库就是一项繁重的任务,所以Google开发了repo,它是用于管理Android版本库的一个工具,使用了Python对git进行了一定的封装,简化了对多个Git版本库的管理。

下载AOSP前我们要先下载repo。

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo

在这里插入图片描述注意还要设置为清华源 (google官方的源访问不到的)

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

https://mirrors4.tuna.tsinghua.edu.cn/help/git-repo/

2.7 安装python

由于我们编译的是Android12系统,所以使用python3
如果是Android及之前版本,需要使用python2

sudo apt-get install python-is-python3

2.8 安装 jdk11

sudo apt-get install openjdk-11-jdk

2.9 初始化并指定版本

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-12.0.0_r1

Android 源码版本在这里查看 : https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn

还有一种方式 (需要有Git环境来运行这些命令)
在Android开源项目中,查看所有可用的源码版本通常需要访问Android的源代码仓库,例如Android的官方仓库或者相关的分支。
对于Android 12 (也就是API等级31),你可以在Android的官方源码仓库中找到对应的标签。
在命令行中,你可以使用以下Git命令来查看所有可用的标签:
//git clone https://android.googlesource.com/platform/manifest
git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest
cd manifest
sudo chown -R heiko:heiko /home/heiko/platform_manifest/manifest
git tag
这将会列出所有可用的标签,包括像android-12.0.0_r1这样的版本标签。
如果你想要检出特定的版本,可以使用以下命令:
git checkout android-12.0.0_r1

2.10 同步源码

-j后面的数字一般为cpu核心数的1-2倍,我的cpu为8核,这里我这设置的12

repo sync -j12

看到下面的信息可以说明AOSP下载成功了。
在这里插入图片描述

3. 源码编译

接下来,我们会来编译Android12源码,具体详见我的这篇文章 : 基于Ubuntu24.04,下载并编译Android12系统源码 (二)

<think>好的,用户的问题是在Ubuntu 24.04编译GDAL 3.10时,如何下载所有必要的依赖项。我需要根据提供的参考信息,特别是关于Ubuntu 18.04安装依赖库的经验,来给出解决方案。首先,用户提到参考的引用是关于QGIS的编译,但GDAL可能有不同的依赖项,不过方法应该是类似的。 用户强调要选择正确的Ubuntu版本对应的依赖库。在之前的例子中,Ubuntu 18.04对应bionic版本,而用户现在使用的是24.04,可能需要确定其对应的代号。比如,Ubuntu 24.04的代号是Noble Numbat,所以可能需要查找GDAL 3.10对应的依赖库是否有针对该版本的仓库或包。 接下来,我需要确认GDAL官方文档或INSTALL文件中是否有明确的依赖说明。通常,编译GDAL需要开发库,比如proj、geos、libtiff等。此外,可能还需要其他可选依赖,如支持各种格式的库(如NetCDF、HDF5等),这些在编译时需要根据需求安装。 由于Ubuntu 24.04较新,官方仓库可能已经包含GDAL 3.10所需的依赖,但版本可能不同。如果用户需要特定版本的依赖,可能需要添加第三方PPA或者从源码编译依赖项。但用户的问题主要是下载所有必要依赖,所以应优先考虑通过系统包管理器安装。 步骤可能包括:更新系统包列表,安装基本的构建工具(如gcc、make、cmake),然后安装GDAL的依赖库。参考之前的例子,需要确保安装的依赖库版本与系统版本匹配。例如,使用apt-get命令安装libproj-dev、libgeos-dev等。 此外,用户可能需要启用Ubuntu的universe仓库,因为些依赖可能位于其中。检查GDAL的官方编译文档,确认是否有额外的依赖项或配置参数需要注意。例如,GDAL的配置选项可能需要指定某些路径或启用特定功能,这会影响所需的依赖项。 最后,生成相关问题需要考虑用户在编译过程中可能遇到的其他问题,比如依赖版本冲突、配置错误、如何处理可选依赖等。同时,可能涉及如何验证依赖是否正确安装,以及如何解决常见的编译错误。</think>在Ubuntu 24.04编译GDAL 3.10时,需按以下步骤获取依赖项: ### 、基础编译环境配置 1. 更新软件源安装构建工具 ```bash sudo apt update sudo apt install -y build-essential cmake git ``` 2. 安装C/C++编译依赖 ```bash sudo apt install -y gcc g++ make pkg-config ``` ### 二、核心依赖项安装 根据GDAL官方文档要求[^1],需执行: ```bash sudo apt install -y \ libproj-dev \ libgeos-dev \ libgdal-dev \ libtiff-dev \ libcurl4-gnutls-dev \ libsqlite3-dev \ libxml2-dev \ libpng-dev \ libjpeg-dev \ libwebp-dev \ libzstd-dev ``` ### 三、可选功能支持 按需安装扩展功能依赖: ```bash # 网络数据访问 sudo apt install -y libnetcdf-dev libhdf5-dev # 空间数据库支持 sudo apt install -y libpq-dev libmysqlclient-dev # 坐标转换增强 sudo apt install -y liblzma-dev libqhull-dev ``` ### 四、依赖验证 检查关键库版本: ```bash pkg-config --modversion proj # 应≥6.3.0 dpkg -l libgeos-dev # 应≥3.9.0 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值