编译Android内核源码.docx
- 文档编号:5997126
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:2.44MB
编译Android内核源码.docx
《编译Android内核源码.docx》由会员分享,可在线阅读,更多相关《编译Android内核源码.docx(13页珍藏版)》请在冰豆网上搜索。
编译Android内核源码
编译Android内核源代码
下载好Android内核源代码这里使用的是模拟器所以下载的是android-goldfish-2.6.29版本的
打开Android内核源代码目录下的Makefile文件修改体系结构和交叉编译工具即ARCH和CROSS_COMPILE
为Android模拟器编译内核分为三个步骤
第一步是将交叉编译工具所在的目录添加到环境变量PATH中
第二步是修改硬件配置文件goldfish_defconfig
第三步时执行make命令
编译好的Android内核镜像文件zImage位于Android内核源代码目录下arch/arm/boot子目录中
运行Android模拟器命令emulator带参数-kernel以指定Android模拟器所使用的内核镜像文件
使用adb命令或者打开模拟器手机的设置关于手机查看内核版本是否为自己编译的
开发一个Android应用程序来验证系统的行为这里假设读者已经熟悉如何使用AndroidSDK来开发Android应用程序
在linux下的Android应用程序工程一般包含有一个源代码目录src一个资源目录res一个配置文件AndroidManifes.xml和一个编译脚本文件Android.mk
这里吐槽一下AndroidManifest英文不要拼错我写错成了AndroidMainfest找半天才找到原因
单独编译和打包Android应用程序模块在使用mmm命令之前要在Android源代码目录下执行以下source./build/envsetup.sh脚本文件mmm命令才可以被使用
命令mmm的用法可以通过-help来查看
单独编译Android应用程序模块
USER@MACHINE:
~/Android$mmm./packages/experimental/HelloAndroid
重新打包Android系统镜像文件
USER@MACHINE:
~Android$makesnod
执行emulator命令启动Android模拟器在应用程序启动器中可以看到刚刚应用程序的快捷图标点击软件正常运行OK
修改架构和交叉编译链
查看交叉编译工具所在目录
makegoldfish_defconfig
内核编译成功
emulator带参数启动&表示在后台启动Android模拟器 目的为了可以在同一终端下使用adb命令
命令emulator带参数-kernel以指定Android模拟器所使用的内核镜像文件
验证是否为自己编译的内核
Linuxversion2.6.29(devwang@devwang-desktop)(gccversion4.4.3(GCC))#2SunJan2516:
53:
55HKT2015
果然是的很高兴有木有
在linux下的Android应用程序工程一般包含有一个源代码目录src一个资源目录res一个配置文件AndroidManifes.xml和一个编译脚本文件Android.mk
遇到的问题AndroidManifest
XX参考解决方法:
如果Makefile出现:
make:
***Noruletomaketarget`‘,neededbyxxx.Stop.
的错误,那么基本上都是属于找不到所依赖的文件所导致的,所以应该去:
检测确保,所依赖的文件,是否真实存在。
很可能,很常见的一个现象就是,此处的,误写了多余的空格,导致被视为依赖文件,导致找不到,导致报此错误。
解决办法就很简单,去掉多余的空格即可
我这里的错误是应为单词拼写错了AndroidManifest我写成了AndroidMainfest
使mmm命令可用
mmm -help
遇到的问题dimen
遇到的问题theme
执行mmm命令
mmm成功
makesnod
makesnod成功
在应用程序启动器中可以看到刚刚应用程序的快捷图标
远行HelloAndroid
有HelloAndroid软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 Android 内核 源码
![提示](https://static.bdocx.com/images/bang_tan.gif)