您的位置:首页 > 移动开发 > Android开发

Android系统源码编译

2012-10-15 19:26 274 查看
                                     Android系统源码编译

1.Android源码下载........................................................................................

2.编译Android源码.........................................................................................

  2.1 Android源代码结构.............................................................................................................

  2.2 编译源码................................................................................................................................

3.编译结果.......................................................................................................

1.Android源码下载

   详细参考http://wenku.baidu.com/view/6b0cff242f60ddccda38a060.html  或上一篇文章。

2.编译Android源码

   2.1 Android源代码目录结构

     进入Android源码所在目录,使用tree命令显示其目录结构

     $ tree -L 1 source

     


  2.2 编译源码

      编译Android系统的方法比较简单,在Android源代码的根目录中有一个Makefile,直接执行make即可。可以增加-j4 等参数并行编译的线程,加快编译速度,即:make -j4 。编译时间比较长,一般需要几个小时。

      注意:在编译时,可能会出现jdk版本不支持,因为编译不同版本的Android源码所需的jdk版本 不同。可以到http://www.oracle.com下载所需jdk版本。

      我在编译时,也遇到jdk版本问题:

       Checking build tools versions... 

       ************************************************************ 

       You are attempting to build with the incorrect version of java. 

 

       Your version is: java version "1.6.0_24". 

       The correct version is: Java SE 1.6. 

 

       Please follow the machine setup instructions at 

            http://source.android.com/source/download.html 

       ************************************************************

       build/core/main.mk:131: *** stop。 停止。

       解决方法:重新下载安装jdk1.6.0_35(我的android版本是 android-4.0.1_r1)。

3.编译结果

     一般情况下,system.img生成后,表示整个系统已经成功地编译完成了。Android系统编译完成的结果全部在其根目录的out目录中,原始的各个工程不会改动。默认情况下编译的是名称为generic的产品,表示通用的产品。

     out/target/product目录是目标产品的目录,目录结构如下所示:

    


   其中root、system、data这3个目录分别是目标根文件系统、主文件系统和数据文件系统。后缀名为.img的文件分别是它们所对应的映像文件。目录obj中的内容是目标机的各个目标。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息