- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何编写Android系统应用-CSDN
Author:仝利 447244985@ 安卓源码编译及开发 Linux内核及驱动简析 点击添加文本 点击添加文本 点击添加文本 点击添加文本 目录 内核编译 源码开发 内核开发 源码编译 点击添加文本 点击添加文本 点击添加文本 点击添加文本 源码编译 一.环境配置 1. Linux,官方推荐的是ubuntu14.04 JDK: JDK5或者JDK6下进行 2.源码下载 官方源码 /source/initializing.html 使用git下载或者官方推荐的repo方式来下载。区别是repo可以支持断点续传! 3.编译源码 执行命令: # source build/envsetup.sh 点击添加文本 点击添加文本 点击添加文本 点击添加文本 源码编译 注意:在编译之前需要设置编译的目标,就是为哪些设备编译安卓源代码。 比如要让编译后的目标文件在Android模拟器或者Android设备上运行,可以执行下面的命令。 # lunch full-eng 如有其它需要,执行lunch命令,能显示当前支持的所有目标。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 源码编译 最后在Android源代码根目录直接执行make命令编译整个Android源代码。 如果是多核cpu,执行如下命令。 # make –j4 注意:如果CPU只有4核,使用上面的命令会成系统运行缓慢,无法处理其他任务的情况。 从下载完源码,到编译成功,一般需要1天的时间。 编译完后,在Android根目录生成一个out目录,编译生成的目标文件都在该目录的相应子目录。 最主要的三个镜像文件:ramdisk.img system.img userdata.img 点击添加文本 点击添加文本 点击添加文本 点击添加文本 Linux内核源码编译 官方发布的内核源代码支持的所有设备: 1.安卓模拟器 2.Nexus One 3.Nexus S 4.Nexus 4 5.熊猫版 6.Galaxy Nexus 7.Nexus 7 8.Nexus 10 9.Xoom 下载Linux内核源代码:谷歌目前提供了7套Linux内核源代码 # git clone /kernel/common.git # git clone /kernel/exynos.git …… 如果是其他设备,只能到相应的厂商的官方网站下载Linux内核源码。理论上讲,Linux内核基于GPL协议,所有厂商都应该遵守。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 Linux内核源码编译 编译Linux内核源代码: 进入代码根目录,执行如下命令设置必要环境变量。 设置交叉编译器编译命令的路径: # export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH 告诉Linux内核要为ARM架构的设备生成Linux内核 # export ARCH=arm 设置交叉编译器的前缀 # export CROSS_COMPILE=arm-eabi- 最后执行make命令即可完美编译Linux内核源代码! 完整的编译时间大概是20分钟左右。编译完之后,就会在根目录/arch/arm/boot目录下生成一个zImage文件。这就是Linux内核的二进制版本。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 提取ROOT权限 一:什么是ROM Read-Only Memory ROM是安卓只读的那部分目录。如/sysem/app等。由于这部分目录主要存储的是Android OS的系统文件,所以经常用ROM表示Android系统的刷机包。 二:ROM的种类 官方的ROM:手机厂商发布的ROM 第三方的ROM:由一些网友或者组织,企业定制的,成分比较复杂。 刷ROM通常有两种方式,recoveryh和bootloader。只是recovery是脱离PC来操作,后者使用Android设备通过USB线连接PC,通过fastboot命令刷机,传说中的高级刷机方式。 三:提取ROOT权限 原理:linux中的su命令。在Android源代码中已经包含了专门用于Android系统的su命令,默认的root密码问空,所以执行su命令后,可以使当前的Shell拥有root权限。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 提取ROOT权限
文档评论(0)