ubuntu 下编译android40Word文档格式.docx

上传人:b****5 文档编号:20590082 上传时间:2023-01-24 格式:DOCX 页数:22 大小:13.47MB
下载 相关 举报
ubuntu 下编译android40Word文档格式.docx_第1页
第1页 / 共22页
ubuntu 下编译android40Word文档格式.docx_第2页
第2页 / 共22页
ubuntu 下编译android40Word文档格式.docx_第3页
第3页 / 共22页
ubuntu 下编译android40Word文档格式.docx_第4页
第4页 / 共22页
ubuntu 下编译android40Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

ubuntu 下编译android40Word文档格式.docx

《ubuntu 下编译android40Word文档格式.docx》由会员分享,可在线阅读,更多相关《ubuntu 下编译android40Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

ubuntu 下编译android40Word文档格式.docx

ICS的话,估计也能完成,时间问题而已。

至于为什么用ubuntu10.04(64位),因为学校用的是史上最变态无聊的drcom,没找到ubuntu11.10的64位版本,32位倒是有。

还有一点的是ubuntu11.10的gcc版本更新了,编译过程中会出现一些errors,不过很简单就可以解决的。

Android4.0的源代码压缩包可以去去下载,下载后解压缩(tarvxzf)即可,解压之后一共有4.7G。

进入解压之后的目录,ls一下就可以看到Makefile了。

指向

4build/core/main.mk

编译之前要安装一些依赖包什么的,还有JDK之类的东西。

因为之前编译过android的源代码,机器已经安装了,而且是64bit的系统,所以在terminal转到源代码目录下,直接make即可,要修改编译中分配的线程的话,make–jN即可,N为线程数。

e.g:

5make–j6

-------------编译准备工作------------------------------------------------------------------

附上需要安装的依赖:

6$sudoapt-getupdate

7$sudoapt-get-yinstallgit-core

8$sudoapt-get-yinstallgnupg

9$sudoapt-get-yinstallsun-java6-jdkflex

10$sudoapt-get-yinstallbison

11$sudoapt-get-yinstallgperf

12$sudoapt-get-yinstalllibsdl-dev

13$sudoapt-get-yinstalllibesd0-dev

14$sudoapt-get-yinstalllibwxgtk2.6-dev

15$sudoapt-get-yinstallbuild-essential

16$sudoapt-get-yinstallzip

17$sudoapt-get-yinstallcurl

18$sudoapt-get-yinstalllibncurses5-dev

19$sudoapt-get-yinstallzlib1g-dev

20$sudoapt-get-yinstallvalgrind

(如果是32bit的系统的话,则要更改几个Android.mk文件)

21/external/clearsilver/cgi/Android.mk

22/external/clearsilver/java-jni/Android.mk

23/external/clearsilver/util/Android.mk

24/external/clearsilver/cs/Android.mk

用gedit打开,修改m64为m32即可

另外

25build/core/main.mk

也要把

26ifneq(64,$(findstring64,$(build_arch)))

修改为

27ifneq(i686,$(findstringi686,$(build_arch)))

----------------编译过程------------------------------------------------------------------

在terminal中

28$make

编译开始……

可以看到platformversion为4.0.1,然后开始漫长的等待。

如果是32bit的系统,就可能会出现一下两个问题

error1、

29make:

***

30[out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o]error1

在terminal中输入

31$geditframeworks/base/libs/utils/Android.mk

将下面这一行

32LOCAL_CFLAGS+=-DLIBUTILS_NATIVE=1$(TOOL_CFLAGS)

改为

33LOCAL_CFLAGS+=-DLIBUTILS_NATIVE=1$(TOOL_CFLAGS)-fpermissive

error2、

34make:

***[out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o]error1

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

解决方法:

修改源码目录下

35/build/core/combo/HOST_linux-x86.mk

将以下语句

36HOST_GLOBAL_CFLAGS

37+=-D_FORTIFY_SOURCE=0

38HOST_GLOBAL_CFLAGS

39+=-U_FORTIFY_SOURCE-D_FORTIFY_SOURCE=0

打开systemmonitor查看一下系统的资源利用情况,前二十分钟,cpu各个线程几乎都是满载工作,memory一般维持在1.5G左右。

然后三十分钟过后,memory开始直线上升了,主要是在执行一些copying和install之类的工作,CPU的线程就一般不超过10%了。

期间电脑卡爆,memory满载一直持续到编译工作的完成。

编译过程大概花了两个小时,如果机器的memory上到8G的话,估计时间也就40分钟左右。

但是一些人说的最低要求16G内存是很坑人的,都没有试过,然后就以讹传讹了。

