iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >【Android】系统源码下载及编译
  • 545
分享到

【Android】系统源码下载及编译

androidadb 2023-09-01 17:09:06 545人浏览 安东尼
摘要

源码及编译 步骤 1:创建一个空目录来存放源码: mkdir aospcd aosp 步骤 2:获取最新版本的 repo 并签出 Android-8.1.0_r1 分支: repo init -u h

源码及编译

步骤 1:创建一个空目录来存放源码:

mkdir aospcd aosp

步骤 2:获取最新版本的 repo 并签出 Android-8.1.0_r1 分支:

repo init -u https://android.Googlesource.com/platfORM/manifest -b android-8.1.0_r1

其中,android-8.1.0_r1 代表源码标记,代表我们将要获取 Android 8.1 的源码,如需查看其他版本的源码标记,可参阅 源代码标记和 build

步骤 3:将 Android 源码从默认清单中指定的代码库下载到本地工作目录:

repo sync

步骤 4:创建本地分支并关联 repo 上的所有仓库:

repo start ycx-dev --all

步骤 5:使用 envsetup.sh 脚本初始化编译环境:

source ./build/envsetup.sh

步骤 6:选择编译目标:

lunch aosp_arm64-eng

编译目标的格式说明:编译目标的格式是 BUILD-BUILDTYPE ,如 aosp_arm64-eng 这个目标,它的 BUILD 是 aosp_arm64,BUILDTYPE 是 eng 。

BUILD 指的是特定功能的组合的特定名称,即表示编译出的镜像可以运行在什么环境,例如 aosp_arm64-eng 中的 aosp(Android Open Source Project) 代表 Android 开源项目,arm 表示系统是运行在 arm 架构的处理器上的,arm64 则是指 64 位 arm 架构处理器

想查看 Android 设备的 cpu 架构,可以执行命令:adb shell getprop ro.product.cpu.abi

BUILDTYPE 指的是编译类型,通常有三种:

  • user:表示编译出的系统镜像版本可以用来正式发布到市场,这个版本是不能 root 的
  • userdebug:在 user 版本的基础上开放了 root 权限和 debug 权限
  • eng:表示开发工程师版本,拥有 root 权限,此外还附带了许多 debug 工具

如果我们在终端输入 lunch 命令,将会列出所有的编译目标:

在这里插入图片描述

步骤 7:开始编译(设置8个线程同时编译):

m -j8

参与编译的线程并不是越多越好,通常是根据你机器 cup 的核心来确定,公式为:core * 2,即当前 cpu 的核心的 2 倍

我们可以执行 cat /proc/cpuinfo| grep "cpu cores"| uniq 命令查看电脑 cpu 的核心数。

如果编译过程一切顺利,我们会在终端看到如下画面,表示编译成功!

在这里插入图片描述

步骤 8:如果我们 lunch 选中的编译目标是 1-6, 那么我们可以直接执行如下命令运行虚拟机看效果了:

emulator

稍等片刻,我们就可以在虚拟机上操作我们刚刚编译成功系统固件了。

如果我们 lunch 选中的编译目标是非 1-6, 那么我们可以编译的固件运行在真机上,具体步骤如下。

步骤 9:进入 fastboot 模式

adb reboot bootloader

步骤 10:解引导加载程序

fastboot flashing unlock

步骤 11:刷写设备

fastboot flashall -w

-w 选项会擦除设备上的 /data 分区;该选项在第一次刷写特定设备时可以加上,其他情况下不加也行。

刷写顺利的话,终端打印如下画面,则说明刷机成功了,此时机器会自动重启,稍等机器自动重启即可。

在这里插入图片描述

如果不想刷写所有分区,可以单独刷写某个指定分区,具体的命令为:

fastboot flash <分区名> <镜像文件名.img>

其中,<分区名> 指的是要刷写到哪个分区,比如 system、userdata 等;<镜像文件名.img> 指的是要刷写的 img 文件名称。

例如,如果想单独刷写 system.img,则可以输入以下命令:

fastboot flash system system.img

刷写完成后,不能直接简单的重启设备。需要执行以下命令来重新启动设备:

fastboot reboot

该命令会使设备从 fastboot 模式退出,并自动重启到正常的 Android 系统中。

编译问题

错误 1:flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data

在这里插入图片描述

解决方法:在终端输入命令:export LC_ALL=C,然后重新编译即可。

错误 2:xmllint: command not found

解决方法:在终端输入命令:sudo apt-get install libxml2-utils,然后重新编译即可。

编译单模块并运行

例如,我们修改了 SystemUI 模块的代码,需要编译到机器上运行看看效果,那么可以这样,

步骤 1:在当前源码目录下执行编译命令:

make SystemUI

稍等片刻,就可以看见编译成功了:

在这里插入图片描述

步骤 2:获得系统写入权限:

adb root && adb remount

步骤 3:接下来把编译产物 push 到设备上即可:

adb push out/target/product/xxx/product/priv-app/SystemUI /system/product/priv-app/

步骤 4:重启设备上层:

adb shell stop && adb shell start

重启完毕后即可看到修改后的效果了。

来源地址:https://blog.csdn.net/yang553566463/article/details/129029734

--结束END--

本文标题: 【Android】系统源码下载及编译

