编译android源码及遇到的问题
来源:互联网 发布:装修淘宝店铺需要钱吗 编辑:程序博客网 时间:2024/04/28 21:37
编译android源码,首先当然是下载源码。
在source.android.com中可以方便的找到下载流程。
虽然有现成的方法(GIT&REPO)不过最好还是先熟悉一下这两个工具使用方法最好,否则也会走不少弯路。这里推荐Li Yanrui写的《git使用指南》。
好了,一步一步
$git init
$repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair ---------下载 android-2.1版本
$repo sync --------- 第一次最好使用repo sync下载完所有的文件
正式开始编译,料想不会太复杂吧
$ source build/envsetup.sh
$ lunch
选 simulator ----------我是在emulator上跑的android
$ make
....
编译完成之后在 out/target/.../generic/目录下生成了 ramdisk.img system.img userdata.img
$ emulator -system system.img
-data userdata.img
-ramdisk -ramdisk.img
Q&A 下面仅仅记录我在编译之中遇到的问题
1. android根据版本推出的先后选择了 java1.5 和 java1.6, 我是直接选择的java 1.6
因此需要修改 build/core/main.mk中的关于java版本判断的部分 改 1.5 -> 1.6
2. 编译了一段时间之后出现错误
提示 将警告当成了错了
解决办法 将报错位置的编译选项 -Werror 删除
下面还遇到无法识别的选项 -Wno-override-init 同样删除
3. GLIBC_2.11 not found
解决办法 http://blog.csdn.net/zhenyongyuan123/archive/2010/12/16/6079717.aspx
4. issue "You are attempting to build on a 32-bit system"
How to fix:
$ vim build/core/main.mk
change
ifneq (64,$(findstring 64,$(build_arch)))
to
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.)
$(warning ************************************************************)
$(error stop)
endif
external/clearsilver/cgi/Android.mk,
external/clearsilver/java-jni/Android.mk,
external/clearsilver/util/Android.mk,
external/clearsilver/cs/Android.mk
change
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
to
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32
...
P.S. 交叉编译android kernel
下载android kernel源码
$ git clone git://android.git.kernel.org/kernel/common.git kernel-common
$ cd kernel-common
$ make ARCH=arm goldfish_defconfig .config
$ make ARCH=arm CROSS_COMPILE=PREBUILT_PATH/linux-x86/toolchain/arm-esbi/bin/
......
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
- 编译android源码及遇到的问题
- 下载编译阅读Android源码及遇到的问题
- 编译android源码遇到的问题
- 编译android源码遇到的问题
- 编译Android源码遇到的一个问题
- Ubuntu下编译AllJoyn源码及遇到的问题
- 编译源码遇到的问题
- ubuntu9.04下编译android源码遇到的问题
- 编译android源码所遇到的问题收集
- Android 4.4源码编译以及遇到的小问题
- Ubuntu12.04 编译android 源码 遇到的问题
- 编译Android源码过程中遇到的问题
- 编译android源码遇到的问题use BUILD_PREBUILT instead
- 更新自己编译android源码遇到的问题
- Android源码编译JNI遇到的问题与解决方法
- Android 源码编译——以及遇到的问题记录
- android 源码编译遇到得一些问题
- android 源码编译遇到得一些问题
- opendedup(sdfs)源码分析4之XattrSupport篇
- 磁盘操作 API
- 人生没有终点, 适时就要启航
- 设计模式学习心得
- 一个搞笑的程序
- 编译android源码及遇到的问题
- 项目文档知多少(二)
- う 如果有一天,全世界背叛了祢、俄会站在祢身后,背叛全世界.
- 开发Linux 服务程序与windows service程序的主要区别
- MySQL启动脚本
- 第一次梦见这么多的狗
- 代表对过去的留恋
- .net同一个解决方案下面多个web项目的解决方法
- struts test case