sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libsx11proto-core-devlibx11-devlib32z1-devlibgl1-mesa-devg++-multilibmingw32tofrodospython-markdownlib xml2-utilsxsltproclib32readline-gplv2 -dev
sudo apt-get 安装 openjdk-7-jdk
sudoapt-getinstallgit
麦克迪吉特
cdgit
gitinit
吉克隆
进入下载的源码包AP7350_MDK-kernel
源./build/envsetup.sh
午餐12
使预加载器
马克尔克
制作内核
制作引导映像
制作恢复镜像
tarcjfap7350_65u_l1.tar.bz2ap7350_65u_l1
搭建ubuntu环境
一、加载编译环境设置
源./build/envsetup.sh
二、选择编译项目
运行lunch编译android源码 硬盘,输入12,选择full_ap7350_65u_l1-eng
清理
make-j82>&1|teebuild.log
完成这些操作后,先makeclean,然后编译,可能需要
编译成功后,执行mkimage.sh来刷写下辈子的系统文件,生成的文件在rockdev目录下。
制作./mkimage.sh
============================= 我自己的经历================== =============================================
这里注意,如果直接使用make编译内核系统,会提示编译失败;
如果编译出现错误,百度还是可以解决的。
make命令默认使用机器的CPU数量
make的过程需要比较大的swap。 建议需要2*4G显存。 最好要求4G以上的CPU。 推荐4核。
=================================================== == =======================================
源码编译过程
源码编译添加ccache
安装
sudoapt-getinstallccache
$vi~/.bashrc
exportUSE_CCACHE=1//系统默认存放在~/.ccache中
使用
ccache-s#显示状态参数(s是英文status的缩写,意思是“状态”)
ccache-C#消除缓存(C为小写,是英文Clear的缩写,意思是“清除”)
ps:编译过程比较简单。 我的笔记本电脑有四个核心,并使用单线程编译。 大约需要12个小时。 如果使用多线程,时间要加倍。
1)设置缓存
CDAOSP
预建/misc/linux-x86/ccache/ccache-M50G
2)初始化编译环境
.build/envsetup.sh
3)选择编译目标包
ps:lunch的方法有很多种,可以使用lunch命令查看,我用的是最常用的
Lunchaosp_arm-eng
4)编译
通过make命令来编译代码,该命令使用-j参数来设置参与编译的线程数,以提升编译率。
制作
例如make-j8
ps: 1.可以在make之前更改参数:如果你的机器有四个核心,每个核心有两个线程,则使用make -j4,速度更快,但编译时使用更多显存。
2、make失败或停止后,可以使用make -k继续编译。 编译时间约为2H-10H
需要注意的是,编译涉及的线程并不是越多越好,通常根据你机器杯的核心来确定:core*2,是当前CPU核心的两倍。 比如我现在的电脑是四核四线程,那么根据公式编译android源码 硬盘,最快的编译可以是make -j8。
(通过cat /proc/cpuinfo查看相关cpu信息)
5)运行虚拟机
编译完成后,可以通过以下命令运行Android虚拟机,命令如下:
源构建/envsetup.sh
Lunch(选择你刚才设置的目标版本,比如我这里选择2)
模拟器
如果编译后立即运行虚拟机,因为我们之前已经执行了source和lunch命令,现在只需要执行命令即可运行虚拟机:
模拟器
不出意外,等待一段时间后,就会看到运行界面:
=================================================== == =======================================
输入命令:df –lh 查看c盘信息
输入命令:du-h--max-depth=1 查找当前目录,哪个文件夹占用空间最大
1.#mkdir/交换
2.然后进入目录
#cd/交换
3.创建你想要大小的交换分区文件
#sudoddif=/dev/zeroof=swapfilebs=1Mcount=2k
(创建2G的swap,这一步比较慢并且创建的分区大小=bs*count)
成功后会有提示。 这时,swap文件夹下就会多出一个交换文件(swapfile)。 您可以在前面的创建命令中自己定义文件名。
4.然后输入命令mkswapswapfile
5.挂载交换分区:swaponswapfile
如果要卸载,输入:swapoffswapfile。 卸载后,您可以删除该文件,然后根据新的需要重新创建并调整交换文件大小。
6、最后可以查看空间大小:free -m
7.手动挂载交换文件(交换分区)
sudogedit/etc/fstab 添加在最后
/交换/交换文件swapswapdefaults00
=================================================== == =======================================
Android探索之旅| 配置ccache,大大提升编译速度
=================================================== =======================
当删除out/target目录或者使用makeclean清除输出并重新编译源代码时,编译时间是平均的
一切都很长。
=================================================== =======================
硬件环境要求
1. 编译环境
根据官方的说法,编译Android2.3.x及以上系统源码需要64位系统运行环境
支持,并且编译2.3.x以下版本需要32位系统运行环境。
2.硬盘空间
官方建议最好预留100G的C盘空间用于下载源码,150G的C盘空间用于编译源码。 如果你使用
ccache(一种高速编译缓存工具,可以大大提升gcc的编译速度),这个需要较大的
空间来支持。
所以尽量保证你的C盘空间足够大。 之前源码编译过程是因为C盘空间不足导致的。
中间空间不够,把自己狠狠地坑了。
3.显存空间
如果你在虚拟机上运行linux,官方建议至少需要16G显存空间。 我的机器只有8G内存空间。
我节省了运行虚拟机的空间。 现在运行没有什么大问题。 然而,编译源代码的过程非常漫长。 不知道能不能跟上。
取决于内存大小。
=================================================== =====================
下载Android5.1.1源码、编译源码、SDK和内核
utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=推荐
化
=================================================== =====================
//====================================20201215
du-h--max-depth=1 检查目录使用情况
$gitinit
$gitadd。
$gitcommit//git版本管理
//============================
请注意,有一个问题。 在虚拟机中安装vm-tools时,速度会比较慢,并且需要重启系统多次。
//================================20210419 添加外部应用
LOCAL_PATH:=$(callmy-dir)
包括$(CLEAR_VARS)
SUB_ANDROID_MK:=$(shellfind$(LOCAL_PATH)/apps/-nameAndroid.mk)
$(foreachsub_mk,$(SUB_ANDROID_MK),$(evalinclude$(sub_mk)))
$(信息“cmySUB_ANDROID_MK=$(SUB_ANDROID_MK)”)
//==============================20210728mtkremove
在bootable/bootloader/lk/platform/mt6735/factory.c文件中
函数:factory_check_key_trigger返回FALSE
常见错误
Ubunt16.04编译mtk6737 Android 7.0
加载共享库时出错:libz.so.1:
解决方案:
解决方案:安装这个库所在的包是显而易见的,但是我们怎么知道libz.so.1在哪个包呢?
我们使用命令:apt-filesearch来查找它。 首先安装它,执行以下命令:
sudoapt-getinstallapt-文件
安装完成后,系统会提示您更新。 如果没有提示,在终端输入以下命令:
sudoapt 文件更新
apt-file 用于查找某个命令或库所在的包。 具体用法如下:
只需使用 apt-filesearch 查找您的库所在的包即可。 左边的是与你匹配的库,右边的是你要找的库所在的包,所以最后安装对应的包。
sudoapt-getinstalllib32z1
如果你只是想解决问题,只需要前面的命令就可以了!