注意:请用户在首次将工程下载到本地进行编译时请从git获取未包含任何编译后文件的代码,虽然每次通过makeclean命令能够清楚编译生成的中间文件,但是该makefile仍然存在不能完全清除中间文件的情况;我自己就因为代码是拷贝别人电脑上的而导致屡次编译失败,无法分析错误原因的情况,在android源码编译中该情况更应该得到重视;中间文件未清楚会导致在编译时出现各种未知的错误提示;
说明:source tree, 必须严格按照这个目录结构存放.缺省是 ~/workspace/exdroid
|-- android2.3.4 ---android源码
|-- lichee ---linux内核
| |-- buildroot
| |-- build.sh
| |-- linux-2.6.36
| `-- out ---生成镜像文件的目录,编译成功就会生成此目录
|-- tools
| |-- crane_pack_src
| |-- crane-win-v2
| |-- LogoGen
| |-- pack
| |-- pack_25
| `-- production
说明:在存放文件时,android2.3.4源码,lichee必须在同级目录,因为在android源码中通过相对路径的方式调用内核编译的部分头文件,镜像文件;例如:
1. 进入lichee
2. 进入lichee/linux-2.6.36目录
先执行 make clean 清除之前
回到上一目录cd ..
再执行命令:./build.sh -psun4i_crane进行编译
3. 编译顺利的话,您应该看到生成lichee/out,目录里面有生成的内容,其中bImage就是生成的内核镜像,如图:
4. 常见错误及解决方案
3.1 错误一
解决方法:到
lichee/linux-2.6.36/modules/wifi/usi-bcm4329/v4.218.248.15/open-src/src/dhd/linux
1.删除dhd-cdc-sdmmc-gpl-2.6.36-android目录
2.进入lichee/linux-2.6.36目录,先执行 make clean 清除之前
3.再执行命令:./build.sh-p sun4i_crane进行编译
1. 首先从git上下载源码,这样能够得到一份未编译过的,干净的代码库;
2. 执行 cd android2.3.4 进入该目录;
3. 执行脚本 source build/envsetup.sh
4. Lunch
5. 选择7
6. Make -j8
7. 编译大概1小时30分钟后可编译完成 最后在根目录中生产out目录,如图