编译Android

来源:互联网 发布:excel文件解密软件 编辑:程序博客网 时间:2024/03/29 18:57

 前一阵一位热心的朋友发了一个份ANDROID源程序,一直想把它编译一下,好一阵折腾总算把环境部署好了,下午下班开始make一下,早上回来竟然成功了 

以下是我的编译环境搭建和编译步骤,需要对大家有所帮忙

1、安装UBUNTU,这个就不细说了,我开始装的是10.10,后来升级到11.04,其实直接用10.10也没什么问题,不过人嘛总是有一种想法,新的一定比旧的好,要不还推新的版本干吗,抱着这样一种心态我把UBUNTU版本从10.10升到了11.04

2、安装JDK1.6,先从www.oracle.com下载一个jdk安装包,我下载的是jdk6 update27

下载之后执行sudo chmod u+x  jdk1.6.0_27.bin给文件赋执行权限

接着执行./jdk1.6.0_27.bin

这时会自解压出一个jdk1.6.0_27的目录出来

执行sudo gedit /etc/environment

在文件里添加如下内容

   PATH="......:/Android/jdk1.6.0_27/bin"
    CLASSPATH=.:/Android/jdk1.6.0_27/lib
    JAVA_HOME=/Android/jdk1.6.0_27

 

执行source /etc/environment

3、安装其它编译时用到的工具,命令是

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

4、解压源代码包

5、进入到解压后的源码包底下执行make ,大概3个小时左右就可以看到提示几个.img的文件路径,这时就编译完了

我是晚上下班放着自己编译的,具体多久我也不知道,网上说大概3个小时左右

6、配置执行文件路径参数

   sudo gedit ~/.bashrc

   在最后面添加以下两行

   ANDROID_PRODUCT_OUT=/Android/android_src/out/target/product/generic

   export ANDROID_PRODUCT_OUT

 执行命令source ~/.bashrc

  7、用模拟器启动编译好的ANDROID程序

cd $ANDROID_PRODUCT_OUT

  /Android/android_src/out/host/linux-x86/emulator -system system.img -data userdata.img -ramdisk ramdisk.img

这时可能会看到96M>66M什么的提示

这个只需要在后面加上一句-partition-size 100

这样就不会出来了

激动人心的时刻到了,怎么样,是不是等上一会看到了一个亲切的ANDROID模拟器启动后的界面

什么?没有?那一般是人品问题,反正我这是好了。

 

 

 

 

 

 

-----------------------------------------------------------------------------------------------------

很悲惨,用模拟器执行之后能启动,查是过一会提示一下

unexpected qemud char.channel close

然后就重启了

反复出现,一直也没有找到原因


---------------------------------------------------------------------

在UBUNTU11.10下编译提示

<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] <built-in>:0:0: note: this is the location of the previous definition cc1plus: all warnings being treated as errorsmake: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1

此处编译错误是由于ubuntu 11.10采用了GCC4.6.1导致的。

解决方法:

修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:

将以下语句

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0

修改为

HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0


 

原创粉丝点击