最近准备着手开始学习Android系统,为了提高对Android系统的感性认识,动手在Ubuntu下编译Android源代码。本人按照《android系统源代码情景分析》一书中第一章
逐步进行学习,遇到了很多问题。
- 第一次编译源代码出现的错误较多,在网上搜索相关问题均能找到答案,大多数出错原因是编译环境有些软件没有安装
- 配置环境变量不成功
按照书中所说使用export PATH=$PATH:~/……进行环境变量的配置,发现运行时依然早不到所需文件。总结原因有可能是本人系统默认路径的问题。而后每次配置环境变量都使用绝对路径就没有在出现问题。 - 运行Android模拟器出现emulator: ERROR: You did not specify a virtual device name, and the system directory could not be found.
运行模拟器时出现了这个错误提示,上网搜了很多解决方案,最后用的哪个也不记得了。总之,最后打开本机的Eclipse,找到了avd manager,通过人机界面方式创建了一个虚拟机,然后emulator -avd 【虚拟机名称】就可以用了 - 本人按照书中所述进行了内核的编译,结果使用编译出的内核运行模拟器出现黑屏,在网上找到了一篇帖子,http://blog.csdn.net/lxc1014/article/details/9006537,用make goldfish_armv7_defconfig命令替换 make goldfish_defconfig来解决
- 在单独打包和编译Android应用程序模块时,发现make snod后ramdisk.img文件消失了,找了很多帖子没有找到解决办法,最终在老罗的博客里,看到了网友的回复,将问题解决了,参考http://blog.csdn.net/luoshengyang/article/details/6566662中蓝雨小英的回复,在helloworld的Android.mk中加入
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
将问题解决了。