- 浏览: 64570 次
- 性别:
- 来自: 北京
-
文章分类
Cupcake 编译指导
准备文件:
\ cupcake\
从服务器下载该目录下所有文件
解压 cupcake.tgz 至 ~/cupcake
tar zxf path/cupcake.tgz –C ~/
拷贝 clean_git.sh 至 ~/cupcake/ 并执行之,以清除各个子目录下的 .git 目录
cd ~/cupcake
chomd a+x clean_git.sh
./clean_git.sh
做原始版本记录
git init
git add .
git commit –m “cupcake base code”
~/cupcake 目录下新建 .gitignore 文件,输入如下内容,让 git 忽略之
out
*.patch
*~
解压 Android_PlatformRel_Linux_MHLV_2009WW21.tgz
tar zxf Android_PlatformRel_Linux_MHLV_2009WW21.tgz –C ~/
拷贝 cupcake_patch 到 cupcake 目录
cp –r ~/pxa_cupcake/src/cupcake/cupcake_patches/* ~/cupcake/
解压 vendor.tgz 到 cupcake 目录下
tar zxvf ~/pxa_cupcake/src/cupcake/vendor.tgz -C ~/cupcake
( 此步骤不执行将不会出现 littleton 选项 )
修改 apply_cupcake_patch.sh
git-am $cupcake_root_dir/$cupcake_patch
修改为
patch –p1 < $cupcake_root_dir/$cupcake_patch
打 cupcake_patch
./ apply_cupcake_patch.sh
做打 patch 后的版本记录
git add .
git commit
配置编译环境
编译 cupcake 需要 JDK1.5 , gcc-4.3 , g++-4.3 。
但 Ubuntu9.10 未安装 jdk1.5 ,默认安装 gcc-4.4 , g++-4.4 ,所以需要安装上述 2 个。
JDK:
如果之前装了 java6 sdk ,但编译 Android 需要 jdk5 ,所以先把 Java6 屏蔽掉。
lua@ubuntu:~$ ls /usr/bin/j*
/usr/bin/java /usr/bin/javaws /usr/bin/jexec /usr/bin/jockey-text
/usr/bin/java_vm /usr/bin/jcontrol /usr/bin/jockey-gtk /usr/bin/join
lua@ubuntu:~$ sudo mv /usr/bin/java /usr/bin/java.bak
lua@ubuntu:~$ sudo mv /usr/bin/javaws /usr/bin/javaws.bak
lua@ubuntu:~$ sudo mv /usr/bin/java_vm /usr/bin/java_vm.bak
lua@ubuntu:~$ ls /usr/bin/j*
/usr/bin/java.bak /usr/bin/jcontrol /usr/bin/jockey-text
/usr/bin/java_vm.bak /usr/bin/jexec /usr/bin/join
/usr/bin/javaws.bak /usr/bin/jockey-gtk
比如 jdk-1_5_0_21-linux-i586.bin 放到如下目录
/home/lua/Downloads
在 shell 窗口执行 sh jdk-1_5_0_21-linux-i586.bin
jdk5 将安装到 /home/lua/Downloads/jdk1.5.0_21
将 /home/lua/Downloads/jdk1.5.0_21/bin 添加到 PATH
lua@ubuntu:~$ echo $PATH
/home/lua/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lua/arm-marvell-linux-gnueabi/bin:/home/lua/bin:/home/lua/work/android-sdk-linux_86/tools:/home/lua/work/eclipse:/home/lua/Downloads/jdk1.5.0_21/bin
测试 Java ,系统能找到 java 且版本正确。
lua@ubuntu:~$ which java
/home/lua/Downloads/jdk1.5.0_21/bin/java
lua@ubuntu:~$ which javac
/home/lua/Downloads/jdk1.5.0_21/bin/javac
lua@ubuntu:~$ java -version
java version "1.5.0_21"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_21-b01)
Java HotSpot(TM) Client VM (build 1.5.0_21-b01, mixed mode, sharing)
lua@ubuntu:~$ javac -version
javac 1.5.0_21
GCC-4.3
安装文件在 ubuntu-9.10-gcc-4.3 目录下,
sudo dpkg -i cpp-4.3_4.3.4-5ubuntu1_i386.deb
sudo dpkg -i gcc-4.3-base_4.3.4-5ubuntu1_i386.deb
sudo dpkg -i gcc-4.3_4.3.4-5ubuntu1_i386.deb
sudo dpkg -i g++-4.3_4.3.4-5ubuntu1_i386.deb
sudo dpkg -i libstdc++6-4.3-dev_4.3.4-5ubuntu1_i386.deb
查看旧的 gcc , g++
ll /usr/bin/gcc*
ll /usr/bin/g++*
创建 gcc , g++ 软连接
sudo rm gcc g++
sudo ln –s gcc-4.3 gcc
sudo ln –s g++-4.3 g++
修改 cupcake bug
1. 如果直接 make ,会出现 frameworks/policies/base/PolicyConfig.mk:22: ***
No module defined for the given PRODUCT_POLICY (android.policy_phone). Stop. 错
误。
解决办法:
在 build/tools/findleaves.sh 中的第 89 行,
这一句 find "${@:0:$nargs}" $findargs -type f -name "$filename" -print |
改为 find "${@:1:$nargs-1}" $findargs -type f -name "$filename" -print |
2. qemu_gnu.patch
project external/qemu/
diff --git a/Makefile.android b/Makefile.android
index 4c697fb..98d2084 100644
--- a/Makefile.android
+++ b/Makefile.android
@@ -18,7 +18,7 @@ MY_CFLAGS := $(CONFIG_INCLUDES) -O2 -g \
# this is needed to build the emulator on 64-bit Linux systems
ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86)
- MY_CFLAGS += -Wa,--32
+ MY_CFLAGS += -Wa,--32 -D_GNU_SOURCE
endif
ifeq ($(HOST_OS),freebsd)
编译 cupcake
Buid PXA Android by:
$ . build/envsetup.sh
$ choosecombo
Note: please chose Device-release-littleton-user
$ make –j4
After a while (30~60 minutes), the binaries will be generated under /out/target/product/littleton/.
发表评论
-
Unable to get buffer of resource asset file
2010-07-13 19:17 1910Problems When building you m ... -
Android JNI详述(二)
2010-07-13 17:49 2009Android JNI 编程实践 ... -
Android JNI详述(一)
2010-07-13 17:41 2304Android JNI 知识简介 ... -
编译Android donut
2010-07-12 20:05 1766编译 Android 代码 ... -
ubuntu samba配置
2010-07-12 14:22 1975ubuntu samba配置 关键字: ubuntu sam ... -
ubuntu下挂载android sdcard
2010-06-30 10:56 2577挂载SDCAED 1. 到SDK目录 cd ~/andro ... -
android文件系统结构及其引导过程初步理解(转载)
2010-06-28 17:16 14751、android文件系统的结 ... -
查看android目录结构
2010-06-28 17:12 5221环境:ubuntu10.04 android2.1 启动a ... -
Android Tools
2010-06-24 09:55 2873aapt(Android asset packaging t ... -
下载编译android kernel
2010-06-24 09:13 9843在ubuntu10.04中用git和repo ... -
ubuntu10.04下make android1.5
2010-06-22 16:55 5694Ubuntu10.04编译android1.5源码出错问题解决 ... -
CUPCAKE 编译(转)
2010-06-22 14:29 1253<!-- @pa ... -
Git和Repo扫盲——如何取得Android源代码(转)
2010-06-22 14:25 2513<!-- @pa ... -
android源代码编译(转)
2010-06-22 14:18 1277编译Android过程 建立编译环境, Ubuntu版 ... -
ubuntu下安装android
2010-06-22 14:14 2014<!-- @pa ...
相关推荐
### 编译Android源码全过程详解 #### 一、获取Android源代码 在开始编译Android源码之前,首先需要确保获取完整的Android源代码...通过本文的指导,你可以顺利地完成Android源码的编译,并进一步进行定制和开发工作。
关于Android源代码的编译与环境配置,这是Android开发者需要掌握的基础技能之一。...对于初学者来说,建议在有经验的开发人员指导下完成这些步骤,以便更好地理解和掌握Android系统的编译与环境配置过程。
需要注意的是,编译 Android 源码是一项复杂的任务,涉及到大量的依赖关系和配置,因此在整个过程中需确保按照指导进行操作,并解决可能出现的各种依赖问题。此外,由于编译过程较长,建议在夜间或者空闲时间进行。
在这里,将`<branch>`替换为所选分支的名称,遵循官方文档的指导进行下载。 5. **编译源码** - 编译Android-x86源码的注意事项: - 对于froyo-x86分支之前的版本,可以在32位或64位系统上进行编译。从...
### Ubuntu 8.04下编译Android源码全过程...从Git和Repo脚本的使用,到编译前的环境配置,再到具体的编译步骤,均给出了明确的操作指导。这对于希望深入学习Android系统底层原理的开发者来说是非常有价值的参考资料。
2. **编译源码**:进入`cupcake-jianping`目录后,运行相应的脚本进行编译,例如: - `../make_image15.sh` 3. **编译内核**:根据需要选择合适的内核源码并进行编译,比如: - `svn co svn://192.168.2.148/...
- **源码位置** 通过SVN获取,如`svn://192.168.2.148/smartphone/td0901/trunk/cupcake-jianping`。 - **编译脚本** `make_image15.sh` 用于自动化编译过程。 - **编译结果** 保存在`out/target/product/littleton/...
对于Android源代码的获取和编译,这里提到了Android Cupcake版本。在Ubuntu 9.04环境下,首先需要安装git工具,然后下载repo工具,初始化Android项目,并同步源代码。接着,安装必要的依赖包,如flex、bison、gperf...
可以在AOSP的官方文档中找到关于如何设置开发环境的具体指导。 3. **编译源代码**:一旦源代码和环境都准备好了,就可以开始编译过程了。通常情况下,可以使用`lunch`命令选择合适的构建目标,然后运行`make`或`mmm...
本文档旨在指导开发者如何在s3c6410平台上进行Android系统的移植工作。s3c6410是一款高性能的处理器,适用于多种嵌入式应用。通过本教程的学习,您将了解整个移植过程中的关键步骤和技术要点。 #### 二、环境配置 ...
- 编译wlan.ko:下载并解压缩Realtek提供的Linux源码包,并按照文档指导进行编译。 - 需要在Makefile文件中添加特定的配置选项,例如`CONFIG_PLATFORM_ARM_MX53_SMD`。 2. **Android部分** - 在Android环境中...