我的电脑为AMDX4640内存为4G的32位ubuntu11.10编译android2.3也就一个小时。

加到8G内存的话,编译android4.0估计也没压力。

(CPU超频到3.52GHZ,coolandquiet关闭)

编译成功会会再源码目录下生成一个out文件夹,大小有12G,所有所在的挂载区剩余空间最好大于20G。

相应的img在

40out/target/product/generic

里面,一共有三个img,ramdisk.img、system.img、user.img

其中ramdisk.img是一个分区映像文件,kernel启动时,ramdisk负责init,system.img包括了主要系统,系统app等,挂载于/system,userdata.img包括了一些用户数据,被挂载到/data下,diy过固件的童鞋应该是很清楚这一点的。

另外还有root、system、data三个文件夹,其实就是上述三个img解压之后的内容而已.root对应ramdisk.img.。

可以进去system目录下查看一下安装过的app

然后再顺便把android4.0的SDK编译出来,因为make编译并不包含kernel和SDK。

在源码目录执行

41$makePRODUCT-sdk-sdk

即可。

SDK编译的话,时间就短了很多,也就不到30分钟吧。

编译之后可以在out/host/linux-x86/sdk发现编译出来的android4.0SDK包,跳到tools,可以看到一些android工具之类的,其中emulator是用来加载启动编译好的以上3个img文件。

好吧,来看看android4.0的面目。

配置一下export

42$sudogedit

43/etc/bash.bash.rc

在后面增加

44exportANDROID_SDK_HOME=/usr/android4.0/android4.0/out/host/linux-x86/sdk/android-sdk_eng.xumin_linux-x86

45exportPATH=$ANDROID_SDK_HOME/tools:

$PATH

46exportANDROID_PRODUCT_OUT=/usr/android4.0/android4.0/out/target/product/generic

保存退出,然后再开一个shell,输入

47$emulator

就可以看到android4.0的虚拟机了。

额,分辨率貌似有点低,好吧,在eclipse下面引入刚刚编译好的SDK,配置一个android4.0的AVC,来点有平板味道的android虚拟机。

先安装ADT插件

48http:

//dl-

Android4.0的UI看起来很清爽,没有2.3那种沉闷感,解锁是全新方式,主菜单里面分了两个类别,图标很多都是全新的面孔。

一个是APP,另外一个是WIDGETS,小控件之类的东西,可拖动。

看一下系统信息,可发现kernel版本是2.6.29的,可以下载新的内核3.0.1重新编译。

------------乱谈分割线-------------------------------------------------------------------------

Android4.0是在Android3.X基础上升级的,有了真正的平板上面的android系统,并不像以前的android2.3那样,拿一个手机的系统整到平板上面去跑,很多东西看着都别扭。

现在传出来的消息是RK2918运行ICS,基本程序和应用问题不大,但是3D应用会稍微吃力,依赖于android4.0的代码优化好,没有太大问题,然后国内的几个厂家都想先拨头筹,现在距离android4.0发布也就两周,拿到源代码的时间较短,新系统的移植出现的各种新bug,flash支持什么的,加上android2.3残留下来的老毛病,也有得折腾的。

希望厂家淡定点,不要急着量产android4.0,先完善产品。

Rk29上android4.0还是感觉是为了RK30作为测试而已,也顺手榨干RK29的剩余价值,真正主力还是在RK30双核。

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

另外提一下:

关于android4.0与内核的关系

有些玩家误以为2.6.X的内核不是真正的android4.0

个人有点不大同意,首先一点,内核的更新一般都是更新了一些android平台的设备驱动和修正bug之类的。

事实上,更新并不是非常大,更加不存在真假android4.0的说法。

还有网上的一篇文章的一句话,引用一下

樊建鹏:

系统版本的升级从Android2.3升到Android4.0,需要内核版本的同步升级支持,内核要为3.0.8版才行,如果是2.6.X则无法实现好的兼容性。

这位工程师的意思是说Rk29平台的android4.0最好是更新到3.0的kernel,要不就会有一些兼容性的问题,其实也就是一些驱动、bug什么的,也没什么大不了的。

而其他方案是否更新到新版本的内核,还得看方案,不过升级了,还是多了一个可宣传的噱头。

另外关于之前说的android被linuxkernel踢出一事,除了更新kernel麻烦一点点,编译一个新的kernel是非常简单的事情而已,3.0.X的kernel随便上,另外官方下载的源代码编译出来的初始kernel版本也2.6.29,难道官方放出来的android4.0就不是真正的ICS了?

完毕

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1