Android内核编译

编译安卓内核教程(2023,6,13) 2023六月最新构建安卓内核的教程,简单粗暴,无脑复制黏贴即可。 阅读详情

        Android内核的编译需要是Mac或者ubuntu系统,centos和windows系统是不行的,磁盘需要不低于170G,如果磁盘太小编译不过,引发异常而导致中断。如果是使用的是MacOS,必须在要重新划分磁盘分区,以区分大小写,原有的磁盘不区分大小写,没法编译软件,另外换需要下载Xcode环境,配置比较麻烦, 内存下载也比较慢,很需要硬盘空间。所以我使用的是ubuntu系统统,很曲折,我执行的时候由于申请总磁盘300G,但是执行目录才100G,有没挂载其他硬盘,文件夹运行的磁盘剩余空间太小,导致失败,后面有重新追加了600G的硬盘才成功,配置如下:

一、配置软件源 

1、配置

        打开https://developer.aliyun.com/mirror/ubuntu,找到对应的软件源,输入命令:

sudo vim  /etc/apt/sources.list

        将原有的软件源删除,将对应的ubuntu配置复制进去,我的是ubuntu 18.04,在保存。试了下清华大学的软件源,某些编译软件下载不下来,后面使用了这个软件源一切正常。

2、更新

sudo apt update
sudo apt upgrade

3、安装jdk

sudo apt-get install openjdk-8-jdk

二、下载Android源码

1、确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:

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

2、下载 Repo 工具,并确保它可执行:

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

3、创建一个空目录来存放您的工作文件

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

4、使用您的真实姓名和电子邮件地址配置 Git

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

5、运行 repo init 以获取最新版本的 Repo 及其最近的所有错误更正内容

repo init -u https://android.googlesource.com/platform/manifest

        上述命令会要求Repo下载最新的Android源代码,也就是master分支,如果想下载其他分支:

git --git-dir .repo/manifests/.git/ branch -a

        然后选择指定分支,配置下:

repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r47

6、下载

repo sync

        等待一段时间,我大概等了一个小时下载完毕,如果是Mac系统,网速好了需要差不多10个小时以上。

三、编译Android源码

1、配置构建依赖

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib -y
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386 -y
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
sudo apt install make make-guile -y
sudo apt-get install tofrodos -y
sudo apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386

2、执行环境脚本

source build/envsetup.sh

3、lunch命令

lunch

4、选择需要编译的类型序号

1

5、编译

make -j10

        -j10表示开启10个线程执行,根据自己的系统配置酌情选择。

6、结束 

        等待漫长的编译时间,2个多小时结束,Mac估计需要更久。 

         最新查看磁盘占用情况:总共用了161G,所以编译时候需要一个比较大的内存环境,否则等了好久前功尽弃。

 

     

Android 系统编译之内核编译 本来想超频自己的手机的,于是发现需要编译内核才能实现 作为Android开发者的我 没有任何内核编译经验,只是想试一下, 于是折腾了两天终于把内核成功编译出来了 现在分享下学习经验 我的是小米手机,其实我看了一下github, 其他手机的内核开源的目录结构几乎是一样的,所以应该是同一种编译方式 网上的文章实在太少了, 真的是太少了!!! 少到你只能找到几篇英文的国外文章… 但论坛上都... 阅读详情

相关推荐

android10.0(Q)编译安卓内核(pixel 2)

这里的分支"4fecde07e68d"就是上面的手机截图中内核版本里g后面的数字。成功刷入手机,开机后进入查看内核界面,"Kernel verion"已经发生变化。修改"drivers/thermal/thermal_core.c"文件。首先需要看一下内核的版本,可以在手机中看到内核版本。手机进入fastboot模式。

u010345983的博客 2512

[Android]从零开始的内核编译

本教程将基于小米 10S 的内核源码进行实例,其他型号的手机请自行寻找内核源码

东方怂天的博客 9752

2. 编译安卓内核(pixel 2,Android 10)

下载内核源码 cd ~/Documents mkdir android-kernel && cd android-kernel repo init -u https://aosp.tuna.tsinghua.edu.cn/kernel/manifest -b android-msm-wahoo-4.4-android10-qpr3 repo sync -j4

fr4granc3 9524

Android Kernel 编译与调试指北

经过一步步的摸索,将Linux内核成功运行到了Cuttlefish中,在Cuttlefish的环境下,可以调试内核,调试Native代码,调试Framework代码,也可以当作你的常用“开发机”使用。该文章是笔者学习中的一个总结,由于知识面的狭隘总有认识不到的错误产生,请大家不吝赐教。如果大家学习中遇见问题,也欢迎大家交流沟通。

Eqiqi的博客 4432

安卓内核及源码编译

