Android源码编译环境搭建

1.安装64位Linux操作系统

2.安装必要的工具

sudo apt install git vim p7zip-full flex bison gperf build-essential zip curl valgrind lib32stdc++6 lib32ncurses5 lib32z1 libxml2-utils

3.安装JDK1.6

chmod 777 jdk-6u45-linux-x64.bin

./jdk-6u45-linux-x64.bin

配置环境变量

/etc/profile末尾添加

export JAVA_HOME=/home/lxzha/Public/jdk1.6.0_45 

export PATH=$JAVA_HOME/bin:$PATH 

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

重新登陆才生效 

4.降级make  

make-3.82版本

解压文件夹,切换到该目录下

执行./configure

执行sh build.sh

执行make install

重新登录才生效

5.拷贝Android源码到桌面,安装7z解压

下载安卓源码

(1).百度网盘链接

账号:http://pan.baidu.com/s/1miOLfZi 

密码:9f8e

(2).Git和Repo下载

1.装Ubuntu系统

2.装Git工具 sudo apt-get install git

git --version

git config --global user.email "你的电子邮件地址"

git config --global user.name "你的名字"

3.安装curl工具,类似wget

sudo apt-get install curl -y

4.安装repo工具

//新建一个bin目录

mkdir ~/bin

//将bin目录写入环境变量(这样你在任何目录下都可以访问)

PATH=~/bin:$PATH

//轮到curl工具了,我们使用curl工具下载repo,并将其放置到bin目录

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

//更改repo权限(不要问为啥,跟着做)

chmod a+x ~/bin/repo

5.新建Android源代码文件夹

mkdir android

cd android

6.安装Vim编辑工具

sudo apt-get install vim

7.修改repo文件的REPO_URL

vim ~/bin/repo

REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

8.初始化Repo

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.4_r1.2

9.bash脚本下载Android源码

#!/bin/bash  

echo "======start repo sync======"

repo sync  # 第一次下载android源代码

while [ $? != 0 ]; do

echo "======sync failed, re-sync again======"  

sleep 2

repo sync  #  如果出错,隔2秒后回继续调用repo sync下载android源代码

done

6.Android系统的编译

1.source build/envsetup.sh //导入需要的脚本工具

lunch 选择编译的产品

croot 切换到源码根目录

m 编译整个源码,无需切换到源码根目录

mm 编译当前目录下的所有模块,但是不编译它们的依赖模块

mmm 编译指定目录下的所有模块,但是不编译它们的依赖模块

mma 编译当前目录下的所有模块并编译它们的依赖模块

mmma 编译指定目录下的所有模块并编译它们的依赖模块

cgrep 对系统所有的C/C++文件执行grep命令

jgrep 对系统所有的Java文件执行grep命令

ggrep 对系统中所有的本地Gradle文件执行grep命令

resgrep 对系统所有res目录下的XML文件执行grep命令

sgrep 对系统的所有源文件执行grep命令

godir 查找并切换到该目录

2.lunch/choosecombo //选择产品

TARGET_PRODUCT:产品名(aosp_arm/aosp_x86)

TARGET_BUILD_VARIANT:eng/user/userdebug

TARGET_TYPE:release/debug

3.make -j8 //开始编译

make droid

make clean

make snod

make help

make sdk

make offline-sdk-docs

make doc-comment-check-docs

make libandroid_runtime

make framework

make services

7.运行Android模拟器

设置环境变量

/etc/profile末尾添加

export PATH=$PATH:/home/lxzha/Desktop/Android442/out/host/linux-x86/bin

export ANDROID_PRODUCT_OUT=/home/lxzha/Desktop/Android442/out/target/product/generic

export ANDROID_SWT=/home/lxzha/Desktop/Android442/out/host/linux-x86/framework

export ANDROID_BUILD_TOP=/home/lxzha/Desktop/Android442

再执行

emulator 

-system '/home/lxzha/Desktop/Android442/out/target/product/generic/system.img' 

-data '/home/lxzha/Desktop/Android442/out/target/product/generic/userdata.img' 

-ramdisk '/home/lxzha/Desktop/Android442/out/target/product/generic/ramdisk.img'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值