android底层开发计算机类

上传人:m**** 文档编号:512896801 上传时间:2023-05-07 格式:DOC 页数:51 大小:466.50KB
返回 下载 相关 举报
android底层开发计算机类_第1页
第1页 / 共51页
android底层开发计算机类_第2页
第2页 / 共51页
android底层开发计算机类_第3页
第3页 / 共51页
android底层开发计算机类_第4页
第4页 / 共51页
android底层开发计算机类_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《android底层开发计算机类》由会员分享,可在线阅读,更多相关《android底层开发计算机类(51页珍藏版)》请在金锄头文库上搜索。

1、近年来,手机移动平台越来越火爆。打开自己的QQ算了一下,在线好友共有31个,其中用手机上的有13个,手机用户占了42%;打开新浪微博、天涯和猫扑等网站,各种终端设备的发贴、回贴更是数不胜数。目前,手机平台如日中天的要数是iOS和Android了,尤其是iOS,Symbian已没落,WP7在挣扎。iOS一如既往地走Apple特色的封闭道路,然而它的强大在于能够建立一个完整的生态系统,乔布斯确实是天之骄子,没有之一;相反,Android奉行开放政策。注意,Android是开放,不是开源,从Android被踢出Linux Kernel主线代码,可以看出为什么说Android是开放而不是开源的:htt

2、p:/ Mac是如何被开放的IBM PC打得一败涂地的。Google能够重现IBM当年的辉煌吗?不好说,吃一堑,长一智,Apple还是一个伟大的公司的。然而,个人还是看好Google,看好Android. 既然看好移动平台,看好Android,那还等什么,赶紧研究一下吧。工欲善其事,必先利其器。相信大家都知道Android的APP的是用Java写的,运行在Dalvik虚拟机上,还有,Android的系统是基于Linux Kernel 2.6的。那么,要想深入了解Android系统的各种细节,当然少不了Linux Kernel的知识了。本人水平有限,对Linux Kernel也是略知皮毛,望与大

3、家共勉,在此,推荐几本几天Linux Kernel的经典书籍: 1. Linux Kernel Development. 2. Understanding the Linux Kernel. 3. Linux Device Drivers. 4. Linux内核源代码情景分析.看了Linux Kernel的书,当然也要看一下Android的书了,这样可以对Android平台长什么样子有一个感性的认识,推荐下面两本书: 1. Professional Android Application Development. 2. Google Android SDK开发范例大全. 如果可以一边看书,一边

4、照着例子实战一下,那就更好不过了:)。后面,我将会总结一些自己学习过程觉得有用的知识出来,与大家分享、交流。开始我们的Android之旅吧。在Ubuntu上下载、编译和安装Android最新源代码分类:Android2011-06-21 23:154357人阅读评论(41)收藏举报 看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源代码了呢?一直习惯使用Windows系统,而Android源代码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载、编译和安装Android源代码

5、。 一. 环境准备。 1. 磁盘空间预留20G左右,内存3G,因为一边要跑主机,一边要跑虚拟机,内存要求还是比较高的,这样才会比较流畅。 2. 安装VMWare 7.1.4。我的操作系统是Win7,VMWare的版本要新一点的,旧版本的VMWare在网络支持上比较差,由于要在虚拟机上下载Android源代码,没有网络是万万不行的。 3. 安装好VMWare后,接下来就安装Ubuntu系统了。我选择目前最新的版本ubuntu-11.04-alternate-i386,从网上查到的资料说,要编译Android源代码,Ubuntu的最低版本是8.04。下载好后,安装时采用一直默认安装即可。 4. 安

6、装Git工具。Android源代码采用Git工具来管理,与SVN相比,这是一种分布式的源代码管理工具,而SVN是集中式的源代码管理工具。要安装Git工具,在Ubuntu上执行以下命令即可: USER-NAMEMACHINE-NAME:$ sudo apt-get installgit-core gnupg 5. 安装Java SDK。在Ubuntu上执行以下命令: USER-NAMEMACHINE-NAME:$sudo add-apt-repository ppa:ferramroberto/java USER-NAMEMACHINE-NAME:$sudo apt-get update USE

7、R-NAMEMACHINE-NAME:$sudo apt-get install sun-java6-jre sun-java6-plugin USER-NAMEMACHINE-NAME:$sudo apt-get install sun-java6-jdk 6. 依赖的其它包。在Ubuntu上执行以下命令: USER-NAMEMACHINE-NAME:$sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl 7. 调试工具。在Ubuntu上执行以

8、下命令: USER-NAMEMACHINE-NAME:$sudo apt-get install valgrind 二. 下载Android源代码工程。 1. 下载repo工具。在Ubuntu上执行以下命令: USER-NAMEMACHINE-NAME:$wgethttp:/android.git.kernel.org/repo USER-NAMEMACHINE-NAME:$chmod 777 repo USER-NAMEMACHINE-NAME:$cp repo /bin/ 2. 下载Android最新版本源代码。在Ubuntu上执行以下命令: USER-NAMEMACHINE-NAME:$

9、mkdir Android USER-NAMEMACHINE-NAME:$cd Android USER-NAMEMACHINE-NAME:/Android$repo init -u git:/android.git.kernel.org/platform/manifest.git USER-NAMEMACHINE-NAME:/Android$repo sync 经过漫长的等待(我下载了两三天)后,就可以把Android源代码下载下来了。其间可能还有经历下载中断的情况,这时只要重新执行repo sync就可以了。 三. 编译Android源代码。 1. 编译。在Android目录下执行以下命令

10、: USER-NAMEMACHINE-NAME:/Android$ make 第一次编译要等待比较久的时间,编译成功后,可以看到下面的输出: Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img Install system fs image: out/target/product/generic/system.img Target ram disk: out/target/product/generic/ramdisk.img Target u

11、serdata fs image: out/target/product/generic/userdata.img Installed file list: out/target/product/generic/installed-files.txt 2. 编译过程中可能会遇到的问题。 问题一:You are attempting to build on a 32-bit system. 两个地方需要个修改: 1)修改build/core目录下的main.mk文件: ifeq ($(BUILD_OS),linux) build_arch := $(shell uname -m) #Change

12、 the following line for building on a 32-bit system. #ifneq (64,$(findstring 64,$(build_arch) ifneq (i686,$(findstring i686,$(build_arch) $(warning *) $(warning You are attempting to build on a 32-bit system.) $(warning Only 64-bit build environments are supported beyond froyo/2.2.) 2)找到下列文件: /exter

13、nal/clearsilver/cgi/Android.mk /external/clearsilver/cs/Android.mk /external/clearsilver/java-jni/Android.mk /external/clearsilver/util/Android.mk 修改LOCAL_CFLAGS和LOCAL_LDFLAGS变量: # This forces a 64-bit build for Java6 # Change the following two lines for building on a 32-bit system. # LOCAL_CFLAGS +

14、= -m64 # LOCAL_LDFLAGS += -m64 LOCAL_CFLAGS += -m32 LOCAL_LDFLAGS += -m32 问题二:Undefined reference to _dso_handle external/stlport/src/monetary.cpp:39: undefined reference to _dso_handleout/target/product/vm/obj/SHARED_LIBRARIES/libstlport_intermediates/src/locale.o: In function _static_initialization_and_destruction_0: external/stlport/src/locale.c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号