Android系统编译小总结

本文总结了Android系统编译过程,包括环境搭建、系统编译命令、编译常见问题及解决方案。介绍了Android编译版本、Android.mk文件的使用、编译系统中的变量和宏等关键知识点,还详细讨论了如何处理编译时遇到的如lib32bz2-1.0安装、add-apt-repository缺失、Jack server安装失败等问题。此外,文章还探讨了内核编译错误的解决方法以及编译模块的打包和系统属性的定义。
摘要由CSDN通过智能技术生成

简介

Android系统源码将Makefile划分成一个个Makefile片段,通过Makefileinclude指令将这些片段组装成一个Makefile,因此Android.mk编译脚本其实是整个Android编译系统的一个Makefile片段,编译时编译系统会遍历每个目录下的Android.mk文件。

搭建编译环境

sudo apt-get install u-boot-tools
 
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev lib32ncurses5 lib32z1 x11proto-core-dev libx11-dev lib32z1-dev
 
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32ncurses5 lib32bz2-1.0
 
sudo apt-get install libxml2-utils
 
sudo apt-get install subversion openssh-client openssh-server samba git-core git-gui vim
 
sudo add-apt-repository ppa:git-core/ppa
 
sudo apt-get update
 
sudo apt-get upgrade
 
sudo apt-get install libswitch-perl
 
sudo apt-get install rar unrar
 
sudo apt-get install gawk
 
sudo apt-get install bc

搭建编译环境官方文档(有关JDK要求)

系统编译命令

  1. source build/envsetup.sh
  • 此命令会将vendor和device目录中厂商指定的envsetup.sh加载到当前shell中,获取厂商提供的产品配置信息。脚本文件build/envsetup.sh提供编译所需的重要命令用于编译Android源码。build/envsetup.sh脚本中的函数
    add_lunch_combo会被多次调用,用来添加Android编译选项。
  1. lunch
  • 用于初始化编译环境,指定目标产品类型和编译类型。第二件事是通过make命令执行build/core/config.mk脚本,并且加载另一个脚本build/core/dumpvar.mk来打印出当前的编译环境配置信息。
  1. m
  • 相当于make命令
  1. mm和mmm
  • 用于模块编译
  1. 查看编译
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值