编译android源码及遇到的问题
编译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 虚拟机》——第1章,第1.3节编译Android源码
本节书摘来自异步社区<深入解析Android 虚拟机>一书中的第1章,第1.3节编译Android源码,作者 钟世礼,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 编译Android源码
通过参考网上的相关资料,我编译Android源码的步骤如下: 1 我的系统是Ubuntu 8.04 2 系统上必须安装以下工具(摘自网上的资料): sudo apt-get install bu ...
- (转)编译Android源码的全过程
在网上看到一篇编译android源码的文章,照着做挺行的, 通过参考网上的相关资料,我编译Android源码的步骤如下: * 1 我的系统是Ubuntu 8.04 * 2 系统上必须安装以下 ...
- ubuntu 11.10下载和编译Android源码
ubuntu 11.10下载和编译Android源码 由衷感谢网上的各个博主的文章,给了小弟我莫大的帮助.这里呢,小弟也把自己的经历记录下来,以供大家参考^^.这篇应该算是零基础.从无到有的流程介绍了 ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决 参考文章: (1)Ubuntu12.04编译Android ...
- 编译Android源码致命错误解决方案
编译Android源码致命错误解决方案 参考文章: (1)编译Android源码致命错误解决方案 (2)https://www.cnblogs.com/cliuwei/p/5605789.html 备 ...
- android:自己动手编译Android源码(超详细)
自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 4330 阅读 86819评论 89喜欢 339赞赏 7 在Android Studio代码调试一文中 ...
- win10最新下载编译Android源码的简易方法分享(已亲测)
win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...
- ubuntu 20.04编译Android源码
一直以来想编译android源码,趁闲编译了下,ubuntu版本:20.04,android源码版本:android-9.0.0_r30.总体还比较顺畅,中间遇到了一些报错,在文中也有记录,详情见下文 ...
- 在Virtual Box的shared folder中编译android源码。
一些诡异的选择会带来诡异的问题,比如android源码sync到一个shared folder里面,然后在这个Folder里面编译android源码. 问题:在SharedFolder下使用make ...
最新文章
- 个人站点渲染和跳转过滤功能
- 【转载】windows mobile 上隐藏和关闭X以及OK的处理
- idea 2019.2 版本更新(最顶部从白色边框变为黑色边框)
- maven java archetype_使用Maven Archetype创建Java项目模板
- 北斗导航 | Modified Tropospheric:对流层延迟计算(matlab代码)
- 在 SharePoint 2013 中选择正确的 API 集
- Kubernetes:全面了解 Deployment
- class12_pack_grid_place 放置位置
- delphi chart 曲线实时_发展学生曲线跑能力的体育游戏及运用研究
- redis查询所有key命令_三歪推荐:Redis常见的面试题
- spring 的singleton 和prototype的区别和应用场合
- Mysql InnoDB事务
- PyTorch报错“/.../Loss.cu: ... [59,0,0] Assertion input_val >= zero input_val <= one failed.”
- undefined reference to 'modbus_new_tcp'
- 《战术篇》阵型的设定与编辑,战术命令详解
- java实现飞机大战小游戏(源码+注释)
- 计算机组成与结构1800题,最新版数据结构1800题含完整答案详解
- Ext-Ext4文件系统_日志JBD2
- 联想微型计算机m8000u配置,联想的产品介绍-20210412075714.pdf-原创力文档
- Android 图文数据JSON解析,金山词霸每日一句API的调用