本文链接: https://www.lsjlt.com/news/389057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Android】系统源码下载及编译
    源码及编译 步骤 1:创建一个空目录来存放源码: mkdir aospcd aosp 步骤 2:获取最新版本的 repo 并签出 android-8.1.0_r1 分支: repo init -u h...
    99+
    2023-09-01
    android adb
  • Android 系统源码编译
    文章目录 一、环境准备二、下载Android源码(1) 安装python(2)安装Git & 配置Git信息(3)安装curl(4) 下载repo(5)创建源码存放目录(6)初始化仓库(7) ...
    99+
    2023-09-14
    移动安全 工具 技术
  • Android AOSP源码编译——AOSP下载(一)
    一、电脑配置 Ubuntu16.04 + 16G,硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式) 二、基础环境配置 1、安装git sudo apt ins...
    99+
    2023-09-14
    android
  • Android13源码下载及全编译流程
    目录 一、源码下载 1.1、配置要求 1.1.1、硬件配置要求 1.1.2、软件要求 1.2、下载环境搭建 1.2.1、依赖安装 1.2.2、工具安装 1.2.3、git配置 1.2.4、repo配置 1.3、源码下载 1.3.1、明确下载...
    99+
    2023-09-02
    Android android-studio android studio
  • 编译harmonyos的下载源码以及搭建环境过程
    编译harmonyos的下载源码以及搭建环境过程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、环境搭建编译鸿蒙的源码建议在Ubuntu20.04下进行,windows下...
    99+
    2023-06-15
  • Android 源码编译方法
    和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、查看项目所在分支二、切换到目标分支三、查看当前所在分支四、编译Android源码五、source Android 编译环境六、...
    99+
    2023-09-22
    android
  • Window下载Android源码
    Android 10源码下载 想要研究Android 源码的同学可以用此方法进行下载。源码从清华大学开源软件镜像站(https://mirrors.tuna.tsinghua.edu.cn/help/...
    99+
    2023-09-04
    android git 源代码管理 windows
  • 云服务器编译android源码
    一、云服务器编译 云服务器编译是指将源代码编译成可执行的二进制文件,通常称为"编译后代码"。云服务器编译可以通过在本地运行的Linux系统上执行命令行来实现。 在本地执行命令行 在本地执行命令行是云服务器编译的关键步骤。本地执行命令行...
    99+
    2023-10-28
    源码 服务器 android
  • Ubuntu9.10中怎么编译Android源码
    这篇文章将为大家详细讲解有关Ubuntu9.10中怎么编译Android源码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在 Ubuntu8.04下,应该一切很顺利,但是我装的是9.10版本...
    99+
    2023-06-17
  • 详解Windows下源码编译PaddlePaddle
    目录1.环境准备1.1 cmake1.2 python1.3 cuda1.4 python包1.5 创建编译文件夹1.6 启用visual studio终端1.7 开始编译1.8 d...
    99+
    2023-05-14
    Windows下源码编译PaddlePaddle Windows PaddlePaddle
  • Android 反编译APK获取代码&资源
    本节引言 "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上...
    99+
    2023-09-01
    android java 开发语言
  • CentOS 6.7下源码编译安装MySQL 5.7.5
    说明:CentOS 6.7下源码编译安装MySQL 5.7.5 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl gcc au...
    99+
    2024-04-02
  • mac 系统下 编译 php7.1 报错及解决方式
    在使用 configure 配置过程中报的错误。 $ ./configure --prefix=/usr/local/php7/ --enable-debug --enable-maintainer-...
    99+
    2024-02-27
  • android源代码的编译过程是什么
    Android源代码的编译过程主要包括以下几个步骤:1. 下载源代码:从Android官方网站下载源代码,并解压到本地目录。2. 配...
    99+
    2023-09-21
    android
  • Android系统优化Ninja加快编译
    目录背景环境关键编译阶段和耗时分析阶段一:Soong bootstrap阶段二:Kati遍历、mk搜集与ninja生成阶段三:Ninja编译编译优化对比汇总背景 Android系统模...
    99+
    2022-11-13
    Android Ninja加快编译 Android Ninja编译优化
  • PHP:CentOS Linux环境下源码编译安装PHP8.0
    系统环境 cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core) 查看可用版本 https://www.php.net/releases...
    99+
    2023-09-14
    linux 服务器 运维
  • AOSP源码下载及问题小结
    目录一、说明二、源码下载示例三、注意一、说明 由于一些原因,利用谷歌的资源下载Android源码速度很慢,我们可以用清华源里面的资源进行下载。清华源AOSP配置下载地址详解:Andr...
    99+
    2024-04-02
  • 手把手一步步实现 Ubuntu20.04编译Android10系统源码
    1.前言     编译Android系统使用的是Ubuntu20.04搭建Android10源码编译 2.详细步骤    1.下载VMware Workstation Pro     这里使用的是目前最新的版本VMware Worksta...
    99+
    2023-09-01
    ubuntu linux android
  • Windows下源码编译PaddlePaddle的方法是什么
    今天小编给大家分享一下Windows下源码编译PaddlePaddle的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-05
  • windows下使用 intellij idea 编译 kafka 源码环境
    1. 从 GitHub 网站,git clone kafka 源码 2. 下载安装好 gradle,scala   2.1 从 dependencies.gradle 文件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作