Fedora Core 5 编译Android
来源:互联网 发布:javascript 认证 编辑:程序博客网 时间:2024/06/04 23:28
如果选择比较新的Linux版本(例如Fedora10),则编译Android将比较顺利,一般直接make就可以成功生成所需要的文件和系统内核。(最多需要安装gperf),但在比较旧的Linux内核上编译Android将遇到很多错误,本文以Fedora Core5为例讲解所安装的步骤,供大家参考。
1. 因为Android SDK需要JDK 5或JDK 6支持, 但是Fedora Core 5的默认Java版本为JDK 4(1.4.2), 不能满足需求,因此首先需要升级JAVA.
从如下地址可以得到最新的JDK
http://java.sun.com/javase/downloads/index.jsp
将下载的jdk-6u11-linux-i586.bin文件用chmod +x设为执行,执行该文件将会自动解开为jdk1.6.0_11子目录,将该目录复制到合适的位置(例如/usr),然后需要在启动文件中修改默认的JAVA主目录。
下面的修改以/usr目录做为存放路径
修改/etc/bashrc, 增加下面的内容
export JAVA_HOME=/usr/jdk1.6.0_11
export PATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
这样重新启动后,相应配置将激活,运行 java -version将出现下面提示:
[root@Neil java]# java -version
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode,sharing)
[root@Neil java]#
说明java已经成功被安装了
2. 安装gperf
如果本机不存在gperf时,需要安装gperf. (Fedora 10下也有可能需要该文件)
yum install gperf
安装完成后,运行gperf --help将会有提示信息显示
3. 因为Android需要gcc编译器所包含的include文件至少是2.6版本的, 但是Fedora Core 5自带的gcc头文件所用的版本为2.4版本,将造成Android编译时找不到相应的定义。
cat /usr/include/linux/version.h
#define UTS_RELEASE "2.4.20"
#define LINUX_VERSION_CODE 132116
#define KERNEL_VERSION(a,b,c) (((a)<< 16) + ((b)<< 8) + (c))
[root@Neil java]#
此时我们可以采用移植的方法暂时将/usr/include/linux目录改为我们需要的版本,下面以一个已经配置过的Linux-2.6.18.1作为移植头文件版本,用户可以自行设定。
cd /usr/include
mv linux old-linux
ln -s /usr/linux-2.6.18.1/include/linux
此时/usr/include/linux将使用Linux-2.6.18.1的Linux 头文件了。
4. make
如果顺利的话,将在out目录下产生出我们所需要的SDK和相关的Kernel文件了。
Generated: (out/target/product/generic/android-info.txt)
Target system fs image:out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image:out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image:out/target/product/generic/userdata.img
[root@Neil mydroid]
5. 修改/etc/bashrc, 增加相应的声明信息.(用户可自行修改到相应Android目录)
export PATH=/usr/mydroid/out/host/linux-x86/bin:$PATH
exportANDROID_PRODUCT_OUT=/usr/mydroid/out/target/product/generic
6. 运行emulate就会出现Android的启动画面了。
Android 主画面:
Android 浏览器(基于Webkit)
Android的一个3D演示: (魔方)
一个小经验:
当出现下面的错误信息时,一般都是因为make出错后,才另外安装的gperf, 此时只要执行make clean,再make就可以了。
external/webkit/WebCore/css/CSSGrammar.y: In function 'intWebCore::getPropertyID(const char*, int)':
external/webkit/WebCore/css/CSSGrammar.y:81: error: 'findProp' wasnot declared in this scope
external/webkit/WebCore/css/CSSGrammar.y:85: error: invalid use ofincomplete type 'const struct WebCore::props'
0 0
- Fedora Core 5 编译Android
- Android编译环境(1) - 编译Native …
- Android编译环境(1) - 编译Native …
- android 编译环境 搭建
- android 编译环境 搭建
- Android 源码编译 文件系统制作
- Android 源码编译 文件系统制作
- android -- 编译不同库…
- android 四舍五入
- 用android build system 编译自己…
- android o…
- android …
- How GNU Radio Core Works -- An A…
- android scoket
- Android - LayoutInflater
- Android - LayoutInflater
-  
-
- WinCE上BINFS实现详解
- S3c2440A平台HIVE注册表+binfs的实…
- 安卓复习之旅—Binder工作机制
- USB2.0速度识别
- WinCE上BINFS实现详解
- Fedora Core 5 编译Android
- Wince6.0 s3c6410触摸屏驱动分析
- WINCE 6.0 怎样才可以关机
- S3C6410的JPEG解码(转载)
- UML9种类型图
- Windows® CE 系统中的同步机制
- 虚拟键码一览表
- WinCE内核裁减(中文字体)及字库…
- 转载有关wince开发的资料集合收藏