Android ROM开发之Android源码搭建与编译

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年8月30日05:17:22 评论 39 views

为了编译自定义的Android ROM,第一步是搭建一个合理的硬件和软件开发环境。  
一、硬件开发环境
16G以上内存、高性能CPU:使用Intel i7内核,8G内存的PC编译Android 2.3首次需要半小时左右,小范围修改重新编译在5分钟左右;编译Android 4.2首次编译需要80分钟左右。如果开发Android2.3 ROM使用上述配置即可,如果编译Android 4.0 ROM需要更高级的配置,考虑到Android4.2的源码在10G左右,提高内存应该可以提升编译速度,因此利用闲置的64G内存、2颗 64位E5620 CPU的Server进行开发。
64位机器:为了编译Android 2.3.x以上版本,CPU要求是64核。
单个Andoid版本需要100G左右硬盘空间:每个Android版本需要100G左右空间,主要是编译后的临时文件,每个版本针对每个单独的设备需要单独编译,单个设备编译需要30G左右,为了兼容所有机型编译需要100G左右硬盘空间。  
二、软件开发环境:
操作系统:比较稳定的是Ubuntu 10.04 64-bit Desktop,由于Ubuntu 10.04已不在维护,Google正在Ubuntu LTS(12.04 64-bit)上进行开发测试。建议选择Ubuntu 10.04 64-bit。 注1:如果在新版的笔记本上安装双系统或者Ubuntu出现问题时,使用ubuntu维护盘的GParted工具来删除原生Windows系统的分区表并格式化整个硬盘。
注2:服务器配置,由于各种原因,只能使用服务器来进行开发,所以需要进行一些网络配置和VNC配置 网络环境: 配置IP与DNS
vim /etc/networking/interfaces

auto eth0
iface eth0 inet static
address 10.109.254.15
netmask 255.255.255.0
gateway 10.109.254.1
#dns-nameservers 10.3.9.4 10.3.9.5

  配置DNS
vim /etc/resolv.conf

nameserver 10.3.9.4
nameserver 10.3.9.5

  重启网络
/etc/init.d/networking restart   安装ssh
sudo apt-get install ssh
  安装VNC

  sudo apt-get install vnc4server

vncserver :3  
检查硬件环境 使用
df -h检查各磁盘空间使用情况,保证/home足够空间。  
软件环境 python:要求2.6或者2.7 GNU Make:严格要求3.8.1 JDK 1.6 由于Ubuntu 12.04不支持Oracle JDK的apt安装,下面提供安装方式

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java6-installer

说明:
1.6 JDK 69M下载需要较长时间10~30分钟。
Git 1.8.1以上 支持https方式同步git 下面提供最新版git的安装方式

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git 说明:
23M下载需要较长时间5~10分钟
,期待新的安装方法 安装完后需配置global设置
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
ccache
sudo apt-get install ccache 设置PATH
vim ~/.bashrc添加
export USE_CCACHE=1
source ~/.bashrc 测试设置成功:
echo $USE_CCACHE
安装相关依赖package
sudo apt-get install git-core gnupg flex bison gperf build-essential \

zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \

x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \

libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \

libxml2-utils xsltproc

继续阅读
企鹅博客
  • 本文由 发表于 2020年8月30日05:17:22
  • 转载请务必保留本文链接:https://www.qieseo.com/219343.html
Git 分支的创建、合并、管理和删除 Linux教程

Git 分支的创建、合并、管理和删除

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: