android源码编译环境搭建

本机编译环境为linux系统,android源码为android-4.3_r1,jdk为1.6其环境搭建如下:

1.下载android源码(官网,网盘都可),请自行下载。

    安装必要的开发包。在终端执行以下命令:
    $sudo apt-get install git-core gnupg flex bison gperf build-essential \

     zip curl libc6-dev libncurses5-dev:i386 libgl1-mesa-glx:i386\

      libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \

      python-markdown libxm12-utils xsltproczlib1g-dev:i386

2.下载jdk1.6.0_13并设置jdk环境如下(也可以放在~/.bashrc里面)

     在文件系统目录以root身份登录并修改/etc/profile文件,在profile文件尾部添加如下内容

      #set java environment
      export JAVA_HOME=/home/ada/jdk6/jdk1.6.0_13
      export JRE_HOME=$JAVA_HOME/jre
      export CLASSPATH=./:JAVA_HOME/lib:$JRE_HOME/lib
      export PATH=$JAVA_HOME/bin:$PAT

保存后退出,执行source /etc/profile

最后测试jdk环境设置是否成功,如下所示表示成功。

3.进入所下载的android源码目录,下图为本机源码位置ls后可以看到源码各个目录文件。

4.编译android源代码

    下载完android源代码后就可以对源代码进行编译了,但是在编译之前需要在android源代码的根目录执行如下命令来设置一些shell函数。

    

注意:如果执行成功,根据android版本的不同会输出类似如上图所示的信息。

5.设置编译目标

    在编译android源代码之前要先设置编译的目标,也就是为那些设备编译android源代码。如果要让编译后的目标文件在模拟器或android真机上运行,则要执行如下命令来进行选择:

如上图所示直接选择数字序列号即可选择相应的目标并回车。本机是默认选择。

6.执行make命令

    最后在android源码根目录执行make命令后就可以进行整个android源代码的编译了。编译过程时间有点长,需要耐心等待。执行的make命令如下:

如果机器是多核cpu则可以在指定编译时利用的cpu核数。如上其中-j4表示利用了4个cpu核,log.txt是编译过程中写入的log日志文件,该文件可以定位编译过程中出现的异常现象从而进行快速解决。

编译完android源代码后,会在anroid源码根目录生成一个out目录,所编译生成的目标文件都在该目录的相应子目录中。其中最重要的有三个镜像文件ramdisk.img,system.img,userdata.img,这3个文件所在的目录为out/target/product/generic。如下所示:

7.模拟器emulator的环境设置

    打开.bashrc文件并设置模拟器emulator所需环境配置,在该文件中添加如下内容

保存所添加的内容后并执行source ~/.bashrc

8.启动模拟器emulator

在android源码根目录下执行emulator命令即可启动。如下所示:

至此界面出现说明成功启动模拟器。

附录:

user,userdebug,eng区别

user:设定属性 ro.secure=1,打开安全检查功能。设定属性 ro.debuggable=0,关闭应用调试功能。默认关闭 adb 功能并无法获取root权限。

userdebug:设定属性 ro.secure=1,打开安全检查功能。设定属性 ro.debuggable=1,启用应用调试功能。默认打开 adb 功能

eng:设定属性 ro.secure=0,关闭安全检查功能。设定属性 ro.debuggable=1,启用应用调试功能。默认打开 adb 功能。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值