1.由于安卓源码和内核源码是要分开下载的,这里我找到了2.3.5版本的源码和内核,测试可以用 内核:http://pan.baidu.com/s/1qW0TkkO 源码:http://pan.baidu.com/share/link?shareid=7577&uk=4246628909 2.下载后解压 目录结构,这里我直接把内核源码放在android系统源码中

u013571243的专栏 1587

玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译

玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译

xiaomaNo01的专栏 2500

华为P30安卓内核编译android kernel build

android kernel build引言先绝条件编译 引言 你好!本文章将介绍如何编译华为P30安卓内核。 先绝条件 ubuntu18.04 ,编译主机; Toolchain ,交叉编译器 传送门,提取码f565; kernel source ,内核源码 华为内核下载页面; 编译 编译内核 $ export PATH=$PATH:/media/vc/ANDROID/android-...

qq_40169767的博客 2225

SOC设计必看!Tessent DRC检查中最容易踩的5个坑(附解决方案)

本文针对SOC设计中Tessent DRC检查的常见问题,详细分析了5个最易忽视的陷阱,包括时钟域交叉、扫描链虚连、多电压域规则等,并提供专业解决方案。特别针对芯片设计中的DFT验证难点,分享了经过验证的调试方法和Tessent工具使用技巧,帮助工程师提升DRC检查效率。

weixin_29280657的博客 496

macos下编译linux内核,Mac OS X 编译Android内核源代码

我在Mac电脑上编译Android的内核源代码遇到了不少问题,下面对遇到的问题进行一个简单的总结,希望对大家有所帮助。1、Android编译内核的源代码和编译Rom的源代码是分开的,因此如果要编译内核的话,需要单独下载。用git从谷歌的网站上克隆:git clone http://android.googlesource.com/kernel/goldfish.git注意这里不要用https,我用...

weixin_39597987的博客 644

Dify 深度进阶:从入门到精通AI应用构建

《Dify进阶指南:从基础到高阶的AI应用开发技巧》 本文深入探讨Dify平台的高级功能与应用开发技巧。首先强调核心概念的深化,包括提示词工程进阶、知识库高效管理和模型参数优化。重点介绍智能体应用的开发方法,如何让AI具备自主规划与执行能力。同时讲解工作流编排、前端集成等实用技术,并分享应用运营优化、成本控制等实践经验。文章还展望了Dify生态的发展趋势,为开发者提供从基础到进阶的完整学习路径,助力打造更智能高效的AI应用。

同名公众号:dify实验室 1949

手把手教你用MATLAB和PSIM搞定Buck电路控制器:从传递函数到运放电路实战

本文详细介绍了如何使用MATLAB和PSIM协同设计Buck电路控制器,从传递函数推导到运放电路实现的完整流程。通过小信号建模、波特图分析和双平台仿真验证,帮助电力电子工程师解决理论到实践的转化难题,提升Buck电路控制器设计的效率和可靠性。

weixin_29271053的博客 267

编译 android 内核,[原创]安卓内核驱动编译方法

设置完这些基本上就ok了。首先我们要编译的一种是可动态加载的内核驱动。去到 goldfish/drivers 文件夹创建一个文件夹。就叫helloworld吧。不过其实对于这种动态加载的内核驱动,不一定需要在这个drivers文件夹下面,因为最后只要得到那个ko模块就好了。在这个文件夹里面,我们创建了Makefile和hello.c文件。Hello.c文件内容如下。#include#includ...

weixin_29526539的博客 1607

DFT实战:如何用Synopsys工具搞定多时钟域Scan Chain设计(附避坑指南)

本文详细解析了使用Synopsys DFT Compiler工具链实现多时钟域Scan Chain设计的全流程,包括时钟混合策略、跨时钟域平衡技巧和实战脚本剖析。通过量产验证的工程实践方案,帮助DFT工程师有效解决复杂SoC设计中的Scan Chain挑战,提升测试效率和质量。

mm9012的博客 1031

clang编译内核_Android源码、内核编译

Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码、编译源码、下载内核、编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可是30G的源码(编译后已经达到70G)备份一次都需要好久。好在春节伊始我放弃了其他的学习,全力搞这个过程,终于算是拿下了。不过,漫漫长路,这只是一个开头。我编译的是Android最新稳定版本andro...

weixin_39776787的博客 2246

YOLO11多类别数据集的类别平衡方法:讲解类别不平衡问题的识别方法,以及过采样、欠采样、类别权重调整等解决方案(一)

