android4.1编译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android
4.1.4 编译
1、下载源码:
我是在ics版本的基础上通过repo sync更新,发现有了an droid 4_1_r1的分支,等待更新完,repobranch切换分支,然后.Build/envsetup.she然后lunchi选择full-eng最后make,过一会报错。提示:
build/core/product_config.mk:193:***_nic.PRODUCTS.[[build/target/product/v box_x
86.mk]]:
"frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.** Don't have a product spec for:
'full'
** Do you have the right repo manifest?
Google baidu bing 了大半天终于在an droid的bug单中找到了这条bug,解答是源码不全。愁了半天,repo sync都是最新的,愁了半天,最后再ics的repo 中重新下了个android
4.1.4的分支。
repoinit-uhttps:
4.1.1_r4
repo sync
下载3个小时,终于下载完成,本来下载源码需要很长时间5〜10个小
时,由于再ics的基础上下载,只需要把patch下载就行了(repo会自动完成)。兴奋啊,赶紧.
Build/envsetup.sh
lunch 1 full-eng
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi- 4.6/bin/arm-linux-
androideabi-gcc: 无法执行二进制文件
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi- 4.6/bin/arm-linux-
androideabi-gcc: 无法执行二进制文件
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi- 4.6/bin/arm-linux-
androideabi-gcc: 无法执行二进制文件
先没管它,继续机制行
make clean make -j8 过了几分钟提示错误:hostStaticLib: libhost(out/host/linux- x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
ERROR:
prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc
2.7-
4.6/bin/x86_64-linux-ar only run on 64-bit linux
make:
***[out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a] 错误 1
host C:
emulator-target-i386 <= external/qemu/cpus.c
host C:
emulator-target-i386 <= external/qemu/arch_init.c
host C:
emulator-target-i386 <= external/qemu/os-posix.c
host C:
emulator-target-i386 <= external/qemu/oslib-posix.c
host C:
emulator64-arm <= external/qemu/audio/audio.c
host C:
emulator64-arm <= external/qemu/disas.c
ERROR:
prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux- glibc
2.7-
4.6/bin/x86_64-linux-gcc only run on 64-bit linux
make:
*** [out/host/linux-x86/obj/EXECUTABLES/emulator64- arm_intermediates/disas.o] Error 1
make:
*** Waiting for unfinished jobs ...
ERROR:
prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux- glibc
2.7-
4.6/bin/x86_64-linux-gcc only run on 64-bit linux
make:
*** [out/host/linux-x86/obj/EXECUTABLES/emulator64-
arm_intermediates/audio/audio.o] Error 1
又陷入郁闷,googlebaidu 了好半天,都没找到解决方案,不过找到了提示,就是谷歌推荐使用64 位的ubuntu
10.04 来编译,很多配置都是基于64来的,所以32位系统编译会遇到很多问题。
天啦,难道我要重装ubuntu ?软件,vim, java编译环境都需要重新配置,工程浩大。找了半天实在找不到解决方案,只好去硬着头皮去下载了64 位ubuntu ,安装过程如下:
下载64 位ubuntu-
10.10-desktop-amd
64.isoamd代表64位名称,并非只使用amd处理器。把它放在F盘,并解压出其中Casper下的vmlinuz和initrd.gz放到ISO同盘根目录下载grub4dos解压出menu.lst和grldr.mgr把它门都放在C盘
配置windows启动项,发现win7的c盘下找不到boot.ini原来win7启动配置跟xp 不一样,搜了下找到一下方法:
开始菜单->运行->输入CMD,命令提示符下如下操作:
bcdedit /create /d "GRUB4DOS" /application bootsector
命令结果应该会返回一个GUID,后面的命令用到这个GUID
bcdedit /set {GUID} device partion=C:
bcdedit /set {GUID} path \grldr.mbr
bcdedit /displayorder {GUID} /addlast
等安装完成之后可以使用bcdedit /delete {GUID}将GRUB4DOS勺启动项删除,GRUB4DOSo动项的GUID可使用bcdedit /v查看。
依次root 各个分区找到放iso 的盘例如x