类别不平衡问题是机器学习和计算机视觉领域中一个常见但棘手的挑战。简单来说,当数据集中不同类别的样本数量存在显著差异时,我们就称这个数据集存在类别不平衡问题。在YOLO目标检测任务中,这意味着某些类别的目标对象在训练数据中出现得非常频繁,而其他类别的目标对象则很少出现。 想象一下,你正在训练一个交通监控系统,需要检测不同类型的车辆。在这个场景中,"汽车"这个类别可能有成千上万个实例,而"自行车"或"摩托车"可能只有几百个实例。这种数量上的巨大差异就是典型的类别不平衡问题。 从数学角度来看,假设我们有一个包

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 938

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图、天地图)

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图)

1万+

安卓 arm linux内核编译环境变量,Android内核源码 在Ubuntu上下载,编译,安装

从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢?这篇文章一一道来。一. 首选,参照前一篇在Android源码 在Ubuntu上下载,编译和安装准备好Android...

weixin_42099987的博客 617

FPGA实现串口升级及MultiBoot(九)BPI FLASH相关实例演示

与SPI相关知识并没有什么太多区别(别杠硬件或者架构上),相关知识点都在上面指出,大家有什么其他需要注意点,欢迎留言讨论。关于“四样错误”就不演示了,没什么太大区别,下一讲我们开始串口升级。PS:为了扩展ICAPE2原语的使用,在原来的基础上增加了几个常用FPGA ID,并在触发启动时候增加了可选电平触发或上升/下降沿触发(例化IP时选择),新版本号V1.1。

OpenFPGA的博客 1440

编译安卓内核教程

如果里面没有config文件,那么你就需要从你的官方boot里面提取了,先下载或者从你设备提取boot分区出来,上传到Linux环境里面,cd到内核源码里面,执行scripts/extract-ikconfig工具提取config信息。一、 从你的手机里面提取config.gz文件,在/proc/config.gz路径,这个文件是构建你手机内核的配置文件,这个默认是官方的,如果没有这个文件,那你需要通过解包boot.img来获取,稍后会说。先去你的内核源码里面看看,有没有config文件。

wyh757787026的博客 5211

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 321

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

编译32位_玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译

一、 开发前期准备本文中使用的是linageOs源码中下载的oneplus3 安卓10内核源码进行研究测试。交叉编译链使用的是linageOs源码中的交叉编译链。lineageOs源码中oneplus3内核源码位置路径:/home/qiang/lineageOs/kernel/oneplus/msm8996lineageOs源码中交叉编译目录位置路径:/home/qiang/lineag...

weixin_30596433的博客 1199

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mac os 编译android,Mac OS X 编译Android内核源代码

我在Mac电脑上编译Android的内核源代码遇到了不少问题,下面对遇到的问题进行一个简单的总结,希望对大家有所帮助。1、Android编译内核的源代码和编译Rom的源代我在Mac电脑上编译Android的内核源代码遇到了不少问题,下面对遇到的问题进行一个简单的总结,希望对大家有所帮助。1、Android编译内核的源代码和编译Rom的源代码是分开的,,因此如果要编译内核的话,需要单独下载。用git...

weixin_42513988的博客 474

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

编译安卓源码以及下载Android内核

现在开始研究安卓framework层 以及了解整个Android的系统架构 ; 那首先第一步就是去下载安卓源代码了,具体可以参考谷歌官方文档下载源代码:http://source.android.com/source/downloading.htm 如果省时间可以直接拿人家已经下载好了的源码来进行编译即可 链接:http://pan.baidu.com/s/1jIeyXds 密码:ij7x

xielinhua88的博客 829

java交叉编译安卓可用,Android内核源码交叉编译

一、使用git下载android内核部分源码首先新建要保存android内核源码的目录mkdirandroid_kernelcdandroid_kernelandroidkernel的网站http://android.git.kernel.org/gitclone git://android.git.kernel.org/kernel/common.git下载android内核源码,完成之后会看到...

weixin_39852276的博客 249

android8.1内核编译,Android8.1.0安卓源码编译

换中科大源18.04由于新安装的Ubuntu默认配置为Ubuntu官方源,基本软件包下载速度较慢,下面修改软件源:备份下sources.listsudo cp /etc/apt/sources.list /etc/apt/sources.list.bak使用gedit打开sources文档:sudo gedit /etc/apt/sources.list将原来的内容全部删掉,记住时全部删掉,不用担...

weixin_36218863的博客 758

android 内核编译调试信息,Android内核编译调试

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?Author: GeneBlue禁止任何形式转载0X01 前言研究Android底层或漏洞方面的知识,编译调试内核源码是必不可少的。这篇文章介绍内核编译调试的基本步骤。0X02 环境Android开发环境:SDK,NDKPC OS:Ubuntu 14.04 LTS 64bitKernel Source:goldfish3...

weixin_42228776的博客 605
上一篇: Mac平台Android常用命令
下一篇: Flutter的生命周期
一杯清泉
博客等级 码龄11年 314粉丝 210原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值